`
Kingson_Wu
  • 浏览: 123769 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

2014-03-17程序猿

http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=200169674&idx=1&sn=49422305bb57c01d06681834479ded1d&scene=3#rd



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和电话硬件的低级别的访问。


本文由 伯乐在线 - fhdis 翻译自 simpledeveloper


相关阅读推荐(输入前面的编号可以查看全文)

34 Linux常用命令大全

62 让小公司事半功倍的15款应用

86 Mac程序员的十种武器

117 Mac用户不可或缺的10个效率工具


【码农社区】提问题、找资料、发招聘...

点击程序猿微信的自定义菜单进入


——————————————————

本文编号122,以后想阅读这篇文章直接输入122即可。

●输入201402可以获得2014年2月份阅读量最多的10篇文章目录;

●输入201401可以获得2014年1月份阅读量最多的10篇文章目录;

●输入2013可以获得2013年阅读量最多的10篇文章目录;

●输入m可以获取到全部文章目录


程序猿微信公众号:imkuqin,为程序员提供最新最全的编程学习资料的查询。目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API、Objective-C Reference、Python函数库、Lua函数库查询功能。


如果你觉得程序猿公众微信对你有帮助,请点击右上角“...”标志分享到【朋友圈】,感谢您对小猿的支持!


在微信搜索“程序猿”或者“imkuqin”可订阅程序猿微信。

分享到:
评论

相关推荐

    Google.Android开发入门与实战

    11.2.1 界面设计始终是第一位——实现UI 11.2.2 必备的动力源泉——数据操作和存储 11.2.3 华丽转身——实现多页面跳转 11.2.4 始终为用户做好服务——增加Service 11.2.5 细节决定成败——完善应用细节 11.3 成功就...

    Android群英传 完整高清版.pdf

    ### Android体系与系统架构 这部分内容介绍了Android操作系统的基本结构以及各个组件之间的交互方式。Android系统架构主要包括应用程序层、应用程序框架层、核心类库、Linux内核等几个层次。了解这一架构有助于...

    Android学习路线和职业规划探讨.pdf

    随着技术的不断更新,持续学习和适应新知识是每个Android开发者的必经之路。在这个过程中,资料如《Android学习路线指南》、《我对Android的理解》以及《Android学习路线:如何成长为高级工程师》等,都是帮助开发者...

    中文版Android程序员指南

    总之,《中文版Android程序员指南》不仅涵盖了Android开发的基础知识,还深入介绍了高级主题和实用案例,是每一位Android开发者不可或缺的学习资源。无论是初学者还是有经验的开发者,都能从中获得宝贵的指导和灵感...

    aarch64-linux-android-4.9.zip

    标题 "aarch64-linux-android-4.9.zip" 暗示了这是一个与Android开发相关的文件,特别是针对aarch64架构的设备。在Android世界中,NDK(Native Development Kit)允许开发者使用C/C++编写原生代码,以实现高性能的...

    aarch64-linux-android-gdb.zip

    在移动设备和嵌入式系统领域,aarch64架构已经成为主流,特别是在Android平台上,它为开发者提供了强大的64位计算能力。与此同时,为了更好地调试和优化软件,理解如何在aarch64体系结构下使用GDB(GNU Debugger)至...

    mipsel-linux-android-4.9.rar

    这包括了与mips64el版本类似的工具和库,但适用于32位环境。 6. 使用场景:这些工具链常被Android开发者用来编译原生库,比如游戏引擎、多媒体处理软件或任何需要高性能计算的任务。同时,它们也适用于对特定硬件...

    ffmpeg编译的so库 android版 armv8-a

    ARMv8-A是ARM公司的一种64位指令集架构,广泛应用于现代Android设备,特别是高性能的智能手机和平板电脑。这个so库是专门为运行在这些设备上的应用程序设计的。 编译FFmpeg库的过程涉及到多个步骤,主要包括以下...

    Android下使用的32位及64位绿色免安装程序.zip

    在Android平台上,32位和64位的绿色免安装程序是针对不同体系架构的应用程序。这些程序无需通过Google Play或其他应用商店进行安装,可以直接在设备上运行,为用户提供便捷。这种类型的程序通常由开发者打包成ZIP...

    台湾android技术服务中心主任 高焕堂(Android-框架&软硬整合讲义和源代码)

    这份资料的价值在于,它是由一位在Android领域有深厚经验的专业人士分享的实战经验,结合实例和源代码,能够帮助开发者深入理解Android系统的工作原理,提升解决实际问题的能力。如果有机会参加高焕堂主任的课程,...

    Android平台移植与底层开发

    **1.1 Android体系结构概述** Android的体系结构主要包括以下几个层次: - **Linux内核层**:负责管理硬件资源,提供核心系统服务,如内存管理、进程管理等。 - **硬件抽象层(HAL)**:提供了访问底层硬件的接口...

    opencv开发库.rar

    这个压缩包“opencv开发库.rar”提供的是预编译好的OpenCV库,包含了不同架构和配置的版本,包括x64和x86体系结构,以及Debug和Release模式,适用于不同开发环境。 **1. OpenCV的基本概念** OpenCV(Open Source ...

    Google Android开发入门与实战的代码

    11.2.1 界面设计始终是第一位——实现UI 203 11.2.2 必备的动力源泉——数据操作和存储 203 11.2.3 华丽转身——实现多页面跳转 203 11.2.4 始终为用户做好服务——增加Service 203 11.2.5 细节决定...

    深入理解Android 卷 II - 邓凡平

    邓凡平作为一位资深的Android专家,以其丰富的经验和深入的洞察力,为读者揭示了Android系统的诸多奥秘。 该书涵盖的知识点广泛且深入,主要包括以下几个方面: 1. **Android系统架构**:书中详细介绍了Android...

    Android-优秀学员简历01

    【Android 技术体系概述...通过上述知识点的学习和实践,这位“优秀学员”具备了扎实的Android开发基础,能独立完成应用开发,解决实际问题。在不断变化的Android技术生态中,持续学习和适应新特性是保持竞争力的关键。

    Android的多媒体框架OpenCore介绍.zip

    Android的多媒体框架OpenCore是Android系统中用于处理多媒体数据的核心组件之一,它为开发者提供了丰富的多媒体功能支持,包括音频、视频的编码、解码、播放和录制等。OpenCore不仅在Android早期版本中扮演着重要...

    百度地图开发java源码-Android-Core-Realm:成为一名优秀的Android开发者你需要知道什么

    RecyclerView、Andorid动画、OkHttp与Retrofit的网络请求、多进程、View的绘制流程、事件分发、消息队列、AIDL、Binder、Kotlin等,这类知识对于要成为一位优秀Android工程师的人来说是必须完全掌握的...

    Pro Android 2

    总之,《Pro Android 2》通过对OpenGL、小部件、文本转语音、多点触控和Titanium Mobile等主题的深入探讨,为读者提供了全面的Android开发知识体系,是每一位致力于Android平台开发的专业人士不可或缺的学习资源。

Global site tag (gtag.js) - Google Analytics