1、华夏通信21Android手机开发2012-3-16华夏通信22纲要 Android概述 平台架构 重要组件 开发环境介绍 Hello World!Demo演示华夏通信Android概述23Android 手机操作系统是2007年11月5日由美国Google公司基于Linux整合开发的嵌入式系统,后开源并由后由开放手机联盟Open Handset Alliance)开发。在全世界范围内,Moto、HTC(多普达)、联想、三星等众多公司都已经推出Android手机产品和上网本产品,而且有越来越多加速上升的趋势。华夏通信Android大事件2005 Google收购了成立仅22个月的高科技企业An
2、droid2007 11月5日,谷歌公司正式向外界展示Android操作系统2008 9月22日,谷歌正式对外发布第一款Android手机HTC G1 9月23日,谷歌发布Android1.024华夏通信Android大事件2009 4月3日,Android1.5正式发布 9月25日,Android1.6正式发布 10月28日,Android 2.0 智能手机操作系统正式发布2010 5月19日,Google正式对外发布Android2.2智能操作系统 12月7日,Google正式发布Android2.3操作系统2011 2月2日,Android3.0正式发布 2月3日,谷歌发布了专用于平板电
3、脑的Android 3.0蜂巢系统 10月19日,谷歌正式发布Android 4.0操作系统2012 1月4日,Android Market上的应用程序数量突破40万个,每4个月增加10万个应用程序 3月1日,Google对外宣布,Android Market的累计下载量已经突破130亿次25华夏通信Android概述26v6移动用户爆炸增长,已经大大超过了PC用户华夏通信27纲要 Android概述 平台架构 重要组件 开发环境介绍 Hello World!Demo演示华夏通信平台架构28华夏通信Linux核心层 Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进
4、程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。29华夏通信Libraries类库层 Android包含一个C/C+库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。210华夏通信Android Runtime 核心库:提供大部分在Java编程语言核心类库中可用的功能 虚拟机:专为移动设备优化过的虚拟机,每一个Android应用程序是Dalvik虚拟机中的实例211华夏通信Application Framework通过提供开
5、放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)212华夏通信Application应用层 Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置等 所有应用程序都是用Java编程语言写的 开发我们自己的手机应用,r u ready?213华夏通信214纲要 Android概述 平台架构 重要组件 开发环境介绍 Hello World!Demo演示华夏通信重要组件Services(服务)
6、Broadcast Receivers(广播接收器)Notifications(通知)Intents(意图)Content(内容)Activities(活动)215应用程序的显示层。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。就桌面开发而言,一个Activity相当于FormAndroid应用程序中不可见的“工人”。Service组件运行时不可见,但它负责更新的数据源和可见的Activity,以及触发通知。它们常用来执行一些需要持续运行的处理。类似于windows的系统服务用户通知的框架。Notificati
7、on用来在不需要焦点或不中断它们当前Activity的情况下提示用户。它们是Service或 Broadcast Receiver获得用户注意的首选方式。例如,当设备收到文本信息或外部来电时,它通过闪光,发声,显示图标或显示对话框信息来提醒你。华夏通信重要组件Services(服务)Broadcast Receivers(广播接收器)Notifications(通知)Intents(意图)Content(内容)Activities(活动)216Intent广播的“消费者”。通过创建和注册一个Broadcast Receiver,应用程序可以监听符合特定条件的广播的Intent。Broadcas
8、t Receiver 会自动的启动你的Android应用程序去响应新来的Intent。Broadcast Receiver是事件驱动程序的理想手段。提供共享的数据存储。Content Provider(内容提供器)用来管理和共享应用程序的数据库。在应用程序间,Content Provider是共享数据的首选方式。这意味着,你可以配置自己的Content Provider去存取其他的应用程序或者通过其他应用程序暴露的Content Provider去存取它们的数据。Android设备本身包含了几个Content Provider来访问像联系人信息等有用的数据库。简单的消息传递框架。使用Inten
9、t,你可以在整个系统内广播消息或者给特定的Activity或者服务来执行你的行为意图。系统会决定那个(些)目标来执行适当的行为。华夏通信重要java包android.app:提供高层的程序模型、提供基本的运行环境android.content 包含各种的对设备上的数据进行访问和发布的类android.database:通过内容提供者浏览和操作数据库android.graphics:底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.android.location:定位和相关服务的类android.media:提供一些类管理多种音频、视频的媒体接口:提供帮助网络访问的类,超
10、过通常的.*接口android.os:提供了系统服务、消息传输、IPC机制android.opengl:提供OpenGL的工具,3D加速android.provider:提供类访问Android的内容提供者android.telephony:提供与拨打电话相关的API交互android.view:提供基础的用户界面接口框架android.util:涉及工具性的方法,例如时间日期的操作android.webkit:默认浏览器操作接口android.widget:包含各种UI元素(大部分是可见的)在应用程序的屏幕中使用217华夏通信218常见界面控件 TextView EditText Butto
11、n ImageButton Checkbox RadioButton Spinner ListView TabHost华夏通信219常见布局 LinearLayout 线性布局 垂直、水平 RleativeLayout 相对布局 相对于另一个控件或容器的布局 TableLayout 表格布局 类似于html中的table布局 FrameLayout 帧布局 AbsoluteLayout 绝对布局华夏通信220纲要 Android概述 平台架构 重要组件 开发环境介绍 Hello World!Demo演示华夏通信开发环境搭建安装JDK(需要1.5+)安装Eclipse安装Android SDK安
12、装Eclipse插件ADT(Android Development Tools)重启Eclipse,配置android SDK路径221详细见Android开发起步.pdf华夏通信安卓模拟器安卓模拟器(AVD):Android 为开发人员提供了可以在电脑上直接调试应用程序的虚拟设备 AVD(Android Virtual Device)。使用 AVD可以方便地对应用程序进行调试222华夏通信程序调试DDMS DDMS 是 Dalvik Debug Monitor Service的简称,主要功能是监控应用程序的运行并打印日志、模拟电话打入与接听、模拟短信的收发、虚拟地理位置等。有了 DDMS 的
13、帮助,可以大大降低应用程序的测试成本。223华夏通信224纲要 Android概述 平台架构 重要组件 开发环境介绍 Hello World!Demo演示华夏通信Hello world!新建Android工程 选择支持的android版本 确认225源代码编译后class资源文件夹图像资源布局文件字符串资源功能清单文件华夏通信源代码 Src/com.huaxia.Helloworld.javapublic class Helloworld extends Activity /*Called when the activity is first created.*/Override public
14、 void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);226华夏通信布局文件 Res/layout/main.xml采用类似于HTML一样的布局文件,将展现和代码分离LinearLayout(线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)227华夏通信字符串资源 Res/values/strings.xml Hello World,华夏!Helloworld228类似于struts的国际化资源文件。借助于apktool等工具,可以对非汉化版的apk包中的values目录下的资源文件进行汉化后重新打包,完成程序汉化华夏通信AndroidManifest.xml 229华夏通信运行效果230华夏通信231纲要 Android概述 平台架构 重要组件 开发环境介绍 Hello World!Demo演示华夏通信Demo演示232 手机版测速华夏通信谢谢 提问233