当前位置: 代码迷 >> Android >> #Android学习笔记(2)
  详细解决方案

#Android学习笔记(2)

热度:59   发布时间:2016-04-28 00:08:35.0
#Android学习笔记(二)#

Android学习笔记(二)

学习内容:

  • Android技术结构图
  • Android的目录结构
  • Android程序打包 & 安装卸载的过程
  • Activity的启动流程

[TOC]
***

Android 技术结构图:

Android技术结构图

解释:

  • 第一层 Android最底层还是Linux技术,里面包含了苏需要的Display、Camera、Keypad等等的驱动程序。
  • 第二层 由Libraries 和 Android RunTime 组成 这里面包含了java运行所需的虚拟机。
  • 第三层 就是application framework
  • 第四层 就是我们学习的Android应用程序设计层。

Android的目录结构

解释

src/
存放源代码的地方.

bin/
编译后的输出目录。这里你可以找到.apk文件和其他编译后的资源.

gen/
包含R.java文件,这个文件是由ADT自动生成的,请不要随意修改它

assets/
你能在这里放入原始的asset 文件。例如一些文档,这里的文件会保留原来的文件名被编译到.apk文件中,并且你还能使用文件系统的URL机制来读取文件,例如使用AssetManager类来读取一个字节流。

res/
包含应用程序的资源,如drawable文件, layout文件, string值.

anim/
这里可以放入动画XML文件

color/
这里可以放入颜色XML文件

drawable/
这里可以放入位图(PNG,JPEG,GIF)还有9-Patch图片文件,并且也能放置XML文件用来描述Drawable形状和Drawable对象的多种状态切换

layout/
这里可以放入布局XML文件

menu/
这里可以放入定义菜单的XML文件

raw/
这里和assets/差不多都是放入原始的asset文件。但访问的方式与assets/不同。这里必须用R文件来引用,例如如果需要在这里放入一个bg.ogg音频文件,那么请这样调用R.id.bg 。一般来说这里都是放多媒体文件

values/
这里可以放入许多种类的XML文件。不同于其他res/目录下的资源。这个文件夹下的XML文件不能由文件名直接引用。但XML文件中的节点可以控制R文件定义的名字。
xml/
一些用来配置App组件的其他XML文件。
libs/
包含似有的一些库文件。
AndroidManifest.xml
用来描述App的性质和它的每一个组件的一种控制型文件。 例如:需求的API Levels ,描述四大组件的特征,权限等。(即清单文件)。

project.properties
这个文件包含项目的设置,如编译target。他属于项目的一个部分。

如果使用一些项目管理工具:如ant,还可能包含如下:

ant.properties
构建系统的自定义属性。Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。例如Ant文件构建就是我们常所知道的src,lib,class这样的目录结构,Eclipse就是这种目录结构。如果你使用Eclipse,这个文件不会被使用。
build.xml
为你的项目构建Ant文件。仅仅适用于为Ant构建的项目。

Android程序打包 & 安装卸载的过程

打包 bin目录下:

  • 先把 Android 里的 java 内部类、外部类代码编译得到 class 文件,然后打包成 classes.dex 文件。
  • 再把 Android 里的资源文件打包成 resources.app
  • 再把 AndroidManiFest.xml 一起打包起来就得到 apk 压缩文件了。
  • 最后签名就可以了

安装与卸载
Android的安装就是把apk 文件复制到 /data/app/xxx-1.apk , 然后在 /data/data/里创建一个文件夹,文件夹的名称为程序的包名。

扩展名和程序的绑定
在Windows下是有注册表来管理的,而在Android里则是在 /data/system/里有个文件为 package.listpackage.xml 文件。

Activity的启动流程

Android ---》 AndroidManifest.xml ---》MainActivity

  相关解决方案