在Android中处理一个核心项目及其派生的多个项目
我已经四处搜索,找到了一些东西,但我仍然不确定我是否完全理解,所以我要求你们澄清 以下是我需要的:在Android中处理一个核心项目及其派生的多个项目,android,eclipse,core,library-project,Android,Eclipse,Core,Library Project,我已经四处搜索,找到了一些东西,但我仍然不确定我是否完全理解,所以我要求你们澄清 以下是我需要的: 有一个具有特定功能的项目:查询web服务,在不同视图中显示结果 第二个、第三个和第四个项目的功能与第一个项目完全相同,但只有不同的图形元素,如启动屏幕图像、图标、名称和软件包名称 因此,我有了带有活动和功能的ProjectCore。带有汽车图标和splashscreen汽车图像的Project1。带有飞机图标和飞溅屏幕的飞机图像的Project2。差不多吧。每个项目都有一个带有常量的类,如“a
- 有一个具有特定功能的项目:查询web服务,在不同视图中显示结果
- 第二个、第三个和第四个项目的功能与第一个项目完全相同,但只有不同的图形元素,如启动屏幕图像、图标、名称和软件包名称
ProjectCore
。带有汽车图标和splashscreen汽车图像的Project1。带有飞机图标和飞溅屏幕的飞机图像的Project2。差不多吧。每个项目都有一个带有常量的类,如“appId、appName、appServerURL”…所有web服务调用、数据显示都在核心中,因为所有项目都是相同的,只是读取常量类
我在考虑这种方法
public class C {
public static String SomeConstant = "Project core!";
}
问题来了,我需要在Project1和Project2之间有不同的常量值。因为在Core project上,类位于com.domain.Core.utils中。例如,我不能在Project1和Project2中添加相同的包。我如何添加类,以便更新它们的值,并在每个具有特定值的项目上使用它们
public class C {
public static String SomeConstant = "Project 1 constant!";
}
public class C {
public static String SomeConstant = "Project 2 constant!";
}
谢谢!是的。图书馆项目非常适合这样做,尤其是在资源不同的情况下。我已经使用了您成功概述的方法…是的,这应该很好。我做了一些类似的事情,我发现有时您可能会在某些情况下希望从图书馆项目调用应用程序应用程序项目。在这些情况下,我使用了库项目中定义但在应用程序项目中实现的接口/抽象类…您希望在库项目中创建功能,然后让所有品牌/OEM/第三方项目从此扩展,必要时覆盖图像和字符串资源 当您需要使用“常量”时,您应该让代码的单个“运行一次”部分(如启动屏幕)从资源文件加载以下字符串:
public static final String CONSTANT_ONE;
public void onCreate() { CONSTANT_ONE = getResources().getString(R.String.CONSTANT_ONE); }
编辑
我不确定在
onCreate()
上初始化最终值将如何执行。如果final
工作不正常,并且您担心在程序执行期间更改变量,则将变量设为private
(以便只有该类可以分配给它),然后创建一个公共静态字符串getConstantOne()
函数。作为替代,值得一读。哈哈,我叫mine CoreLibrary;)