(1)Applications Application Android会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是用JAVA编写的。
(2)Application FrameWork开发者完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
(3)Libraries库 Android包括一个被Android系统中各种不同组件所使用的 C/C++ 库集。该库通过 Android 应用程序框架为开发者提供服务。
(4)Android Runtime Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
(5)Linux内核 Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。
Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartIntent()方法来使各组件进行跳转 。
Android的五大布局方式:LinearLayout(线性布局),FrameLayout(帧布局),TableLayout(表格布局) ,AbsoluteLayout(绝对布局)和RelativeLayout(相对布局)。五种布局方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而实现的。
Android的线程以及线程之间通信的中介:Handler类。
Android配置文件:AndroidManifest.xml及res资源文件中各种属性布局方式引用的资源等。
Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起,在manifest中,描述了每一个组件以及组件的作用。 然而,并不是所有的程序都需要全部部分,可以由上面的一个或几个来组建。使用某些组件构建Android应用程序时,需要在AndroidManifest.xml文件里进行声明。
(1)Activities(活动) 在Android应用程序中,Activity一般代表手机的一屏.即用户可见的一个界面。An droid应用程序的运行过程就是在不同的Activity之间切换的过程。每个Activity都有自己的视图和事件对应。大多数应用程序都有多个Activity。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。Activity的生命周期示意图如图2.2.2所示。
图2.2.2 Activity生命周期示意图
(2)Services(服务) Service是具有长生命周期并且没有用户界面的代码 通过Start Service(Intent service)可以来启动一个Service,通过Context.bindService ()可以绑定一个Service。当已经连接上了一个服务,就可以使用服务提供的外部接口来和服务通讯了Android应用程序中不可见的“工人”。 Service组件运行时不可见,但它负责更新的数据源和可见的Activity,以及触发通知。它们常用来执行一些需要持续运行的处理,当你的Activity已经不处于激活状态或不可见。
(3)Content(内容) Content Provider(内容提供器)就是一个类。作为应用程序之间唯一的共享数据的途径,它实现了一个标准的方法集合,其他应用程序可以使用这些方法在应用程序之间共享数据。提供共享的数据存储。Content Provider用来管理和共享应用程序的数据库。在应用程序间,Content Provider是共享数据的首选方式。这意味着,你可以配置自己的Content Provider去存取其他的应用程序或者通过其他应用程序暴露的Content Provider去存取它们的数据。Android设备本身包含了几个Content Provider来访问像联系人信息等有用的数据库。
(4)Intents(意图)简单的消息传递框架。使用Intent,你可以在整个系统内广播消息或者给特定的Activity或者服务来执行你的行为意图。系统会决定那个(些)目标执行适当的行为,Intent有显式和隐式两种方式。
(5)Broadcast Receivers(广播接收器) Broadcast Receiver是一个接受广播消息并响应的组件。广播消息可以由系统产生,例如时区发生变化、电池电量发生变化等。同时也可以由其他应用程序产生,对于这两种广播。在Broadcast receiver里都可以设置相应的过滤规则来进行接收。Broadcast Receiver是Intent广播的“消费者”。通过创建和注册一个Broadcast Receiver,应用程序可以监听符合特定条件的广播的Intent。Broadcast Receiver 会自动的启动你的Android应用程序去响应新来的Intent。Broadcast Receiver是事件驱动程序的理想手段。
(6)Notifications(通知) 用户通知的框架。Notification用来在不需要焦点或不中断它们当前Activity的情况下提示用户。它们是Service或Broadcast Receiver获得用户注意的首选方式。例如,当设备收到文本信息或外部来电时,它通过闪光,发声,显示图标或显示对话框信息来提醒你。
2.3 平台搭建
(1)java JDK 安装
JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在此之前,我们就必须先完成此项工作及在Windows上安装JDK,首先访问Oracle的官方网站下载页面,也可以从其他网站下载,下载完成后,双击JDK
的安装程序,装好后配置JDK的环境变量,在“我的电脑”|“属性”|“高级”|“环境变量”|“系统变量”中先添加两个环境变量:
JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_77(安装路径) classpath=.;%JAVA_HOME%\\lib
之后修改环境变量PATH,在前面加上:%JAVA_HOME%\\bin;
完成后测试一下在命令提示符中输入java -version 显示如图 2.3.1所示则表示完成了。
图 2.3.1Java安装测试
(2)Eclipse安装以及ADT工具的安装
首先下载Eclipse,直接解压放到了C:\\Program Files\\Java\\jre8\\eclipse下,之后打开eclipse设置工作路径:
C:\\Program Files\\Java\\jre8\\eclipse\\workspace
下面由于学校校园网不流畅我直接下载了ADT-26.0.6.zip,准备离线安装ADT插件。打开eclipse,选择Help > Install New Software...之后然后选择Add...在name项中随便取一个名字如ADT-22.0.6,之后点击Archiv...找到下载的ADT-26.0.6.zip 如图 2.3.2所示。
点击OK,然后选择Select all之后一路的next和OK最后会根据提示重启下eclipse,则完成了ADT的安装,至于如何看是否完成则是选择 Window > Preferences?打开首选项面板看是否有Android,有的话就成功了,至于会跳出要求装SDK则在下面进行安装了。
图 2.3.2 ADT安装步骤
(3)Android SDK 的安装以及系统的设置
首先下载最新的SDK直接解压到C:\\Program Files\\Java\\后修改环境变量PATH,在前面加上:
C:\\Program Files\\Java\\android-sdk-windows\\tools;
然后Window > Preferences?弹出“Preferences”对话框,单击左侧“Android”列表项,单击右侧“Browse”按钮,选择SDK路径(例如C:\\Program Files\\Java\\android-sdk-windows),单击“apply”按钮,退出SDK安装提示对话框,单击“OK”按钮,退出“Preferences”对话框。
下面是打开Window > Android SDK Manager
选择:“Tools”下“Android SDK platform-tools” “Extras”下“Google USB driver package” “Android 2.3.3”
单击“Install 22 packages”按钮
选中“Accept All” (如果选择“Accept”,可能漏掉“Google USB driver package”)
单击“Install”按钮
之后就是无尽的等待,完成后关闭,如图2.3.3所示。