


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