android自学笔记一
android是什么我自闭不必多说,我们挑精华整理
一.android体系架构:
android从下而上分为四层:
(1)分别是linux操作系统及驱动(C语言实现)
(2)本地代码(C/C++)框架(C/C++)
(3)Java框架 (Java)
(4)Java应用程序(Java)
详见下图:
Android 的第 1 层次由 C 语言实现,第 2 层次由 C 和/C++实现,第 3、 4 层次主要由 Java 代码实现。
第 1 层次和第 2 层次之间,从 Linux 操作系统的角度来来看,是内核空间与用户空间的分界线,第 1 层次
运行于内核空间,第 2、 3、 4 层次运行于用户空间。
第 2 层次和第 3 层次之间,是本地代码层和 Java 代码层的接口。
第 3 层次和第 4 层次之间,是 Android 的系统 API 的接口,对于 Android 应用程序的开发,第 3 层次以下
的内容是不可见的,仅考虑系统 API 即可。
由于 Android 系统需要支持 Java 代码的运行,这部分内容是 Android 的运行环境( Runtime),由虚拟机和
Java 基本类组成。
对于 Android 应用程序的开发,主要关注第 3 层次和第 4 层次之间的接口。
除了软件本身的代码之外, Android 还提供了一系列工具来辅助系统开发,这些主要的工具包括:
aapt( Android Asset Packaging Tool):用于建立 zip 兼容的包( zip、 jar、 apk),也可用于将资源编译到二进
制的 assets。
adb( Android Debug Bridge, Android 调试桥):使用 adb 工具可以在模拟器或设备上安装应用程序的.apk
文件,并从命令行访问模拟器或设备。也可以用它把 Android 模拟器或设备上的应用程序代码和一个标准
的调试器连接在一起。
android 工具: android 工具是一个脚本,用于创建和管理 Android Virtual Devices ( AVDs)。
AIDL 工具( Android Interface Description Language, Android 接口描述语言工具), AIDL 工具可以生成进程
间接口的代码,诸如 Service 可能使用的接口。
AVDs( Android Virtual Devices, Android 虚拟设备)
用于配置模拟器,模拟出类似的设备效果
DDMS( Dalvik Debug Monitor Service, Dalvik 调试监视器服务):这个工具集成了 Dalvik,能够在模拟器
或者设备上管理进程并协助调试。可以使用它杀死进程,选择某个特定的进程来调试,产生跟踪数据,观
察堆( heap)和线程信息,截取模拟器或设备的屏幕画面,还有更多的功能。
dx: dx 工具用于将.class 字节码( bytecode)转换为 Android 字节码(保存在.dex 文件中)这个字节码文件
是给 Android 的 Java 虚拟机运行用的。
Draw 9-patch: Draw 9-patch 工具允许使用所见即所得( WYSIWYG)的编辑器轻松地创建 NinePatch 图形。
Emulator(模拟器):模拟器是一个运行于主机上的程序,可以使用模拟器来模拟一个实际的 Android 系统
的运行,使用模拟器非常适合调试和测试应用程序。
Hierarchy Viewer(层级观察器):层级观察器工具允许调试和优化用户界面。它用可视的方法把视图( view)
的布局层次展现出来,此外,还给当前界面提供了一个具有像素栅格( grid)的放大镜观察器。
mksdcard:帮助创建磁盘映像( disk image),可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如
SD 卡)。
Monkey: Monkey 是在模拟器或设备上运行的一个小程序,它能够产生随机的用户事件流,例如:点击
( click)、触摸( touch)、挥手( gestures),还包括一系列系统级事件。可以使用 Monkey 给正在开发的程序做随机的但可重复的压力测试。
sqlite3: sqlite3 工具能够方便地访问 SQLite 数据文件,这是一个 sqlite 标准命令行工具。
Traceview:这个工具可以将 Android 应用程序产生的跟踪日志( trace log)转换为图形化的分析视图。
android自学笔记一的更多相关文章
- Android自学笔记:Git下载源代码
Info:做J2ME几年了,现在基本没有公司用了,是时候向Android领域进军了. 自学中,难免会有疏漏,有问题请及时提出,共同学习共同进步. 2014-10-13:初版 2014-10-14:添加 ...
- Android自学笔记:环境配置
Info: 自学Android之旅第二篇,初步学习会有疏漏,以后我会不断修改补全,直到完美. 2014-10-09:初版 2014-11-12: 重新配置了一台电脑,更新在学习robotium过程中, ...
- 疯狂安卓Android自学笔记
开发者必备自学工具: 谷歌搜索:www.yundou.info Android原版开发文档 (英文) Doc http://www.phoned.cn/docs/reference/android/v ...
- android自学笔记(1):android简介
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较 多人使用“安卓 ...
- 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...
- 《Linux内核设计与实现》课本第三章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有 ...
- 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...
- android 应用笔记
android 应用笔记 android 应用笔记 小书匠 Android 综合教程 Android常用技巧 安卓系统架构 安卓源码开发 安卓驱动 Linux内核 安卓应用开发 Java 教程 tic ...
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
随机推荐
- Unity5.1 新的网络引擎UNET(十五) Networking 引用--上
http://blog.csdn.net/u010019717/article/details/46993697 孙广东 2015.7.21 本节提供了与网络系统一起使用的组件的详细信息. 1.Ne ...
- 【CITE】DrawImage方法详解(转)
Image和Bitmap类概述 GDI+的Image类封装了对BMP.GIF.JPEG.PNG.TIFF.WMF(Windows元文件)和EMF(增强WMF)图像文件的调入.格式转换以及简单处理的功能 ...
- 《Java程序设计》实验四 实验报告
实验四 Android开发基础 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 ...
- css3做的动画
基于放大缩小: http://www.credero.etall.cn/demo/jwtplay/3/content05.html 基于3d: http://www.credero.etall.cn/ ...
- 联系 管理 Hibernate4+Spring JPA+SpringMVC+Volecity搭建web应用(三)
hibernate注解实体类示例 package cn.bdqn.smvc.entity; import java.io.Serializable; import javax.persistence. ...
- HDU 2546(01背包)
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- 7月13日微软MVP社区夏日巡讲北京站活动现场图集
1.活动签到 2.活动准备工作,到场同学很多. 3.讲师讲桌 全体合影,由于我在楼下签到所以里面没有我:(
- PHP多线程类
<?php /** * @title: PHP多线程类(Thread) * @version: 1.0 * @author: phper.org.cn < web@phper.org.cn ...
- ASP.NET MVC的Ajax.ActionLink 的HttpMethod="Get" 一个重复请求的BUG
这段时间使用BootStrap+Asp.net Mvc5开发项目,Ajax.ActionLink遇到一个重复提交的BUG,代码如下: @model IList<WFModel.WF_Temp&g ...
- js使用正则表达式
参考慕课网示例: 使用js对html输入框内容进行校验: 1. 只能输入5-20个字符,必须以“字母”开头 2. 可以带“数字" “_” “.”的字串 <!DOCTYPE html P ...