Eclipse中Android公共库的正确建立及调用方法(转)

自http://www.cnblogs.com/SkyD/archive/2011/09/01/2161502.html

引言


之前一直头痛于没有办法在多个程序中共享资源,用作公共类库的方法也是使用的导出jar再导入的办法,现在终于初步搞明白了,可算解脱了~,分享出来。

建立公共库


首先建立公共库的Android项目,名为MyCoreLib:

完成后在左侧包浏览器里右键点选我们新建的这个项目,选择Properties项:

左侧选择Android分类,右侧勾选Is Library选项:

完成后在包资源管理器中删除默认生成的资源,以避免以后被引用时冲突:

打开AndroidManifest.xml,删除下图中红色部分代码:

添加测试用资源


至此初始的空库就建立完成了,现在我们来添加一个资源以供其他程序使用,我在这里仅添加了一个名为libName的字符串资源:

建立测试项目并引入公共库


现在新建一个名为LibTest的项目来尝试调用公共库:

还是右键点选项目,选择Properties:

还是左边选择Android分类,右边点击Add按钮选择以添加MyCoreLib类库到项目:

完成后即添加到项目中来了:

此时还能看到gen目录下也已经有MyCoreLib的包名及其资源ID了:

但此时你会发现字符串资源里莫名其妙多出两个之前已经删除的资源,这其实是因为此时已将引用的资源与程序默认包里的资源混编在一起了,你可以看到上面默认包里的资源ID和下面这里也是一模一样的。

换言之,你可以以使用本地资源的方式直接调用引用来的资源。

测试调用公共库的资源


比如在AndroidManifest.xml里这样修改:

在java代码中也同样是使用调用默认资源的方式直接调用即可,当然也可以显示加入公共库的包名以调用;但加入显示包名的方法在XML文件中行不通,多次尝试都提示找不到资源,也就是说在XML中只能以调用默认包资源的方式调用公共库资源。

编译并运行效果:

可以看到之前我们在公共库中设置的资源内容被正确显示出来了。

结语


这种调用方式不只是使资源调用成为可能,公共代码在编辑起来也比jar方式方便许多,非常实用。

之前网上寻找此方法许久都没获知,此时突然想起参考Scoreloop的引用方法,总算将其搞明白了。

Eclipse中Android公共库的正确建立及调用方法(转),布布扣,bubuko.com

时间: 2024-10-06 10:00:24

Eclipse中Android公共库的正确建立及调用方法(转)的相关文章

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类

Android公共库--图片缓存 网络缓存 下拉及底部更多ListView 公共类 转载自http://www.trinea.cn/android/android-common-lib/ 介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存.网络缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工具类(网络.下载.shell.文件.json等等). TrineaAndroidCommon已开源,地

Android 开源项目android-open-project工具库解析之(一) 依赖注入,图片缓存,网络相关,数据库orm工具包,Android公共库

一.依赖注入DI 通过依赖注入减少View.服务.资源简化初始化,事件绑定等重复繁琐工作 AndroidAnnotations(Code Diet) android快速开发框架 项目地址:https://github.com/excilys/androidannotations 文档介绍:https://github.com/excilys/androidannotations/wiki 官网网址:http://androidannotations.org/ 特点:(1) 依赖注入:包括view

【Java/Android性能优 7】Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类

本文转自:http://www.trinea.cn/android/android-common-lib/ 介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存.网络缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工具类(网络.下载.shell.文件.json等等). TrineaAndroidCommon已开源,地址为[email protected],欢迎Star或Fork^_* 示例APK

phonegap 开发指南系列(3) ----在Eclipse中Android开发环境搭建

  前提条件:已在Eclipse中安装好Android SDK 和 ADT. 1.下载PhoneGap,解压. 2.用Eclipse新建一个安卓项目. 3.将phoneGap解压包里的Android文件夹下的phonegap-1.0.0.js 复制到安卓项目的 /assets/www/ 目录下. 4.将phoneGap解压包里的Android文件夹下的phonegap-1.0.0.jar 复制到安卓项目的 /libs 目录下. 5.在/assets/www/目录下新建一个index.html,内

eclipse中android工程中目录结构

虽然google推出了android stutio替代eclipse,但是目前eclipse的使用量还是非常的大.在这里把eclipse中android工程目录结构列下,便于初学者学习: src: 存放java代码 gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的id project.properties: 指定当前工程采用的开发工具包的版本 libs: 当前工程所依赖的jar包. assets: 放置一些程序所需要的媒体文件. bin: 工程的编译目录. 存放一些编译

eclipse中Android插件问题

问题描述: 提示An error occurred while automatically activating bundle com.android.ide.eclipse.adt 好久没在eclipse上写过安卓的程序,今天在eclipse上写代码时出现了eclipse的崩溃,重新打开就看到了 An error occurred while automatically activating bundle com.android.ide.eclipse.adt(感觉是安卓插件问题),重启ecl

Eclipse中Android SDK Manager无法下载的解决办法

在网上参考了好多在eclipse中下载android sdk相关配置的方法,但基本都不能完全符合,遂将我的配置分享出来: (1)找到以下目录:C:\Windows\System32\drivers\etc\,用记事本打开hosts文件,如下图: 插入红框中的内容,如下, 127.0.0.1       localhost ::1             localhost (2)在Eclipse菜单的Window选项中打开Android SDK Manager,如下图: 可以看到图中左上角菜单中

Eclipse中jvm运行库的Access restriction问题的解决方法

今天在写代码的时候遇到了jre system libraries的访问限制问题,该库是jvm运行的依赖库rt.jar,解决方案如下: 步骤: (1)项目右击,出现Build Path,点击进入Java Build Path配置,点击Libraries中的JRE Syatem Library,如下图所示: (2)点击Access rules,可自定义jvm运行库的访问规则,如下图所示: (3)点击上图中的Add添加访问规则,添加如下图所示: (4)点击ok,这时jvm的访问规则就添加好了 现在,就

eclipse中Android模拟器,DDMS看不到设备

在eclipse中启动模拟器AVD后,刚启动的时候,在控制台会看到相关的设备,在DDMS中也会有设备列表,只不过是offline的,但等到完全启动开的时候,DDMS中什么也没有,而且用adb命令adb devices查看设备,也没有任何设备. 一般情况下,重启电脑就可解决.我要说的是不重启电脑的方法:1. 打开cmd命令行,切换到adb命令目录,如果你已经加入了环境变量,切换目录就省了. 2. 输入命令:adb kill-server,adb被杀死了. 3. 接着输入命令:adb start-s