android基础知识和开发

android基础知识和开发

ID:36322545

大小:1.37 MB

页数:24页

时间:2019-05-09

android基础知识和开发_第1页
android基础知识和开发_第2页
android基础知识和开发_第3页
android基础知识和开发_第4页
android基础知识和开发_第5页
资源描述:

《android基础知识和开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、概述Android系统是基于Linux内核的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linux,C/C++高级编程才能深入的涉及AndroidFramework和Android内核开发。ApplicationsAndroid装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的,它们的源代码是开放的,代码存放的位置在android_root/packages/apps。更加丰富

2、的应用程序有待我们去开发!ApplicationFrameworkAndroid应用框架的核心代码在android_root/frameworks/base目录下,是用java和c/c++语言编写的可重用类和组件,它提供一系列的服务和系统,包括视图、内容提供器、资源管理器、通知管理器、活动管理器等。*视图(View)——丰富的、可扩展的视图集合,包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器*内容提供者(ContentProviders)——使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据*资源管

3、理器(ResourceManager)——提供访问非代码资源,如本地化字符串、图形和布局文件*通知管理器(NotificationManager)——使得程序可以在状态栏中显示自定义的提示信息*活动管理器(ActivityManager)——管理应用程序生命周期,提供通用的导航回退功能LibrariesAndroid包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(applicationframework)暴露给开发者。下面列出一些核心库:*系统C库——标准C系统

4、库(libc)的BSD衍生,调整为基于嵌入式Linux设备*媒体库——基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG*界面管理——管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层*LibWebCore——新式的Web浏览器引擎,驱动Android浏览器和内嵌的web视图*SGL——基本的2D图形引擎*3D库——基于OpenGLES1.0APIs的实现。库使用硬件3D加速或包含高度优

5、化的3D软件光栅*FreeType——位图和矢量字体渲染*SQLite——所有应用程序都可以使用的强大而轻量级的关系数据库引擎Android的运行环境(AndroidRuntime),这个也应该属于这个框架里面的,android的虚拟机叫做Dalvik,运行环境就是由这个虚拟机和基础的java类库组成。LinuxKernelAndroid基于Linux2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

6、小结总结一下,我们可以把android分为四个层次,从底层往上依次为:linux内核、C/C++库、java框架和java应用程序。简单的从上到下,android应用程序需要有java框架支持,比如它要发送短信,就需要java框架,java框架其实就是将C/C++库包装成为了一个JNI(JavaNativeInterface),而实现具体的功能是C/C++库,最后驱动硬件完成功能,这也就是linux内核部分。从Android的架构可以知道,android设备的开发主要是Linux内核层的驱动开发、framework层的

7、系统级开发和applications层的应用程序开发。虽然android的framework开发比较少,但是对其了解后更有利于整体开发的进行,当然很多设备厂商还是非常需要这些的。Android系统启动过程Android系统启动可以分为两个阶段,分别是linux启动和android启动。它们分别代表了Linux内核启动过程和android服务的启动过程。下面我们以mt6573平台为例,大致描述下linux启动过程,想知道详细的代码级的启动过程,需要个人研究代码,这里不打算从代码去分析它们。Linux包括了bootload

8、er和kernel(vmlinux)两部分。Mt6573平台为例,bootloader=preloader+uboot。在mt6573中,kernel(vmlinux)和ramdisk(ramdisk.img)被一起包裹在bootimage(boot.img)中,所以,kernel启动就是bootimage的启动。Linux启动M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。