好久以前就想要学习Android编程,学习书也买了有很长一段时间,但一直到今天才开始下定决心认真学习。以后每天的学习内容都会整理成博客发表上来,希望能给其他人一些帮助,更多的是对自己的总结能力的一种锻炼。
Android的平台架构
有图可知,Android主要由四部分组成(也可以说是五部分):
1.应用程序层:包含了系列核心应用程序,如邮件客户端、SMS程序、日历等等,而我们所编写的应用程序就是处于这层;
2.应用架构层:我们编写Android应用程序上时,就是面向底层的应用程序框架进行的。应用程序框架为开发者提供了大量的API供其使用;
3.系统运行库层:在这层又包含了 “函数库” 、“Android运行时” 两个部分。
函数库:Android包含一套被不同组件所使用的C/C++库的集合,一般开发者不直接调用,但可通过应用程序框架来调用。 其实核心库有:系统C库、媒体库、Surface Manager、Lib Web Core、SGL、3D libraries、FreeType、SQLite;
Android运行时:其中包含 Android核心库集合Dalvik虚拟机。其中核心库集包含了Java大部分的核心库和能够使用的绝大 部分功能,Dalvik虚拟机则负责运行Android应用程序;
4.Linux内核:Android系统建立在Linux2.6之上,为其提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。Linux也是系统硬件和软件叠层之间的抽象层。
Android应用结构分析
当我们在使用eclipse新建好一个Android项目后,可以看到其中 有一系列的目录和文件,如图所示:
如图所示的结构目录中,res目录、src目录、AndroidManifest.xml是Android项目所必须的,其他文件都是可选的;除此之外Android应用的 Activity、Service、ContentProvider、BroadcastRecevier这4大组件也需要在其中配置。
- res目录Android项目的各种资源文件,如layout存放界面布局文件,values目录下存放各种xml文件等
- src目录用来保存我们所编写的Java文件
- AndroidManifest.xml文件时项目的系统清单文件,它用于控制应用的名称、图标、访问权限等系统属性。
- bin:该目录用来存放生成的目标文件,如 Java的二进制文件、资源打包文件、Dalvik虚拟机的可执行文件
- gen:用于存放自动生成的R.java文件
如图即为一个R.java文件
R.java文件是由aapt工具根据应用中的资源文件来自动生成的,其中主要由如下两条规则:
1、每个资源对应R类的一个内部类。
2、每个具体的资源项对应于内部类的一个 public static final int类型的Field。
Android应用的基本组件
1.Activity与View
Activity是Android应用中负责与用户交互的组件,只能通过setContentView(VIew view)来显示组件;当一个应用程序有多个用户界面时,这个应用即将包含多个Activity,多个Activity组成Activity栈,当前活动的Activity处于栈顶。
2.Service
Service通常位于后台 运行,一般不与用户交互。Service通常为其他组件提供后台服务或监控其他组件的运行状态。
3.BroadcastReceiver
代表广播消息接收器,只要用于监听其他组件的动作
4.ContentProvider
为跨应用的 数据交换提供了一个标准;
5.Intent
可以称之为”意图“,是Android应用不同组件之间通信的载体。
第一次写博客,粗略的介绍完毕今天所学的知识,很多不足,希望在以后的总结中改进。