我已经四处搜寻,找到了一些东西,但我仍然不确定我完全理解,所以我要求你澄清。
我需要的是:
因此,我有带有活动和功能的ProjectCore。Project1有一个汽车图标和汽车图像为闪屏。带有飞机图标和飞机图像的Project2。差不多吧。每个项目都有一个常量为‘’appId,appName,appServerURL‘的类.所有的web服务调用、数据显示都在Core中,因为所有项目都是相同的,只有从常量类读取。
我在想这种方法
相同的原则放置
这种做法会有效吗?
谢谢。
,稍后编辑。,我已经尝试过了,如前所述。例如,在核心项目中,我绘制了一个名为splash.png的文件。在Project1 1和Project1 2的可绘制文件夹中,我将spash.png文件与其他图像放在一起。这个很好用。在我的手机上运行Project1和Project2,用自己的图像启动每个应用程序。到目前一切尚好。
然后,由于我需要在我的应用程序中使用不同的常量,所以我进入了Core库项目并添加了:
public class C {
public static String SomeConstant = "Project core!";
}问题来了,我需要在Project1和Project2之间有不同的常量值。因为在核心项目中,类例如在com.domain.core.utils中.我不能在Project1和Project2中添加相同的包。如何添加类,以便更新它们的值,并在每个项目中使用particlar值?
public class C {
public static String SomeConstant = "Project 1 constant!";
}
public class C {
public static String SomeConstant = "Project 2 constant!";
}谢谢!
发布于 2012-03-23 10:40:22
您希望在Library项目中创建功能,然后将所有品牌/OEM/3 3rdParty项目扩展到此,必要时覆盖图像和字符串资源。
当您需要使用“常量”时,您应该让代码中的单个“运行一次”部分(例如启动屏幕)从资源文件中加载这些字符串:
public static final String CONSTANT_ONE;
public void onCreate() { CONSTANT_ONE = getResources().getString(R.String.CONSTANT_ONE); }编辑
我不确定在onCreate()上初始化最终值将如何执行。如果final不能很好地工作,并且您担心在程序执行期间更改变量,那么就让变量private (所以只有这个类可以分配给它),然后创建一个public static String getConstantOne()函数。
发布于 2012-03-22 19:26:35
是。库项目对此非常理想,尤其是在资源不同的情况下。我用了你成功描述的方法.
发布于 2012-03-22 19:35:14
是的,应该可以用。我做了一些类似的事情,我发现偶尔您可能会遇到一些情况,您希望从库项目中调用应用程序项目。在这些情况下,我使用了在库项目中定义的接口/抽象类,但在应用程序项目中实现了.
https://stackoverflow.com/questions/9828105
复制相似问题