[转载]android-library_东京大雪_新浪博客

[转载]android-library_东京大雪_新浪博客.

用eclipse开发的话,在工程右击-properties-Android最下面,有个Is library,选择后-apply确定,就是将此工程公开可以给别的工程使用,比如别的工程通过同样的步骤,在Is library旁边有个add按钮,点击后就可以将刚才选择了Is library的工程添加进来。那么你就可以在gen文件夹下面看到出现了一个新的包名,新的R文件,就是你选择Is library的包名以及R文件,你就可以通过使用那个共享工程的资源了。这个一般会使用在可以换肤的项目中或者是项目蛮大,有个工程专门用来存放资源,别的有4-5个工程都可以使用此共享资源。
另外一种就相当于链接库了:
可以链接jar包文件,工程右击-properties-Java Build Path-Libraries-Add JARs/Add library可以导入jar包供程序使用。

 

 

 

创建Android library,并且在工程中使用此library提供的资源,具体步骤如下:
1. 创建一个Android工程,命名为MyLib
2. 进入工程设置 properties-Android 选中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 {
   
    @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);
    }
}
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏