Android 引用外部项目库

Android 引用外部项目库笔记

  (2012-09-19 13:27:31)
标签: 

android

 

it

分类: Android
    项目中要集成其他项目由于集成项目庞大不想机械的copy,就想将集成的项目做成项目库,这样以后集成项目升级,本项目里面升级扩展也方便。
集成步骤和方法:
1.库项目的结构 一个库项目是一个包含了源码和资源的项目,它可以被其他的项目引用,从而让其他项目使用它包含的代码和资源。多个Android应用程序项目可以引用同一个库项目,同一个Android应用程序项目也可以引用多个库项目。

2.库项目创建和使用

库项目就是一个完整的android项目我们只需要配置一下他的lib属性就可以了就可以作为一个lib项目来使用。步骤:右键需要作为lib的项目---》Properties---》android----》

Library----在isLibrary的前面勾选复选框即可。

Android <wbr>引用外部项目库笔记

我们在其它android的项目中怎么使用库项目了?,也很简单:

跟上面的步骤一样,只是在Library中不是选择Is Library 而是 add 添加一个Lib项目

例:

Android <wbr>引用外部项目库笔记


lib项目中使用的过程中需要注意的事项 

在使用库项目的时候,因为Android项目结构及编译工具的特殊性,我们需要注意一些要点,列举如下:

      1.工作项目和库项目的资源名称,如果名称重复,编译器会优先使用工作项目(也称为子项目)的资源,这个特点在项目中也可以利用,比如自己想要替换资源文件的东西,只需要命名相同就可以了;

       2.无法将一个库项目导出为一个jar文件;

       3.库项目的Android系统版本必须等于或低于工作项目的系统版本;

    4.每一个库项目都会生成一个R文件,工作项目被编译时,将会合并工作项目和库项目的R文件,如果R文件中有常量同名,将使用工作项目R文件中的常量;如果引用了多个库项目,库项目中的R文件有常量重名,将根据库项目被引用的顺序来确定常量的使用优先级。


库项目使用的场景

库项目确实为重复代码代码带来了很大的好处。但是并不是什么情况下都是适用的,就像前面提到的适合做一些特定逻辑上的处理,比如新浪微博我们开发新浪的一些功能可以使用新浪微我们提供的lib项目,它里面主要封装了一些接口的操作。我们只需要调用就可以了,这种场景库项目来对指定的接口完成指定的事情。如果使用同一个lib项目时接口有很大的改变就不适合使用lib,因为在lib项目中封装的逻辑处理是不能改变的包括接口的调用。和异常的一些处理。我们必须之前做好足够的设计。在对各种android的控件定义格式的尽量使用style来完成,来方便不同子项目来调用同一个库项目修改控件属性的修改性。


最后说一下资源冲突问题有上面注意点:

1.工作项目和库项目的资源名称,如果名称重复,编译器会优先使用工作项目(也称为子项目)的资源,这个特点在项目中也可以利用,比如自己想要替换资源文件的东西,只需要命名相同就可以了;

我们知道本项目的优先级最高。但要注意一点的是string里面的国际化问题。一般集成的项目都很完善国际化分辨率什么的都支持,自然自己的项目就支持了这些功能,这样就会出现你在string里面定义了一个key跟项目库里面的key一样但结果值缺以项目库的为准的现象,为什么?因为手机去找value-zn(一般手机默认是语言是中文)的资源了,由于你本来项目里面没有国际化,所以自然去项目库里面找资源了,最容易出现的问题就是app_name总是项目库的名字。


还有一点要提醒的是
在清单文件中声明库组件
在应用项目的清单文件中,你必须加入应用使用、从库项目输出的所有组件的声明。例如,你必须声明全部的<activity>,<service>,<receiver>,<provider>等等,及<permission>,<uses-library>,和类似的元素。 必须通过它们的包全名来声明引用的库组件。简单的说就是 AndroidManifest.xml文件是要从项目库里面都copy过来的。copy过来的activity等标签包名要写全名例如:
<activity
    android:name="org.sipdroid.sipua.ui.InCallScreen"
   android:excludeFromRecents="true"
   android:label="@string/app_name"
   android:launchMode="singleInstance"
   android:taskAffinity="" >
</activity>

转载于:https://www.cnblogs.com/tanqiantot/archive/2013/01/06/3126830.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中添加外部可以通过将外部文件拷贝到项目的libs文件夹中来实现。这样做可以使得外部可以在项目中被引用和使用。另外,如果你需要在Android应用中使用数据,你可以通过以下步骤来准备和管理数据。首先,准备一个能够创建和管理数据的软件,例如SQLite Expert Professional或Navicat Premium。在这里以SQLite Expert Professional为例。然后,创建一个外部数据。最后,在需要使用数据的Activity中导入数据。你可以在该Activity中使用一个MyDatabaseHelper对象,并调用CopyDBFile()方法将数据文件导入到创建的文件中。 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [如何在 Android Studio 中添加外部?](https://blog.csdn.net/allway2/article/details/122457209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Android studio引入外部SQLite数据,获取数据列表数据](https://blog.csdn.net/NXBBC/article/details/123663345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值