2011-12-27 51 views
0

我有一个Android项目,我想“克隆”第二个类似的项目,只有一个文件不同:它是sqlite数据库(assets/mydata.sql)。实现一个Android库项目

我打开源项目(reslib)到库中,并把它添加到我的克隆项目的属性

事情是,我(来源项目下的“库项目”作为reslib.jar显示出来)我不确定如何启动源项目中的主要活动。源项目的主要活动设置了一个TabHost。如何从我的克隆项目启动到源项目的主要活动?我开始将代码粘贴到“cloneActivity.java”中以启动TabHost,但后来想知道是否有更好的方法。

+0

你选择图书馆的具体原因是什么?这两个项目是相互依存的吗?如果没有,为什么不重命名项目和更改所需的文件?当你上传到市场时,无论如何这将是新的APK对吗? – kosa 2011-12-27 17:09:15

+0

我正在尝试在项目之间共享代码。制作一个共享公共库(项目)是我能找到的在两个项目之间创建共享代码库的唯一途径。 – wufoo 2011-12-27 18:02:09

+0

然后,我很抱歉,我没有任何答案。就我而言,我维护了两个源代码库。顺便让我添加额外的功能,其中一个应用程序是其他人不需要的。我强烈建议你也一样。谁知道,将来你可能会面临同样的情况。 – kosa 2011-12-27 19:06:06

回答

1

这样做很简单。在依赖项目的清单中,您需要将源项目的活动指定为要启动的项目。

假设您的源项目包名为com.example.source,您的相关项目的包名称为com.example.dependent,并且源项目中的主要活动为MainActivity.java

然后在AndroidManifest.xml中的相关项目,你会像下面这样:

<application 
    android:icon="@drawable/logo" > 
    <activity 
    android:name="com.example.source.MainActivity" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
    </activity> 

    <!-- possibly lots more activities and other declarations --> 

</application> 

注意事项:在清单为您的源项目和相关项目,必须进行确保列出所有活动,权限等。如果稍后您将活动添加到源项目中,则需要记住将其添加到依赖项目的清单中。

另外,您需要将源项目的资产目录中的任何内容复制到依赖项目—,并且不要忘记保持同步。 (这是真实的截至2012年6月,我听说了一些未来的Android编译工具版本将有可能缓解这个头痛的问题。

最后,如果你使用Eclipse创建项目,它会创建默认布局main.xml。由于从属项目中的资源会覆盖源项目中的资源,因此请确保这不会让您感到不安。

+0

谢谢!我最终在依赖项目中创建了一个活动,该项目在库项目中启动了启动Activity。不是最好的,但我能够在当时弄清楚。我更喜欢这种方式! – wufoo 2012-06-28 20:50:53

相关问题