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的内容可以 ...
随机推荐
- jQuery源码学习(2):选择器初窥
选择器初窥 代码架构: jQuery选择器可以依照传入数据的类型分为五大类: 传入字符串:$("div"), $("#id"), $(".div1&q ...
- Microsoft Visual 的变态
Microsoft Visual 里面使用指针 的时候, 声明要放在函数开始的位置,否则报错,真变态啊 刚刚发现,C的变量必须在语块开始声明,后面声明会报错,太不灵活了
- R语言中的if-else语句写法
结构 1 : if() xx else yy 一行: 结构 2: if() {xx} else {yy} 或者 if(){ xx }else #此处不能两行写 ...
- FarPoint Spread ChildView子视图
有一种需求场景在很多地方都会用到,就是父子关系(头表和子表的关系),比如订单和订单明细. 做过winform的朋友第spread控件应该比较熟悉,或者了解.他的展示方式就通过一个关联关系就可以了,下面 ...
- Bonferroni校正法
Bonferroni校正:如果在同一数据集上同时检验n个独立的假设,那么用于每一假设的统计显著水平,应为仅检验一个假设时的显著水平的1/n http://baike.baidu.com/view/12 ...
- bzoj3991 [Sdoi2015]寻宝游戏 set动态维护虚树+树链求并
题目大意:支持多次操作,增加或删除一个关键点 动态维护虚树边权和*2 分析:可以用树链求并的方法,最后减去虚树的根到1距离 注意到树链求并是所有点到根距离-所有dfn序相邻两点的LCA到根距离 找df ...
- 如何在windows下载和安装Apache
进入apache服务器官网http://httpd.apache.org/,这里我们以下载稳定版的httpd 2.4.25为例,点击"Files for Microsoft Windows& ...
- http之head请求(转)
HTTP请求方法并不是只有GET和POST,只是最常用的.据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS.GET.HEAD.POST.PUT.DELETE.TR ...
- php绘图-报表
1.PHP报表的创建,通过绘图,过程 要先开启gb库, 可以使用jpgraph(绘图框架)快速制作一些图形 报表的作用:可以制作一些统计图,地形图,分布图等,还可以做验证码图片(通过在画布上加字和干扰 ...
- PHP5中PDO的入门教程
PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 5.5中,更是强烈推荐使用PDO来处理数据库,将把所有的数据库扩展移到了PECL,那么默认就是没有了我们喜爱的php_my ...