Android开发笔记

1、Android的体系结构java

1.1 体系结构android

从下往上进行层概述:sql

Linux内核层:数据库

该层主要的做用是:对系统进行管理例如:驱动管理,电源管理,进程管理,安全管理,内存管理等等。浏览器

硬件抽象层:安全

该层主要的做用是:对Linux底层实现进行屏蔽,向上提供接口,该层不开源,主要是为了维护商家的利益,可是会影响系统的性能架构

Android对硬件的支持分为两层:一层是用户空间,另外一层是内核空间,框架

用户空间存放的是:硬件抽象层,该层提供具体的访问细节ide

内核空间存放的是:Linux驱动程序,该层只是提供简单的硬件访问逻辑(内核驱动程序具备硬件的基本信息)工具

原生库与Android运行时:

该层是主要的做用是:原生库:主要是基于CC++一些原生的组件,例如:Webkit浏览器引擎,SSL互联网安全协议等。Android运行时包含两个方面:Java核心库与DVM二者共同组成Android的运行环境。

应用框架层:该层主要的做用是:提供了Android开发的API,开发人员能够根据这些API进行相应的开发,它自己也是用Java语言实现的。

该层有:activityManager(活动管理),windowManagerContentProviderViewSystemNotificationManager(消息管理)包管理..

应用层:

该层是主要做用是:根据应用框提供的API进行第三方开发,其中也包含一些自带的应用例如:图片管理,通信录等等

2、android-sdk目录结构

2.1 结构分层:

1 add-ons:第三方的库,如摄像头驱动

2 build-tools:构建工具,包含的主要工具为:

 aapt.exe(把包转换成.apk文件)

 dx.bat(把class字节码文件转换成classes.dex文件)

3 platforems:该目录中包含了Android系统的版本,版本中包含了数据和系统镜像

4 platforems-tools:该目录中包含有adb.exe(android debug birge)该工具的主要的做用是:Linuxwindow进行交流的桥梁。

5 System-image:该目录中包含了Android模拟器建立的镜像

6.tools:该目录中包含的工具备:ddms.exe(DVM调试监控服务)

sqlite3.exesqlite3数据库启动器)及模拟器启动器等等

3、JVMDVM的共同点和不一样点

共同点:执行的都是字节码文件

不一样点:

程序的结构不一样:JVM执行的是:.class文件

DVM执行的是:.dex文件

体系架构不一样:JVM执行基于堆栈(内存)

  DVM执行基于寄存器(CPU

4、Android应用程序结构介绍

Android应用 应用由四大组件构成分别为:ActivityserviceBroadcastReceiverContentProvider;每个组件都是一个独立的模块,每个组件有着不一样的入口,Android框架经过这些入口进入到应用中,组件在AndroidManifest.xml文件中进行注册,从而达到不一样组件间的松耦合,从而定义应用中的总体功能。

5、Android应用运行过程

1.编译

java(.class)多个-------dx.ba工具------>classes.dex(一个)----aapt.exe工具------>.apk文件--->>进行签名(single签名)默认是debug签名

2.安装

1..apk 文件安装到模拟器或者是真机中,位置在data/data 

2.Androidmanifest.xml文件中获取响应的组件,权限,包名等等

3.data/data文件中建立一个文件夹,包名便是文件夹的名字

4.把应用程序的信息写入到data/system/package.xml文件中,以实现对应用组件的注册

3.启动

1.Android应用:Android自己是一个多用户的Linux系统,一旦应用安装成功,android框架会给应用分配一个UserId来标识,根据该UserId来设置该文件的访问权限;当用户经过应用程序列表或者程序导航进入到应用中,此刻会开启一个虚拟器,建立一个进程,建立一个线程(UI),在启动导航器进入到组件中,进入到该组件的生命周期中,从而启动该应用程序.

6、简述activitywindowView间的关系 

Activity

activity:四大组件之一,用来展现一个与用户交互的界面

activity是如何进行与用户交互的?

activity是经过内置的window对象进行窗口的展现,该activity活动展现经过View来捕获相应的事件,经过windowManagerService来传递传递消息(用户所用的组件,及组件的类型),在根据该消息Android框架回调相应的监听方法,从而实现了与用户的交互.

Window:

它表示的是一个窗口,是activity的主窗口,每个window都有一个View,做为该窗口的顶级视图,通常称为装饰视图,window经过setContentView将布局中的文件添加到装饰视图中,从而将布局展现出来.

 

View:

视图:View是全部的组件的基类,它在屏幕上显示的是一个基类,View的主要的做用是:1,负责空间图形的渲染(显示)2,事件的捕获

系统提供了大量的标准的接口组件

也能够直接调用View,不过须要继承View实现组件的自定义.

三者的关系是:当activity启动时,activity进行与交互,此时就会经过内置的window对象进行窗口的展现,window对象调用View,做为该窗口的顶级视图,经过setContentView将布局中的组件添加到顶级视图中去,便实现了与用户的交互。

相关文章
相关标签/搜索