android学习16——library project的使用
library project和普通的project没有区别.用如下命令新建的一个工程.
android create project --target 3 --name MyActivity --path ./MyLib --activity MyActivity --package edu.cgxy.mylib
在project.properties中添加
android.library=true
这行代码标记了这个工程是library,可以被别的工程引用.
定义一个View.代码如下:
public class MyView extends View {
private Paint paint = new Paint();
public MyView(Context context) {
super(context);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onDraw(Canvas canvas) {
paint.setColor(Color.GREEN);
canvas.drawRect(0, 0, 200, 200, paint);
}
}
这个View很简单.画一个绿色的正方形.
用如下命令编译.
ant debug
再建一个project来引用这个library project.命令如下:
android create project --target 3 --name MyActivity --path ./MyApp --activity MyActivity --package edu.cgxy.myapp
在project.properties中添加如下代码
android.library.reference.1=../MyLib
表示引用上个library project.
下面代码使用上面的library project.
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
}
}
用如下命令编译.
ant debug
可以生成apk.
为了帮助理解整个过程.上面整个过程用的命令行.下面讨论如何把上面的2个工程导入idea中.
1.用idea新建一个project.
2.点File-Import module选中MyLib,之后再选"Create module from existing sources",之后一路下一步可以导入成功.
3.选中MyLib.按F4,打开Project structure.选中Modules,选中MyLib,选中下面的Android,再勾选上面的Library module
4.用和第2步相同的方法导入MyApp
5.选中MyApp.按F4,打开Project structure.选中Modules,选中MyApp,再选右边的Dependencies,点添加,选Module dependency,把MyLib增加进去.
这样就可以在idea中运行.
参考资料:.
http://developer.android.com/tools/projects/projects-cmdline.html
android学习16——library project的使用的更多相关文章
- Android 创建Library Project(库项目)与引用操作
由于在开发过程,为了实现未曾了解的某种效果与特定功能,而求助于网上优秀的开源项目,在使用过程中发现引用开源的Library Project(库项目),的确可以解决很多问题,而且也给出了一种思路,好的软 ...
- Android Library Project 使用问题总结
1. 当新建Android Library Project 工程或将已有工程转化为Android Library Project, 如果工程源代码中有如下语句: int id = view.getId ...
- 解决android引用library project错误
在andriod项目中引用另一个library project时,报 The container 'Android Dependencies' references non existing libr ...
- How to create jar for Android Library Project
http://stackoverflow.com/questions/17063826/how-to-create-jar-for-android-library-project This works ...
- Android 引用library project
1.如何将一个android工程作为库工程(library project) library project是作为jar包被其它android工程使用的,首先它也是普通的android工程.然后: 1 ...
- 解决windows下eclipse中android项目关联android library project
关于 在项目中导入 关联 library project 的问题,有时候会出现如下状况 在windows系统下,library project必须和project处于相同的盘符中 如果在不同盘符,pr ...
- Android Design Support Library: 学习CoordinatorLayout
简述 CoordinatorLayout字面意思是"协调器布局",它是Design Support Library中提供的一个超级帧布局,帮助我们实现Material Design ...
- Android学习之Design Support Library中TextInputLayout的使用
今天学习了一个Android Design Support Library 中的TextInputLayout控件,感觉还不错,较之以往的Editetxt,多了几分灵活性,使用也非常easy,故此给大 ...
- 转:解决windows下eclipse中android项目关联android library project失败问题
近日,在做一个人人的第三方小项目.打算直接使用renren 的sdk 进行开发.因为renren的sdk是以android library project 形式发布的(关于这种project的内容可以 ...
随机推荐
- mongodb更新数据
1. 获取当前时间: Calendar.getInstance().getTime(); 2. 更新数据: public void updateProcessLandLog(ProcessLandLo ...
- 快速搭建LNMP
[centos 6.4 server]系统安装请参考:http://blog.zhuyin.org/748.html1.防火墙设置: iptables -F service iptables save ...
- c++初学(电梯实验加强版)
Elevator.h class Elevator{public: Elevator(); ~Elevator(); void getNowNum(); void Se ...
- [HNOI2004]Language L语言
2777: [HNOI2004]Language L语言 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 10 Solved: 5[Submit][S ...
- UVa 10148 - Advertisement
题目大意:有一些广告牌,为了使跑步者看到固定数量的广告,设计所需租用的最少数量的广告牌. 其实就是区间选点问题:数轴上有n个区间[ai, bi],取尽量少的点,使得每一个区间都至少有一个点.首先对区间 ...
- osgEarth学习笔记(转载)
osgEarth学习笔记1. 通过earth文件创建图层时,可以指定多个影像数据源和多个高程数据源,数据源的顺序决定渲染顺序,在earth文件中处于最前的在渲染时处于最底层渲染:所以如果 ...
- SQL之left join、right join、inner join
创建表(Create table): CREATE TABLE A ( Id INT PRIMARY KEY, Name VARCHAR(20) NOT NULL); CREATE TABLE B ( ...
- js模块化开发——require.js的实战写法1
关于在Require.js使用一个JS插件的问题 我需要在项目中引用一个js控件,这个控件依赖于a.js,b.js,c.js,.....n.js N多个js以及jquery及jquery-ui,各js ...
- SQL 2005 安装数据库镜像教程
最近在搞在SQL 2005安装数据库镜像,中间遇到不少的错误,在此归纳总结,以方便有需要的朋友参考. 直接上脚本,主机部分: ---修改数据库为完整恢复模式USE master;ALTER DATAB ...
- paramiko库安装
python的paramiko库用于执行ssh2连接(client和server).安装方式如下: 硬件环境:Raspberry 2B,arm,1GB RAM,16GB TF卡; 系统环境:Linux ...