Android的体系架构鼓励组件重用,允许开发者发布共享Activity、Service并且访问其他应用程序的数据,还可以根据开发者制定的安全限制进行管理。话虽如此,今天我将分享一些关于Android架构和开发库信息,供开发者创建下一个杀手级应用使用。准备好了吗?请继续下面的阅读!
不要被上面的图片吓到,你无需了解所有内容。
Android架构支持开发者创建自己的联系人应用或者电话拨号程序。你可以公布自己应用的组件,让其他开发者在此基础上创建新的用户界面,进行功能扩展或者其他工作!这是多么奇妙啊?
剖析Android体系架构
第一个列表将向开发者展示应用服务,这些服务是Android的架构基石。你也可以称它为所有的Android应用程序的支柱框架,为所有开发应用提供支持。
- Activity Manager:控制界面的生命周期,包括管理活动(Activity)栈。
- Views:Views为应用程序构建用户界面。
- Notification Manager:提供一贯的非侵入式的机制来通知用户(例如:当你正在玩游戏时有人给你发短信,通知不会终止你的游戏,你会听到一个声音提示)。
- Content Providers:让开发者在不同应用程序之间共享数据。
- Resource Manager:支持非代码资源,如字符串和图形被外部化。
现在你对第一个主要部分有了解,我们可以看看Android库,这将使开发Android应用程序更加容易和有趣。正如你所知道的,这些都只是简短的描述,可以通过我分享的链接了解更多!
开发者需要知道的Android库
Android也提供了大量的API开发应用程序。所以在这个列表中,将帮助开发者了解哪些是可用的核心API。所有的Android设备将提供至少这些API支持:
- android.util:核心工具包中包含底层类,字符串格式化和XML解析工具、底层类。
- android.os:操作系统包提供了访问基本的操作系统服务,如消息传递、进程间通信、时钟功能和调试。
- android.graphics:图形API提供了支持画布、颜色和绘制图元的低级别的图形类并且支持绘制画布。
- android.text:用于显示和解析文本的文本处理工具。
- android.database:在数据库处理游标时提供底层类支持。
- android.content:content API管理数据访问,提供服务来管理资源、内容提供者(content provider)和包。
- android.view:视图是核心的用户接口类。所有用户界面元素使用的是一系列视图,以构成用户交互的组件。
- android.widget:内置在View包内,小部件类是“这里是我们前面创建的”用户界面元素,可以在自己的应用程序中使用。包括列表、按钮和布局。
-
com.google.android.maps:高级的API,它提供了访问本地地图控件,可以在自己的应用程序中使用。包括MapView的控制、用于标注和控制您的嵌入式地图的叠加以及
MapController
类。 -
android.app:一个高层次的包,允许访问应用程序模型。该应用程序包包括
Activity
和Service
的API等是Android应用程序的基础。 -
android.provider:方便开发者访问标准的内容提供者(比如联系人数据库),
provider
包提供类给开发者访问标准的数据库。 - android.telephony:telephony API让开发者直接接触电话底层,开发者可以打电话、接电话、显示通话记录、通话状态和短消息。
- android.webkit:WebKit的软件包功能的API与基于Web的内容的工作,其中包括一个WebView控件在您的活动中嵌入浏览器和cookie管理器。
同样,你刚才看到的是Android的库可以帮助您快速构建应用程序的简化列表!除了在Android API,Android栈还包括一组的C/C++
库,可通过应用程序框架发布出来。它们包括:
- OpenGL:用于支持基于OpenGL ES1.0 API、3D图形库。
- FreeType:这支持位图和矢量字体渲染。
- SGL:用于提供2D图形引擎的核心库。
- ibc:标准C库,为基于Linux的嵌入式设备进行了优化。
- SQLite:用于存储应用程序数据的轻量级的关系数据库引擎。
- SSL:支持使用安全套接字层加密协议进行安全互联网通信。
注意: 到此,要介绍的就太多了,我将在这里结束。只是多一个部分,你可以做自己的事情。如果你不能看完整个帖子,可以将其加入书签,以备将来参考。因为,这里的大多数内容不会有太大变化!
高级Android开发库
我们所看到的核心库,到目前为止提供所有开发Android应用程序需要的功能。然而钻研高级API将会使用更高级的功能并带来额外的乐趣。
尽管如此,值得注意的是,由于Android希望针对移动硬件有更广泛的适应性,因此要注意下列API适用的场合和以及使用时装置是否具备条件。
- android.location:基于位置的服务的API,使应用程序访问设备的当前物理位置。基于位置的服务提供通用的访问使用任何位置固定的硬件或技术设备上可用的位置信息。
- android.media:媒体API提供了用于播放音频和视频媒体文件,包括流媒体和录制的支持。
- android.opengl:Android提供使用的OpenGL ES API,你可以用它来创建动态3D用户界面为你的应用程序的强大的3D渲染引擎。
- android.hardware:如有可能,硬件API公开的传感器硬件,包括摄像头、加速计和指南针传感器。
- android.bluetooth,android.net.wifi,android.telephony:Android也提供了硬件平台,包括蓝牙、Wi-Fi和电话硬件的低级别的访问。
当然,你还可以阅读更多有关Android的架构和开发库,可以点击这里开始。
感谢阅读,如果你喜欢本文,请使用下面的按钮在线与您的朋友分享!如果您有任何疑问,请让我知道。欢迎向我提意见和建议,通过Facebook、谷歌和Twitter联系。哦,请订阅其他优秀文章。
原文 Android Architecture and Libraries Every Android Developer Should Know
翻译 伯乐在线 - fhdis