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

Android基本知识

2015-12-25 21:29 483 查看
1. Dalvik VM和传统JVM的区别

 传统JVM

编写.java文件  编译为.class文件  打包成.jar文件

 Dalvik VM

编写.java文件  编译为.class文件  打包成.dex文件  打包成.apk文件



2.安卓架构图



3. 程序启动过程

 Eclipse将.java源文件编译成.class

 dx工具将所有.class文件转换为.dex文件

 再将.dex文件和所有资源打包成.apk文件

 将.apk文件安装到虚拟机,存储在/data/app目录下

 启动程序,开启进程

 根据AndroidManifest.xml文件找到MainActivity类,创建Activity

 Activity创建后执行onCreate(Bundle)方法,根据R.layout.activity_main构建界面

 R.layout.activity_main是R类中的一个成员变量,指向res/layout/activity_main.xml文件

 activity_main.xml文件中描述了Activity的布局方式以及界面组件

 解析activity_main.xml,通过反射创建对象,生成界面

4.  工程目录结构

Ÿ    
src:源代码

如果最初选择创建Activity,会有一个Activity的子类

Ÿ    
gen:系统自动生成的文件

R.java 中记录了项目中各种资源ID

BuildConfig.java标记项目是否可以Debug

Ÿ     
Android 4.2.2

当前工程所使用的SDK类库

Ÿ     
Android Private Libraries

用来支持各个版本的类库

Ÿ    
assets:资源文件

不会在R文件注册,原封不动发布

Ÿ    
bin:编译后的二进制文件

包括class、资源文件、dex、apk、清单文件等

Ÿ     
libs:工程中使用的库

默认带有版本支持的类库

Ÿ    
res:系统资源,所有文件都会在R文件生成资源ID

drawable:图片

layout:界面布局

menu:菜单

values:字符串、样式等数据

anim:动画

raw:原生文件

Ÿ     AndroidManifest.xml:清单文件

Android中的四大组件(Activity、ContentProvider、BroadcastReceiver、Service)都需要在该文件中注册

程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡

Ÿ    
proguard.cfg:

用来混淆代码的配置文件,防止别人反编译

Ÿ    
project.properties:

标记该项目使用SDK版本号,早期版本名为:default.properties
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android dalvik 架构