原文网址:http://www.cnblogs.com/Greenwood/archive/2011/06/19/2084499.html

摘要: 创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。 本文着重介绍如何创建Android library,并且在 ...

创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。
本文着重介绍如何创建Android library,并且在工程中使用此library提供的资源,具体步骤如下:
1. 创建一个Android工程,命名为MyLib
2. 进入工程设置选中Is Library

3. 创建另一个Android工程,命名为MyProj
4. 进入工程设置,添加MyLib

5. 在MyProj的AndroidManifest.xml中加入对library中activity的引用
<activity android:name="net.devdiv.mylib.MyLib" />
6. 由于编译后library中的资源和引用它的project资源是合并在一起的,为了避免重名问题,需要对library中资源进行重命名
1). 把main.xml改为mylib.xml,同时修改MyLib.java代码setContentView(R.layout.mylib);
2). strings.xml修改为
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="mylibhello">String fetched from lib!</string>
    <string name="mylib_app_name">MyLib</string>
</resources>
7. 在MyProj中引用MyLib的资源
package net.devdiv.myproj;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import net.devdiv.mylib.*;
import android.content.Intent;

public class MyProj extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView tv = (TextView)findViewById(R.id.myprojtext);
       tv.setText(R.string.mylibhello);
        
        Intent it = new Intent(this, MyLib.class);
        startActivity(it);
    }
}

最新文章

  1. python模块之collections
  2. java边界布局管理器
  3. Linux 系统Telnet服务
  4. React-用Jest测试
  5. Chrome插件:网页截图
  6. ThinkPHP函数详解:cache方法
  7. 发送验证码(&#215;&#215;s后重新发送)
  8. C#设计模式之十二享元模式(Flyweight)【结构型】
  9. 二叉树的递归遍历 The Falling Leaves UVa 699
  10. 查看centos版本及32还是64位
  11. Ubuntu 16.04 + ROS Kinetic 机器人操作系统学习镜像分享与使用安装说明
  12. jdk和tomcat环境配置
  13. JSon与字符串的转换
  14. Jenkins入门,介绍、安装
  15. docsify网站文档工具用法总结
  16. 使用zabbix监控oracle表空间
  17. 最小生成树 Prim Kruskal
  18. Gravitee.io 架构
  19. PL/SQL 日期时间类型函数及运算
  20. AngularJs -- 内置指令

热门文章

  1. CAN 和 CANopen的区别和联系
  2. QML 开发神奇加成之为网络资源设置本地缓存
  3. openURL
  4. Python基础语法04-数据结构
  5. 一种排序(nyoj8)(简单排序)
  6. 小程序 - Template
  7. Andrew Ng的机器学习视频文件夹(from coursera, 2014)
  8. ISC DHCP: Enterprise grade solution for configuration needs
  9. 《Unix网络编程》中的错误处理函数
  10. 浅谈JavaScript的事件(事件委托)