Android介绍

来源:互联网 发布:淘宝图片一般像素多少 编辑:程序博客网 时间:2024/06/05 00:31

Android框架

网上资料已经一大堆了,咱们就从通俗易懂易理解的角度出发,好,开始!!!

Android原始版本是由一个小团队开发,核心库用的Linux,运行库用的C/C++,应用层和应用框架层都用的JAVA,当时为了节省成本,全部采用开源框架,所以做出来的东西当然也是开源的。后来被google收购了,现在创始人已经被撵走了。

架构是这样的
Android架构

应用层–>应用框架层–>系统运行库–>Linux核心库

框架释义

应用层

首先,所有的应用都是在应用层的,也就是都用JAVA编写的,肉眼能看到的所有的程序,都在应用层。他的UI及相关控制都必须在一个叫Activity的超类上进行。

应用框架层

这一层主要是为上一层服务的,一些管理器,如Activity Manager, Window Manager,内容,通知,通信之类的应用层控件都在这一层,为应用层所需要的一切东西,至于他的东西从哪儿来的,是基于什么的,别着急,继续往下看。

运行库

这一层就是你看到的Android系统的所有应用的根基了,SqLite数据库,WebKit内核,SSL框架,OpenGL图形引擎之类的基类统统都在这里,而且它还有最重要的一个——运行时环境,也就是Dalvik虚拟机。

如果我要深度定制咋办?比如华为,小米,锤子之类的,如果你不改驱动的话,那就在这里改。

但是有个问题,这一层是用C/C++写的,一些硬件厂商要深度定制咋办?JAVA中有个叫JNI的,可以调用C/C++程序编写的动态链接库,在windows下叫dll,大多数人应该见过,在Linux下叫.so,他们都叫动态链接库。

这一层要废话一些,万能的C写出来的东西通常稳定性较好,而且反汇编难度较大,最重要的是可以到处跑,和原来的客户端保持一致性,所以一些大厂通常用C/C++封装成.so库供应用层调用,如果你要集成BAT的任何插件,你会惊奇的发现,他们都有动态库。

核心库

这里通常跟我们关系不大了,主要是硬件驱动,如果不打算做自己的手机,不用管它。


Android应用

简介

这部分是跟我们关系最大的部分了。

JAVA语法其实和JS差不多,虽然比JS多了一些数据类型,但是比起C至少要少一半以上,起码没有sign,unsign之类的需要区分,所以这就少了一半。

Android主要用的是javaSE部分,也就是基础部分,java不做过多介绍了,只需要知道javaSE是所有java的基础就行了,虽然还有很多java**,有的做服务器的,有的做移动端的,有的做web的…但跟我们都没什么关系。

在JAVA的基础上,Android添加了自己的库,而且很大,要下载Android的源码,必须在Linux环境下。

Linux搭建Android开发环境

IDE

Android长期以来一直用的eclipse来作为主流开发工具,直到2013年,google发布了自己的Android IDE——Android Studio,后来发现人们不鸟他,就干脆宣布从此以后停更eclipse插件,于是Android Studio就成为唯一官方IDE。

Android Studio是基于IntelliJ内核的一款开发工具,一开始切换过来感觉也不太习惯,慢慢就发现东欧人的这款闭源工具,不仅能够严谨的指出明文错误,还会提示可能发生的运行时错误,而且还具有ST3一般的强大插件功能,所以如果你开发JAVA也推荐用IDEA。

工程架构

工程架构

项目结构

项目结构

看望忘了咋办

0 0
原创粉丝点击