现在的位置: 首页 > 综合 > 正文

Android入门/架构(一)

2018年05月26日 ⁄ 综合 ⁄ 共 1774字 ⁄ 字号 评论关闭

尽管博客上已经有很多写Android架构的文章,作为我迈入Android的第一步,我会记录每一点体会,分享其中点点滴滴,希望牛牛们多多赐教
,我也一定要坚持下来!


1. Android 初识

1.1 Android系统 是基于Linux内核开发的开源的应用于移动平台一款操作系统。

它包含以下一些特色的功能:针对移动设备优化的Dalvik虚拟机, 基于开源浏览器引擎WebKit的集成浏览器,

优化的2D图形库和基于OpenGL ES的3D图形库,用来存放结构化数据的SQLite,支持各种格式的多媒体,对蓝牙

WiFi,GPS的支持,当然最重要的还是强大的系统框架和API来方便我们重用它的组件,以及非常丰富的开发环境的支持,

包括设备模拟器,Eclipse插件支持,内存性能剖析工具等。

1.2先上一张Android系统的架构图

从上到下 依次 :

// Android框架层资料
摘自 百度文库

1. 应用程序 Application

Android 会同一系列核心应用程序包一起发布,该应用程序包括Email客户端,SMS短消息程序,日历,地图,

浏览器,联系人管理程序等.所有的应用程序都是使用Java语言编写的.我们可以参考android源码相关的模块,来进行学习

2. 应用程序框架 Application Framework

可以访问核心应用程序所使用的API框架.

隐藏在每个应用后面的是一系列的服务和系统,其中包括:

*丰富而又可扩展的视图(Views)
: 用来构建应用程序.

*内容提供器(ContentProviders)
: 使得应用程序可以访问另一个应用程序的数据.

*资源管理器(Resource
Manager) : 非代码资源的访问,如 本地字符串,图形,布局文件(Layout File).

*通知管理器(Notification
Manager) :使得应用程序可以在状态栏中显示自定义提示信息.

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

3. 系统运行库 Library , Android runtime

1. 程序库

*系统C库

*媒体库

*Surface
Manager

*LibWebCore

*SGL

*3D
libraries

*FreeType

*SQLite

2.Android 运行库

4. Linux内核 Linux Kernel

Android 的核心系统服务依赖于Linux
2.6内核
.
如 安全性,内存管理,网络协议栈和驱动模型.

Linux内核也同时作为硬件和软件栈之间的抽象层.



1) Activity

Android系统的用户界面都是基于Activity创建的,一个应用程序可以包括一个或者多个Activity, 但都是继承于

android.app.Activity这个基类。每个Activity包括一个默认窗口用来填充一系列的View,用户通这些View来与Activity

交互,Android系统提供了很多View的控件,如按钮Button,文本框TextView,滚动条scrollview等。

2) Content providers:

它是对Android系统的数据访问的一种封装, 提供一系列标准的存取数据方法,不管数据是存在文件系统,还是SQLite数

据库,各个应用程序都可以通过Content provider访问数据。如果想在各个应用程序之间共享数据也只有通过

Content provider方式来实现。Android的编程模型也是鼓励我们创建自己的数据的同时,也可以让其它应用程序访问。

比如在发送消息的应用程序用必然会调用到联系人的数据。

3) Services: 

类似于windosw平台上的服务。不同于Activity和Content providers的短生命周期,Services可以一直在后台运行,而且

可以独立于任一Activity,比如播放背景音乐,定时检查软件是否需要更新等。

4) Intents: 

指Android中的系统消息。我们知道很多系统中各应用程序都是通过发送消息来进行交互的, Android正是通过Intents来

通知应用程序的各种事件,比如电池电量不足,检测到存储卡等。


通过以上资料,我对Android有了些大致的认识 ,这应当会是有用的.

文章摘于//http://blog.csdn.net/cjjky/article/details/6299797


抱歉!评论已关闭.