总的来说,安卓系统架构采用分层架构的形式,条理清晰,结构分明,相互间可以高效地工作。本次研究的重点将放在安卓的应用程序层和应用框架层。
5)系统库
安卓包含一套可供所有组件使用的库集合,开发工程师使用这些库时,不能对该库集进行直接调用,必有通过它上层的应用程序框架来调用。
2。1。3 Android 应用的基本组件
安卓应用一般由一个或多个基础组件构成,安卓的基本组件有五大类,它们分别是:
1) Activity——应用表示层(基类Activity)。
Activity 组件在安卓的应用中负责跟用户进行交互, 在代码中通过setContentView( )去显式设定该组件。
2) Service——可以长时间运行于后台,无可示界面。
Service 与Activity 的地位是相同的,都是一个单独的Android 组件。Service 与Activity 的不同点在于:Service 组件对一般使用者是不可见的,它运行在程序后台,且无需与用户交互,所以可把Service 组件看作无图形的用户界面。
3) Broadcast Receiver——用于接收广播通知的组件。
BroadcastReceiver 跟普通的事件监听器相像。但是它们之间也存在着一定的差异:BroadcastReceiver以Android 应用中的其余组件作为事件源,事件监听器的事件源则是程序中的对象。
4) Content Provider ——解决各应用程序间的数据分享与通信问题。
内容提供者(Content Provider)给其余应用程序提供特定的数据集,这些数据能够保存于SQLite 数据库中、文件系统中、或以任何其他合理的形式。
5) Intent—— 连接组件的纽带。
以上4 种基本组件中,Content Resolver 可激活Content Provider 组件,Intent异步消息可激活其余3 种组件。
2。1。4 Android 开发环境搭建
首先需要安装JDK,下载好JDK安装包并解压后配置环境变量,配置的步骤如下所示:
JAVA_HOME 值设为: D:\Program Files\Java\jdk1。6。0_18(你安装JDK 的目录)。CLASSPATH 值设为:
。;%JAVA_HOME%\lib\tools。jar; %JAVA_HOME%\lib\dt。jar; %JAVA_HOME%\bin;
Path 路径值: 在开始追加 %JAVA_HOME%\bin;
成功安装之后,在命令行窗口中键入java –version命令能查看到目前JDK 的版本信息。
接着下载Eclipse 压缩包,解压后即可使用,打开 Eclipse IDE,打开菜单中的 "Help" -> "Install New Software"选项,点击Add 按钮,在弹出对话框中的Location 中输入该地址http://dl-ssl。Google。com/android/eclipse。点击确认按钮并返回后,选择work with下拉列表中新添加上的ADT地址,也就是Developer Tools 的选项。点击该选项后会弹出Android DDMS跟Android Development Tool 两个复选框,选中它们之后,选择Window > Preferences 选项之后会在左边的面板中看到一个选项带有Android 的标识,选中该选项后并在右侧点击Browse 按钮,选中SDK 路径,点击Apply 完成配置。
要验证Android 应用程序的开发结果可使用模拟器,通过创建AVD来实现。具体步骤为:
打开Eclipse 并选择Windows > Android SDK and AVD Manager 选项,点击左侧面板的Virtual Devices,然后点击右边的New 填入Name,选择好Target 的API版本,以及SD Card 容量大小,这里为避免对CPU 资源的造成浪费通常选择较小的容量,如果要模拟器使用视频头,一定需要设置SD Card的大小,Skin 和Hardware 选择使用默认值,点击Create AVD 按钮完成AVD 的创建[11]。
2。2 Java多线程编程
2。2。1 多线程的定义
多线程是一种可以在应用中同时运行多个指令流的机制,它跟进程相似,各自拥有独立的执行空间,每个线程之间是相互独立的,由操作系统进行调配,每个线程不具备有独立的存储空间,但是进程中的各个线程之间共同分享一个存储空间[12]。多线程的执行是并发的,它的并发指的是在逻辑上可认为是同时发生的,但在物理上这些线程并不是同时发生[13]。因CPU的运行速度非常快,用户完全感受不到线程在物理上的非并发效果,所以说通常情况下可以认为各个线程是同时执行的。多线程之间的执行顺序在一般情况下是随机的,对于该次执行哪条线程而带来的线程调度和同步等问题将会交给专门的关键字机制来处理[14]。 Android手机平台的朋友圈的设计与开发(6):http://www.youerw.com/jisuanji/lunwen_97163.html