An Open Platform for Mobile Development
Google describes Android as:
The fi rst truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation.
http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html
Android is made up of several necessary and dependent parts including the following:
❑ A hardware reference design that describes the capabilities required of a mobile device in order to support the software stack
❑ A Linux operating system kernel that provides the low-level interface with the hardware, memory management, and process control, all optimized for mobile devices
❑ Open source libraries for application development including SQLite, WebKit, OpenGL, and a media manager
❑ A run time used to execute and host Android applications, including the Dalvik virtual machine and the core libraries that provide Android specifi c functionality. The run time is designed to be small and effi cient for use on mobile devices.
❑ An application framework that agnostically exposes system services to the application layer, including the window manager, content providers, location manager, telephony, and peer-to-peer services
❑ A user interface framework used to host and launch applications
❑ Preinstalled applications shipped as part of the stack
❑ A software development kit used to create applications, including the tools, plug-ins, and documentation
At this stage, not all of the Android stack has been released as open source, although this is expected to happen by the time phones are released to market. Itrsquo;s also worth noting that the applications you develop for Android do not have to be open source.
What really makes Android compelling is its open philosophy, which ensures that any defi ciencies in user interface or native application design can be fi xed by writing an extension or replacement. Android provides you, as a developer, the opportunity to create mobile phone interfaces and applications designed to look, feel, and function exactly as you image them.
Native Android Applications
Android phones will normally come with a suite of preinstalled applications including, but not limited to:
❑ An e-mail client compatible with Gmail but not limited to it
❑ An SMS management application
❑ A full PIM (personal information management) suite including a calendar and contacts list, both tightly integrated with Googlersquo;s online services
❑ A fully featured mobile Google Maps application including StreetView, business fi nder, driving directions, satellite view, and traffi c conditions
❑ A WebKit-based web browser
❑ An Instant Messaging Client
❑ A music player and picture viewer
❑ The Android Marketplace client for downloading thied-party Android applications.
❑ The Amazon MP3 store client for purchasing DRM free music.
All the native applications are written in Java using the Android SDK and are run on Dalvik.
The data stored and used by the native applications — like contact details — are also available to thirdparty applications. Similarly, your applications can handle events such as an incoming call or a new SMS message.
The exact makeup of the applications available on new Android phones is likely to vary based on the hardware manufacturer and/or the phone carrier or distributor. This is especially true in the United States, where carriers have signifi cant infl uence on the software included on shipped devices.
Android SDK Features
The true appeal of Android as a development environment lies in the APIs it provides.
As an application-neutral platform, Android gives you the opportunity to create applications that are as much a part of the phone as anything provided out of the box. The following list highlights some of the most noteworthy Android features:
❑ No licensing, distribution, or development fees
❑ Wi-Fi hardware access
❑ GSM, EDGE, and 3G networks for telephony or data transfer, allowing you to make or receive calls or SMS messages, or to send and retrieve data across mobile networks
❑ Comprehensive APIs for location-based services such as GPS
❑ Full multimedia hardware control including playback and recording using the camera and microphone
❑ APIs for accelerometer and compass hardware
❑ IPC message passing
❑ Shared data stores
❑ An integrated open source WebKit-based browser
❑ Full support for applications that integrate Map controls as part of their user interface
❑ Peer-to-peer (P2P) support using Google Talk
❑ Mobile-optimized hardware-accelerated graphics including a path-based 2D graphics library and support for 3D graphics using OpenGL ES
❑ Media libraries for playing and recording a variety of audio/video or still image formats
❑ An application framework that encourages reuse of application components and the replacement of native applications
Access to Hardware including Camera, GPS, and Accelerometer
Android includes API libraries to simplify development involving the device hardware. These ensure that you donrsquo;t need to create specifi c implementations of your software for different devices, so you can create Android applications that work as expected on any device that supports the Android software stack.
The Android SDK includes APIs for location-based hardware (such as GPS), camera, network connections, Wi-Fi, Bluetooth, accelerometers, touch screen, and power management. You can explore the possibilities of some of Androidrsquo;s hardware APIs in more detail in Chapter 10.
Native Google Maps, Geocoding, and Location-Based Services
Native map support lets you create a range of map-based applications t
剩余内容已隐藏,支付完成后下载完整资料
移动开发的开放平台
Google将Android描述为:第一个真正开放和全面的移动设备平台,所有的软件用来运行一个手机,但没有阻碍移动创新的所有权障碍。
Android由几个必要和相关的部分组成,包括:
❑硬件参考设计,描述移动设备为支持软件堆栈而需要的功能
❑Linux操作系统内核,为低级别接口提供硬件,内存管理和过程控制,均针对移动设备进行了优化
❑用于应用程序开发的开源库,包括SQLite,WebKit,OpenGL和媒体管理器
❑用于执行和托管Android应用程序的运行时,包括Dalvik虚拟机和提供Android特定功能的核心库。运行时间设计为小型且高效用于移动设备。
❑一个应用程序框架,它将系统服务无形地暴露给应用程序层,包括窗口管理器,内容提供程序,位置管理器,电话和点对点服务
❑用于托管和启动应用程序的用户界面框架
❑作为堆栈一部分提供的预安装应用程序
❑用于创建应用程序的软件开发工具包,包括工具,插件和文档
在这个阶段,并不是所有的Android堆栈都是作为开源发布的,虽然这是预期发生的时候手机发布到市场。 还值得注意的是,您为Android开发的应用程序不必是开源的。
真正让Android令人信服的是它的开放哲学,它确保用户界面或本机应用程序设计中的任何缺陷都可以通过编写扩展或替换来固定。 Android为开发者提供了创建移动电话界面和应用程序的机会,这些界面和应用程序设计的外观,感觉和功能与您的图像完全相同。
本机Android应用程序
Android手机通常会带有一套预安装的应用程序,包括但不限于:
❑与Gmail兼容的电子邮件客户端,但不限于此
❑SMS管理应用程序
❑完整的PIM(个人信息管理)套件,包括日历和联系人列表,与Google的在线服务紧密集成
❑功能齐全的移动Google地图应用程序,包括StreetView,商业信函,行车路线,卫星视图和流量条件
❑基于WebKit的Web浏览器
❑即时消息客户端
❑音乐播放器和图片查看器
❑用于下载Android应用程序的Android Marketplace客户端。
❑用于购买DRM免费音乐的Amazon MP3商店客户端。
所有本机应用程序都是使用Android SDK编写的,并在Dalvik上运行。
本地应用程序存储和使用的数据(如联系人详细信息)也可供第三方应用程序使用。类似地,您的应用程序可以处理诸如来电或新短信等事件。
新Android手机上可用的应用程序的确切构成可能会因硬件制造商和/或电话运营商或分销商而异。这在美国尤其如此,其中运营商对包括在运输的设备上的软件具有明显的影响。
Android SDK特性
Android作为开发环境的真正吸引力在于它提供的API。
作为一个应用程序中立的平台,Android让您有机会创建与任何提供开箱即用的手机一样多的应用程序。以下列表列出了一些最值得注意的Android功能:
❑没有许可,分配或开发费
❑Wi-Fi硬件访问
❑用于电话或数据传输的GSM,EDGE和3G网络,允许您拨打或接听电话或短信,或通过移动网络发送和检索数据
❑针对基于位置的服务(如GPS)的综合API
❑完整的多媒体硬件控制,包括使用相机和麦克风播放和录制
❑加速度计和罗盘硬件的API
❒IPC消息传递
❑共享数据存储
❑基于WebKit的集成开放浏览器
❑完全支持将地图控件集成为其用户界面的一部分的应用程序
❑使用Google Talk的对等(P2P)支持
❑移动优化的硬件加速图形,包括基于路径的2D图形库和使用OpenGL ES支持3D图形
❑播放和录制各种音频/视频或静止图像格式的媒体库
❑鼓励应用程序组件重用和替换本机应用程序的应用程序框架
作为一个应用程序中立平台,Android让您有机会创建与任何支持Android软件堆栈的任何设备上预期工作的应用程序一样多的手机应用程序。
Android SDK包括基于位置的硬件(如GPS),摄像头,网络连接,Wi-Fi,蓝牙,加速度计,触摸屏和电源管理的API。 您可以在第10章中更详细地探讨一些Android硬件API的可能性。
本机Google地图,地理编码和基于位置的服务
本地地图支持允许您创建一系列基于地图的应用程序,利用Android设备的移动性。 Android可让您创建包含交互式Google地图的活动,作为您的用户界面的一部分,可以完全访问您可以使用Android的丰富图形库进行编程控制和注释的地图。
Android的基于位置的服务管理技术,如GPS和谷歌的基于GSM小区的定位技术,以确定设备的当前位置。这些服务强制执行从特定位置检测技术的抽象,并允许您指定最低要求(例如,准确性或成本),而不是选择特定的技术。这也意味着,无论主机手机支持什么技术,您的基于位置的应用程序都将工作。
为了将地图与位置相结合,Android提供了一个用于正向和反向地理编码的API,可用于查找地址的地图坐标和地图位置的地址。
您将在第7章中了解使用地图,地理编码器和基于位置的服务的详细信息。
背景服务
Android支持设计为在后台无形运行的应用程序和服务。
现代手机是自然的多功能设备; 然而,其有限的屏幕尺寸意味着通常只有一个交互式应用在任何时间都可见。 不支持后台执行的平台限制了不需要持续关注的应用程序的可行性。
后台服务使得可以创建不用用户直接操作而执行自动处理的隐形应用程序组件。 后台执行允许您的应用程序成为事件驱动,并支持定期更新,这是完美的监视游戏分数或市场价格,生成基于位置的警报,或优先级和预先筛选来电和短信。
在第8章中详细了解如何充分利用后台服务。
用于数据存储和检索的SQLite数据库
快速有效的数据存储和检索对于其存储容量受其紧凑特性限制的设备是必不可少的。
Android为使用SQLite的每个应用程序提供了一个轻量级的关系数据库。 您的应用程序可以利用托管关系数据库引擎安全高效地存储数据。
默认情况下,每个应用程序数据库都进行了沙盒化 - 其内容仅对创建它的应用程序可用 - 但内容提供商为这些应用程序数据库的管理共享提供了一种机制。
数据库,内容提供程序和Android中可用的其他数据持久性选项在第6章中有详细介绍。
共享数据和应用程序间通信
Android包括三种用于从应用程序传输信息以在其他地方使用的技术:通知,意图和内容提供程序。
通知是移动设备传统上警告用户的标准方式。使用API,您可以触发声音警报,引起振动和闪烁设备的LED,以及控制状态栏通知图标,如第8章所示。
Intents提供了在应用程序内和应用程序之间传递消息的机制。使用Intents,您可以广播所需的操作(例如拨打电话或编辑联系人)以供其他应用程序处理。意图是Android的重要核心组件,并在第5章深入讨论。
最后,内容提供商是一种向应用程序的私有数据库提供受管访问的方法。用于本机应用程序的数据存储(如联系人管理器)作为内容提供程序公开,因此您可以创建自己的读取或修改这些数据存储的应用程序。第6章详细介绍了内容提供者,包括本地提供者,并演示如何创建和使用自己的提供者。
使用Google Talk的P2P服务
基于早期的SDK版本,预计在以后的版本中,您将再次能够使用Android的对等(P2P)通信服务将结构化消息从您的应用程序发送到任何其他Android移动设备。
Android P2P服务使用XMPP(可扩展消息传递和存在协议)的专用版本。基于Google的Google Talk即时消息服务,它在您的设备与任何其他在线Android手机之间创建持久的套接字连接,确保低延迟和快速响应时间的通信。
启用后,您就可以使用Google Talk服务进行常规即时通讯,也可以在不同设备上的应用程序实例之间发送数据。这是创建涉及多个用户的交互式应用程序(例如实时多人游戏或社交应用程序)的强力手段。
P2P服务还提供存在通知,其用于查看联系人是否在线。虽然P2P服务本身非常有吸引力,但它也与其他Android功能非常好。想象一下,背景服务可以在朋友之间传输位置信息,相应的地图应用程序可以显示这些位置,或者当朋友在附近时提醒您。
由于安全问题,在Android 1.0中无法使用Google Talk发送数据消息。即时消息客户端可用,并且预期在未来的SDK发行版中将向开发人员提供与XMPP兼容的IM和数据消息传递。
广泛的媒体支持和2D / 3D图形
更大的屏幕和更明亮,更高分辨率的显示器已经帮助移动多媒体设备。 为了充分利用硬件,Android提供了用于2D画布绘图和3D图形与OpenGL的图形库。
Android还提供了处理静态图像,视频和音频文件(包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG和GIF格式)的综合库。
2D和3D图形在第11章深入讨论,而Android媒体管理库在第10章中讨论。
优化的内存和流程管理
Android的进程和内存管理有点不寻常。 像Java和.NET一样,Android使用自己的运行时和虚拟机来管理应用程序内存。 与这些框架不同,Android运行时还管理进程的生命周期。 Android通过停止和杀死进程以确保应用程序的响应能力,从而为更高优先级的应用程序释放资源。
在这种情况下,优先级取决于用户与之交互的应用程序。 确保您的应用程序准备好快速死亡,但仍然能够保持响应,并在必要时在后台更新或重新启动,这是在不允许应用程序控制自己的生存期的环境中的一个重要考虑因素。
您将在第3章中了解有关Android应用程序生命周期的更多信息。
介绍开放手机联盟
开放手机联盟(OHA)是由超过30家技术公司组成的集合,包括硬件制造商,移动运营商和软件开发商。特别值得注意的是移动技术公司摩托罗拉,HTC,T-Mobile和高通。用他们自己的话来说,OHA代表:
对开放的承诺,对未来的共同愿景,以及使愿景成为现实的具体计划。加快移动领域的创新,并为消费者提供更丰富,更便宜,更好的移动体验。
http://www.openhandsetalliance.com/oha_faq.html
OHA希望通过以更快的速度和更高的质量提供创新移动开发所需的平台,为消费者提供更好的移动软件体验,而不需要软件开发商或手机制造商的许可费。
最终,Android作为移动平台的成功将在很大程度上取决于OHA合作伙伴在发布可支持Android手机的手机和移动服务方面的成功。开发人员同时有机会为Android创造创新的新移动应用程序,鼓励更多移动技术公司成为OHA的一部分。
Android运行什么?
第一款Android移动手机T-Mobile G1于2008年10月在美国发布,2008年11月在英国发布。开放手机联盟已进一步致力于在2009年初部署更多支持Android的手机和服务。
Android不是为单个硬件实现创建的移动操作系统,而是旨在支持各种各样的硬件平台,从触摸屏手机到根本没有屏幕的设备。
除此之外,没有许可费用或专有软件,手机制造商提供Android兼容的手机变体的成本相对较低。 希望一旦对能够运行流行Android应用程序的硬件需求达到临界量,越来越多的设备制造商将生产越来越多的定制硬件来满足这种需求。
为什么要为Android开发?
如果你有移动应用程序开发的背景,你不需要我告诉你:
❑很多你可以用Android做的事情已经是可能的了。
❑但这样做是痛苦的。
Android代表了一个干净的突破,基于现代移动设备的现实的移动框架。
使用简单而强大的SDK,无需许可费用,出色的文档和繁荣的开发人员社区,Android是创建改变人们使用手机的方式和原因的软件的绝佳机会。
Android由30多个OHA成员支持,并被行业嗡嗡声所包围。
在市场上,便携式设备的增长是一个全球性现象,在许多国家,移动电话的所有权超过了计算机的所有权。智能手机 - 包括手机,但具有相机,互联网接入,媒体播放器,Wi-Fi和GPS服务的多功能设备的日益普及 - 结合移动宽带和Wi-Fi的增加的可用性已经为高级移动应用程序创造了增长市场。
什么会推动Android采用?
Android主要面向开发人员,Goog
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[138862],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。