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,通过反射创建对象,生成界面
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
传统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
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories