菜鸟学Android之简介

        最近要做物联网实训,选的题目是《基于安卓的企业办公环境测控系统软件设计》(名字还挺长~),所以安卓菜鸟开始从头学习安卓。学习第一步,肯定是要对Android整个体系有个整体的认知,此为该文的由来。班门弄斧,还请各位高手多多指点。

        Android是一种基于Linux内核的自由及开源的操作系统,主要用于移动设备上,如手机、平板,由Google开发,我们习惯称之为“安卓”。在这着重讲下Android的体系结构。先上图:

        此图是Google官方提供的技术结构图,个人认为,这个图是学习Android开发必须了解的一个图。

        首先,最下方Linux Kernel,Android是运行在Linux Kernel上的,并非GNU/Linux。Linux Kernel是针对Android进行了优化,大部分为各种驱动,提供了最基本的功能。这部分往往不需要应用程序者关心,所以此处略过。

        往上,Libraries,系统运行库,主要被各种组件所用,如libc标准C系统函数库,专门为基于Embedded linux的设备定制;Media Framework媒体库,支持多种音频、视频的播放回放及录制;SQLite,Android自带的一个内部关系数据库;Surface Manager界面管理器,对显示子系统的管理,并为多个应用程序提供2D和2D图层的无缝融合。

        Libraries右方Android Runtime,是Android中一个很重要的组成部分,引导系统会调用Android Runtime中的Start函数,在这个函数中完成启动Android的一切工作。其中的Core Librarie核心库,提供了Java编程语言的核心库中大多数功能,类似于JAVA中的JDK;Dalvik Virtual Machine,为Google自己开发的虚拟机,每个应用程序都有自己的Dalvik虚拟机实例,这样是为了一个设备可以有多个虚拟机。、

        往上Application Framework应用程序框架,这是开发人员需要重点了解的一部分,含有大量的API,大大降低了我们的开发成本。该架构简化了组件重用,如View System,View视图包括Lists列表,Grids网格,Buttons按钮等,用来构建应用程序;Content Providers使得应用程序可以访问另一个应用程序的数据;Activity Manager用来管理应用程序生命周期并提供常用的导航回退功能。

        最上为Application应用程序,我们的代码就是调用Application Framework呈现在该层。Android会同一系列核心应用程序包一起发布,该应用程序包括客户端、短消息、日历、地图、浏览器等,所有应用程序都是使用JAVA语言编写。

       再者,须了解Android开发四大组件:Activity:用于表现功能,所有程序的根本,可以简单把Activity看做手机屏幕的一屏,在Activity中可以添加按钮等组件,与网页概念类似;Service:后台运行服务,不提供前台呈现,简单比方说,听歌期间打开浏览器,此时歌曲播放后台运行,此由音乐播放的Service控制;Broadcast Receiver:用于接收广播,Broadcast是一种广泛应用在应用程序之间传输信息的机制,而Broadcast Receiver是对发送出的Broadcast进行过滤并响应的一类组件,使得应用程序可以对相应的外部事件进行响应;Content Provider支持多个应用程序中存储和读取数据,可以看做数据共享的一种方法。

       概况来讲,作为一个安卓菜鸟,我需要重点学习的为上两层,在已有的JAVA学习基础上,希望接下来的学习可以顺利许多~加油!


参考资料:

       http://baike.baidu.com/link?url=IbALhZX9JasPv60Nz698SYqqCvTGcP73nuZQA2z5hYEVOMU2FJkMp-Wglb-9pV8IwdM3pR-IM86x1r55AWFx_UVAphQwf5-A_YWNzOYFETK

        http://blog.csdn.net/hungcen/article/details/7484926

        http://www.marschen.com/portal.php


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值