(Applications)应用程序层:提供一些核心应用程序包,如短信客户端程序、电话拨号程序,Web浏览器、日历、闹钟等。(均用Java语言编写)
(Application Framework)应用程序框架层:主要提供构建应用程序时用到的各种API。例如,活动管理器、窗体管理器、内容提供者、资源管理器等。(简化代码编写、提高程序复用性)
(Libraries)系统库:是Application Framework 的支撑,Android提供了一个C/C++库,为Android系统提供主要的特性支持。(例如包含有SQLite嵌入式数据库引擎,WebKit提供浏览器内核的支持,Media Framework多媒体库,支持多种常用的音频、视频格式的录制和回放)
(Android Runtime)Android运行时:包含核心库和Dalvik虚拟机两部分,核心库中提供了Java语言核心库中包含的部分功能,虚拟机负责运行程序。Dalvik虚拟机专门针对移动设备进行编写,不仅效率更高,而且可以用更少的内存,
(Linux Kernel)Linux内核:Android平台使用Linux2.6版内核提供的核心系统服务,包括安全性、内存管理、进程管理等。(抽象层、提供底层驱动)
Jvm 基于栈结构 运行的是java字节码
dalvik vm 基于寄存器结构 运行的是专有文件格式dex
Dalvik 虚拟机编译文件过程
四大组件: 活动、服务、广播接收者、内容提供者。
系统控件: 程序界面。
SQLLite数据库: 轻量级、运算速度快,可通过API进行操作。
网络编程: 应用对网络访问,信息实时交互、移动办公、电子商务等复杂逻辑。
多媒体: 娱乐设施。
App目录: 包含项目代码资源、后续开发在此
Build.gradle: 项目全局构建脚本
Local.properties: 指定android
Settings.gradle:指定引入模块
Build:包含编译是自动生成的文件(无需操作)
Libs:存放项目中使用到的第三方jar包(如解析Json串时用到了第三方插件Gson,可将Gson,jar文件复制到libs目录)
Src:存放项目源码以及项目中使用的资源
Build.gradle:app模块gradle构建脚本,指定构建项目相关的配置,文件有两大块(android闭包和dependencies闭包)
Java:放置java代码
Res:存放资源,drawable储存图片文件、mipmap存放图标文件、layout存放布局文件、values存放字符串、样式、颜色等
Androidmanifest.Xml:项目清单文件
1、 图片资源:png、jpg、gif、(一般图标存多种分辨率)
引用代码
java:
getResources().getDrawable(R.mipmap.ic_launcher)
Xml
android:background=”@mipmap/ic_launcher”
2、布局资源:搭建程序中的各个界面,存放在res/layout
引用代码
Java:
setContentView(R.layout.activity_main);
xml
3、字符串资源:在res/values目录中strings,xml
字符串
引用代码
Java:
R.string.str_name
Xml:
@string/str_name
4、样式资源在styles.xml
引用代码
5、颜色资源:colors.xml
#3F51B5
引用代码:
java代码
getResources().getColor(R.color.colorPrimary)
xml代码
Android:textColor="@color/colorPrimay"