创建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)原创,转载请注明出处
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)原创,转载请注明出处
相关文章推荐
- 有了这些免费无限次的API 接口,再也不愁没有服务器开发不了APP了,也可以自己开发小程序了
- iOS开发笔记--OC工程中调用不了Swift代码
- 有了这些免费无限次的API 接口,再也不愁没有服务器开发不了APP了,也可以自己开发小程序了
- IOS开发之Xcode下使用多target, 让同一份代码,一个工程 Project 管理多个app
- 收集各种 iOS App 开发可以用到的代码示例
- Volley框架的搭建,可以直接用到自己的APP中(参考别人的代码搭建的)
- 如何使用网页开发自己的app,在网页中的按钮与自己的java代码绑定来实现打电话即javascript代码调用java代码,和java代码来调用javascript代码
- .Net语言 APP开发平台——Smobiler学习日志:如何调用API进行短信发送
- HDFS的API调用,创建Maven工程,创建一个非Maven工程,HDFS客户端操作数据代码示例,文件方式操作和流式操作
- 收集各种 iOS App 开发可以用到的代码示例
- 收集各种 iOS App 开发可以用到的代码示例
- 安卓开发 调用app发送邮件代码
- PHP7.0微信公众平台开发3: API接口的调用代码模板
- 【windows8开发】现有代码移植到Metro App所必须的API整合
- 【windows8开发】现有代码移植到Metro App所必须的API整合
- deepMind Lab 可以调用的python API 文档 ,从deepMindlab的代码上直接复制粘贴的,方便今后查看。
- html中有一段公用的代码。在多个页面用到。是否可以将他做成公用代码?怎么调用?
- C# 调用 Google Earth Com API开发(四)
- 微信公众平台java开发详解(工程代码+解析)
- iOS攻防 - (一)Reveal 调试别人开发的app,如微信