欢迎来到Android世界.docx
- 文档编号:3897770
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:68
- 大小:687.19KB
欢迎来到Android世界.docx
《欢迎来到Android世界.docx》由会员分享,可在线阅读,更多相关《欢迎来到Android世界.docx(68页珍藏版)》请在冰点文库上搜索。
欢迎来到Android世界
欢迎来到Android世界!
Android简介
在讨论Eclipse插件和开发Android应用程序之前,我们先看看Android的体系结构和一些重要的术语,这会对本教程后面的讨论和您自己构建Android应用程序有帮助。
Android术语
在Eclipse环境中开发Android应用程序需要了解Eclipse环境和Android平台的知识。
了解以下术语会有助于用Eclipse插件开发Android应用程序。
Open
这是一个由Google公司主导的组织,它由许多HandsetAlliance公共和私人组织组成。
Android
这是OpenHandsetAlliance的主打产品。
它是一种针对移动设备的开放源码操作环境。
模拟器
模拟另一个系统的软件工具—这常常是在个人计算机(IBM®、Mac、Linux®)上运行的一个环境,它模拟另一个环境,比如移动计算设备。
Linux
一种开放源码的操作系统内核,许多计算平台都使用这种操作系统,包括服务器、桌面计算机、网络设备和移动计算设备。
Android在Linux内核上运行。
DalvikVirtualMachine
DalvikVM是Android产品组合中的一种操作环境,它在运行时解释应用程序代码。
DalvikVM与JavaVM相似,但是两者不兼容。
Android基础知识和必需的工具
Android是一种针对移动平台的开放源码操作系统。
到编写本教程时,它是一种纯软件的平台,没有可用的硬件设备。
Android平台被称为一个产品组合,因为它是一系列组件的集合,包括:
∙基于Linux内核的操作系统
∙Java编程环境
∙工具集,包括编译器、资源编译器、调试器和模拟器
∙用来运行应用程序的DalvikVM
简要介绍了Android平台的体系结构之后,我们来从市场的角度看看这个平台的一些重要特性。
Android为什么很重要?
自从Android和最初的SDK发布以来,计算机技术新闻界一直非常关注Android。
Android之所以重要主要有两个原因。
Android是Google进军移动市场的主要行动。
移动应用程序领域竞争激烈,新的竞争者很难涉足。
Google拥有大量资源和强大的品牌实力,有能力涉足任何市场。
Google进军移动市场已经好几年了。
Android原来属于另一家公司,Google通过收购这家公司大大提高了在移动市场上的竞争力。
Google的任何行动都会受到关注,而且引入新平台也很引人注目。
Android同时具备这两个因素。
第二个原因是Android的应用程序模型与众不同。
Android应用程序并不是需要大量单击操作的纯粹的菜单式应用程序。
Android应用程序中确实有菜单和按钮,但是Android在体系结构中引入了一种新颖的设计元素intent。
intent
intent是一种构造,应用程序可以通过它发出请求,这就像是发出求助信号。
intent可能像下面这样:
"Wanted:
Anapplicationtohelpmelookupacontact"或"Wanted:
Anapplicationtohelpmedisplaythisimage"或"Wanted:
Anapplicationtoperformthisgeographic-basedsearch"
应用程序可以按照相似或互补的方式进行注册,表明它们有能力或有兴趣执行各种请求或intent。
比如:
"Available:
Applicationreadyandwillingtopresentcontactrecordsinclear,concisemanner"或"Available:
Applicationreadyandwillingtoperformageographicsearch"
这些是IntentFilter的示例,下面将要讨论。
IntentFilter
应用程序通过一个称为IntentFilter的构造声明它们能够执行某些类型的操作。
IntentFilter可以在运行时进行注册,也可以在AndroidManifest.xml文件中设置。
下面的代码片段取自一个对SMS(文本)消息进行响应的Android应用程序:
清单1.对SMS进行响应的Android应用程序
value="android.provider.Telephony.SMS_RECEIVED"/> 简要介绍intent和IntentFilter之后,下一节介绍Android应用程序的四种主要类型。 来迎接新的AndroidSDK! 我们刚刚发布了Android1.0SDK! 如果你现在正在用旧版的SDK,那你可能需要做一些工作升级你的开发环境并对你的应用程序做些调整以适应新的Android平台. 请阅读升级指南和API变化一览来了解更多信息. 如果你想了解详细的不同,请阅读API差异分析报告. Android平台是一个移动设备专用的软件堆,包括一个操作系统,中间件以及大量关键应用.开发者能建立大量应用程序通过AndroidSDK平台。 应用程序使用Java程序语言编写并且在Dalvik上运转,Dalvik是一个运行在Linux内核之上专门供嵌入使用的虚拟机。 如果你想要知道怎样开发Android的应用程序,你找对地方了。 Androidin开发论坛专门提供多种文档来帮助你学习Android和开发基于该平台的移动应用程序。 现在AndroidSDK1.0版本已经正式推出.它包括源码框架,实例工程,开发工具,模拟器,当然还包括你所需要的开发Android应用的全部库文件。 特性 ∙应用程序框架支持组件的重用与替换 ∙Dalvik虚拟机专为移动设备优化 ∙集成的浏览器基于开源的WebKit引擎 ∙优化的图形库包括定制的2D图形库,3D图形库基于OpenGLES1.0(硬件加速可选) ∙SQLite用作结构化的数据存储 ∙多媒体支持包括常见的音频、视频和静态图像格式(如MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF) ∙GSM电话技术(依赖于硬件) ∙蓝牙Bluetooth,EDGE,3G,和WiFi(依赖于硬件) ∙照相机,GPS,指南针,和加速度计(accelerometer)(依赖于硬件) ∙丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件 Android架构 下图显示的是Android操作系统的主要组件。 每一部分将会在下面具体描述。 应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。 所有的应用程序都是使用JAVA语言编写的。 应用程序框架 开发人员也可以完全访问核心应用程序所使用的API框架。 该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。 同样,该应用程序重用机制也使用户可以方便的替换程序组件。 隐藏在每个应用后面的是一系列的服务和系统,其中包括; ∙丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。 ∙内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据 ∙资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。 ∙通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。 ∙活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。 有关更多的细节和怎样从头写一个应用程序,请参考如何编写一个Android应用程序. 程序库 Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。 它们通过Android应用程序框架为开发者提供服务。 以下是一些核心库: ∙系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的。 ∙媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。 编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。 ∙SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。 ∙LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。 ∙SGL-底层的2D图形引擎 ∙3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 ∙FreeType-位图(bitmap)和矢量(vector)字体显示。 ∙SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。 Android运行库 Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。 Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。 同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。 Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。 Linux内核 Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。 Linux内核也同时作为硬件和软件栈之间的抽象层。 Android安装以及Eclipse插件 2008-12-0716: 36 SDK安装首先到到 下载SDK的压缩包,直接解压到你需要的目录里。 里面的Emulator是一个智能手机模拟器。 然后是安装Eclipse的开发插件。 1)在Eclipse的菜单里选择SoftwareUpdates>FindandInstall... 2)在随后出现的窗口里选Searchfornewfeaturestoinstall,然后“下一步” 3)点NewRemoteSite 4)在这里随便给这个远程地址输入一个名字(比如GoogleAndroid),在下面输入网址https: //dl- 5)在随后结果窗口中,选择AndroidPlugin>EclipseIntegration>AndroidDevelopmentTools,然后“下一步” 6)接受license后再“下一步”,然后“完成” 7)然后点InstallAll,安装完后重启Eclipse 8)重新启动Eclipse后,在Window>Preferences...,选择Android面板,然后后点Browse...把输入SDK的路径就完成了。 调试配置: Eclipse 1.选择RUN 2.OpenRunDialog 3.选择AndroidApplication 4.New(上面的小白纸). 看我的文档 然后你按照api说的配置run,然后就可以运行了,我运行的界面,在Android中的浏览器中搜索博客园的图片, 用Eclipse开发Android应用程序 GoogleAndroidDevelopmentToolsEclipse插件入门 第 3 页,共 11 页 文档选项 打印本页 样例代码 对本教程的评价 帮助我们改进这些内容 Android应用程序—概述 我们来看看Android应用程序的四种主要类型: 活动、服务、接收器和ContentProvider。 我们还要看看显示用户界面(UI)元素的视图。 活动 活动是最常用的Android应用程序形式。 活动在一个称为视图的类的帮助下,为应用程序提供UI。 视图类实现各种UI元素,比如文本框、标签、按钮和计算平台上常见的其他UI元素。 一个应用程序可以包含一个或多个活动。 这些活动通常与应用程序中的屏幕形成一对一关系。 应用程序通过调用startActivity()或startSubActivity()方法从一个活动转移到另一个活动。 如果应用程序只需“切换”到新的活动,就应该使用前一个方法。 如果需要异步的调用/响应模式,就使用后一个方法。 在这两种情况下,都需要通过方法的参数传递一个intent。 由操作系统负责决定哪个活动最适合满足指定的intent。 回页首 服务和接收器 与其他多任务计算环境一样,“在后台”运行着一些应用程序,它们执行各种任务。 Android把这种应用程序称为“服务”。 服务是没有UI的Android应用程序。 接收器是一个应用程序组件,它接收请求并处理intent。 与服务一样,接收器在一般情况下也没有UI元素。 接收器通常在AndroidManifest.xml文件中注册。 清单2是接收器代码的示例。 注意,接收器的类属性是负责实现这个接收器的Java类。 清单2.接收器代码 packagecom.msi.samplereceiver; importandroid.content.Context; importandroid.content.Intent; importandroid.content.IntentReceiver; publicclassmyreceiverextendsIntentReceiver { publicvoidonReceiveIntent(Contextarg0,Intentarg1) { //dosomethingwhenthismethodisinvoked. } } 用ContentProvider进行数据管理 ContentProvider是Android的数据存储抽象机制。 我们以移动设备上常见的一种数据为例: 地址簿或联系人数据库。 地址簿包含所有联系人及其电话号码,用户在使用手机时可能需要使用这些数据。 ContentProvider对数据存储的访问方法进行抽象。 ContentProvider在许多方面起到数据库服务器的作用。 对数据存储中数据的读写操作应该通过适当的ContentProvider传递,而不是直接访问文件或数据库。 可能还有ContentProvider的“客户机”和“实现”。 下一节介绍Android视图,这是Android在移动设备屏幕上显示UI元素的机制。 回页首 视图 Android活动通过视图显示UI元素。 视图采用以下布局设计之一: LinearVertical 后续的每个元素都排在前一个元素下面,形成一个单一列。 LinearHorizontal 后续的每个元素都排在前一个元素右边,形成一个单一行。 Relative 后续的每个元素相对于前一个元素有一定的偏移量。 Table 与HTML表相似的一系列行和列。 每个单元格可以包含一个视图元素。 选择一种布局(或布局的组合)之后,就可以用各个视图显示UI。 视图元素由大家熟悉的UI元素组成,包括: ∙Button ∙ImageButton ∙EditText ∙TextView(与标签相似) ∙CheckBox ∙RadioButton ∙Gallery和ImageSwitcher(用来显示多个图像) ∙List ∙Grid ∙DatePicker ∙TimePicker ∙Spinner(与组合框相似) ∙AutoComplete(具有文本自动补全特性的EditText) 视图是在一个XML文件中定义的。 清单3给出一个简单的LinearVertical布局示例。 清单3.简单的LinearVertical布局 xmlversion="1.0"encoding="utf-8"? > android=" android: orientation="vertical" android: layout_width="fill_parent" android: layout_height="fill_parent" > android: layout_width="fill_parent" android: layout_height="wrap_content" android: text="Activity1! " /> android: layout_width="fill_parent" android: layout_height="wrap_content" android: text="Activity1,secondtextview! " />
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 欢迎 来到 Android 世界