二,HelloWorld 及源码关联 & Manifest 类关联
来源:互联网 发布:如何看淘宝买家信誉 编辑:程序博客网 时间:2024/06/05 02:09
1.构建一个helloworld的android程序非常简单,直接new 一个android的项目,直接运行,一个helloworld的项目就完成了。这一篇主要详细讲一下android的项目目录结构以及源码关联。看图:
相对于J2EE项目结构的灵活,Android项目的结构显得比较固定,只要你弄清楚每个资源文件里面该放什么东西,就不会出现J2EE中,资源放错地方not found的问题。当然两者的相同之处还是很明显的,android项目中围绕着四大组件构建起来的业务逻辑,在JavaEE中你可以看作是Servlet或者SSH,每一个组件或者每一个框架都负责处理属于自己的东西。AndroidManifest.xml可以看做是web.xml。
src :包含应用程序的所有源代码
gen :gen下面的R类是自动生成的,这是一个非常顽强的类即使把它删除也会自动创建。这个类里面 包含很多内部类,每个内部类对应相应的资源文件。
public final class R { public static final class attr {}//此类对应res资源包下的drawablepublic static final class drawable {//每一张图片都会生成一个唯一的整型标识符 public static final int icon=0x7f020000;}//此类对应布局文件layoutpublic static final class layout {//位布局文件生成的对应的标识符 public static final int main=0x7f030000;}//对应values资源包主要用于国际化public static final class string {//为不同的字符串生成相对应的标识符 public static final int app_name=0x7f040001; public static final int hello=0x7f040000; }}
assets: 可以存放一些其他,额外的文件或者资源
res:资源文件包 drawable用于存放图片资源,layout用于存放布局文件,values用于存放程序所
需文字资源。着重说一下drawable,在之前的版本中,只有一个drawable,而2.1版本之后(包括 2.1)出现了drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
他们的主要区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
AndroidManifest.xml:应用程序的描述文件,此文件定义应用程序的Activity,ContentProvider,Service,receiver以及意图过滤器。还定义了应用程序所需要的权限等等。
Default.properties:主要定义了应用程序最低的兼容版本。
Proguard.cfg:主要用于优化,压缩,混淆java字节码文件的工具。
2,开发中经常需要扩展或者自定义某些功能,这就需要对源代码有一些深入的了解。目前android 除了支持平板的3.0以上的版本源码还没有开放。其余版本都可以下载到。说一下如何关联源码。例如我关联android2.2版本的。
然后在Eclipse上新建一个android的程序,右键→properties→Java Buid Path
此时源码已经关联好了,但是还有一个类无法找到。Manifest.java 权限的清单文件。这个类定义了所有需要用到的权限。
重启Eclipse,查找一下该类,看下是否关联上!
- 二,HelloWorld 及源码关联 & Manifest 类关联
- HelloWorld 及源码关联 & Manifest 类关联
- HelloWorld 及源码关联 & Manifest 类关联
- (2)Android入门——HelloWorld 及源码关联 & Manifest 类关联
- 关联源码
- 关联源码
- 关联源码
- spark关联源码及远程调试设置
- Mybatis源码分析--关联表查询及延迟加载原理(二)
- 关联类及如何在语言级别实现多元关联
- 关联
- 关联
- 关联
- 关联
- 关联
- 关联
- Tomcat关联源码
- eclipse关联android源码
- 防止内存泄露 Linux下用Valgrind做检查
- 程序员常犯的5个非技术性错误-转
- javascript中的逻辑操作符
- 敏捷开发绩效管理之六:敏捷开发生产率(中)(功能点分析,FPA,简化的功能点)
- ubuntu安装deb,rpm安装包方法
- 二,HelloWorld 及源码关联 & Manifest 类关联
- Debian 自带的Emacs不能打开手册
- 敏捷开发绩效管理之七:敏捷开发生产率(下)(简化功能点分析,NESMA,两级简化)
- DateTime.UtcNow.ToString(DateFormat) 时间格式化问题
- 关于采用matlab进行指定非线性方程拟合的问题(1)
- 将数字金额转化为汉字大写
- 硬件靠积累,软件靠更新
- Delphi数据类型列表
- Android与iPhone的对比