您的位置:首页 > 移动开发 > Android开发

创建Android library工程可以reuse代码,也可当作公用api给别人开发app调用

2012-07-10 22:44 393 查看
我在csdn论坛上提了个问题

Q:我要提供一个服务,打算想做成一个api的形式。就是当别人开发的app时,调一下我的函数就会实现某个功能

A:提供一个服务,你是要写service吗?如果是service,就用binder吧。

如果是单纯的想做一个java层的lib,就在eclispe中, 把project的属性设置为 is library.

如果是native层的,就是用c/c++开发的库,就要用ndk。

http://topic.csdn.net/u/20120710/19/599b8048-f80d-4900-845a-7b1fc845111c.html?85403

打算用第二种方法,然后在网上搜出以下文章

以下内容转自:

/article/11759885.html

创建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);

}

}

本文由Vincent (vincent@devdiv.com)原创,转载请注明出处
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐