Android开发基础总结

来源:互联网 发布:剑三成男绯梨数据 编辑:程序博客网 时间:2024/05/16 07:36

Android 开发学习基础开始:

先学习Android的系统架构:

分为4层: 从低到高是 linux 内核层 ;系统运行库;应用程序框架层; 和应用层.

一:应用程序层:

该层不仅包括系统内置的应用也包括用户自己安装的应用,比如 Email 客户端、SMS 短消息程序、日 历、地图、浏览器、联系人管理程序、QQ、微信、淘宝、美团等。改成所有的应用程序都是使用Java语言编写的。

二 程序框架层:

1

Activity Manager:活动管理器:用来管理应用程序生命周期并提供常用的导航回功能

views :用来构建应用程序,他包括列表 (lists)  网格(grids) 文本框(textbxes)  按钮(buttons) 甚至可以嵌入 web 的浏览器

3

Content Providers: 使得应用程序可以访问另一个应用程序的数据  或共享他们自己的数据

4

Resource Manager:提供非代码资源的访问,如本地字符串.图形,和布局文件(layoutfiles)

5

Notification Manager: 使得应用程序可以在状态栏中显示自定义的提示信息

三.系统运行库层

该层主要分为Libaries程序库和Android Runtime

1. 程序库

Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:

l Surface Manager - 对显示子系统的管理,并且为多个应用程序提供了2D3D 图层的无缝融合。

媒体库- 该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG

l SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

l OpenGL ES - 该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

l FreeType -位图(bitmap)和矢量(vector)字体显示。

l WebKit - 一个最新的web浏览器引擎,支持Android浏览器和一个可嵌入的web视图(WebView)。

l SGL - 底层的2D图形引擎

l SSL - SSL(Secure Sockets Layer 安全套接层),在传输层对网络连接进行加密,为网络通信提供安全及数据完整性的一种安全协议,

l Libc - 一个标准C系统函数库( libc )

2. Android Runtime

Core Libraries - 该核心库提供了Java编程语言核心库的大多数功能。

Dalvik Virtual Machine - 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。

Dalvik 虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

四.Linux内核层

Android 的核心系统服务依赖于 Linux 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux 内核也同时作为硬件和软件栈之间的抽象层。

ART虚拟机:主要原理 用空间换取时间

缺点:

ART 模式可以降低手机硬件配置要求,减少RAM内存依赖,不过在安卓4.4系统中,安装应用的时间比安卓4.4以下版本系统更长,这主要由于应用安装过程中需要先执行编码导致,并且安装应用更占存储空间(ROM

安卓工程的开发工具:

一般使用带插件的eclipse  和现在 大多使用的Android studio

安卓 的五大布局:

Android 5大布局,分别是RelativeLayoutLinearLayoutFrameLayoutAbsoluteLayoutTableLayout。不过前3种布局才是最常用的布局,AbsoluteLayout已经被Google废除,TableLayout可以被GridView替代,因此也很少用。






1 0
原创粉丝点击