每一位Android开发者应该知道的Android体系架构和开发库

jopen 10年前

  英文原文:Android Architecture and Libraries Every Android Developer Should Know

  Android 的体系架构鼓励组件重用,允许开发者发布共享 Activity、Service 并且访问其他应用程序的数据,还可以根据开发者制定的安全限制进行管理。话虽如此,今天我将分享一些关于 Android 架构和开发库信息,供开发者创建下一个杀手级应用使用。准备好了吗?请继续下面的阅读!

android-architecture

  不要被上面的图片吓到,你无需了解所有内容。

  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:一个高层次的包,允许访问应用程序模型。该应用程序包包括ActivityService的 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 的架构和开发库,可以点击这里开始。

  感谢阅读,如果你喜欢本文,请使用下面的按钮在线与您的朋友分享!如果您有任何疑问,请让我知道。欢迎向我提意见和建议,通过 非死book、谷歌和 推ter 联系。哦,请订阅其他优秀文章。

  翻译: 伯乐在线 - fhdis

  译文链接: http://blog.jobbole.com/60202/