1、底层是Linux内核(基于2.6系统)
包括安全管理、内存管理、进程管理、电源管理、硬件驱动
2、提供的支持库
surface Manager:界面管理 Media Framework:多媒体播放相关的 SQlite:安卓下嵌入式的数据库
OpenGL|ES:3D图形渲染引擎 FreeType:字体相关 WebKit:浏览器内核
SGL: SSL:安全相关的 libc:标准的库
3、应用程序框架
调用API
4、应用(放系统自带的应用)
5、java虚拟机和android虚拟机的比较
栈:是连续的内存空间 寄存器:CPU上的一块存储空间。 总结:dalvik比jvm执行效率高,因为CPU直接访问自己存储。
6、全称
SDK:standard develop kits
ADT: android develop tools(eclipse的插件)
adb.exe: android debug bridge (android调试桥)
开发工具有ADT和android studio 。其中android studio 基于IntelliJ IDEA开发 ,ADT是基于eclipse
android提供的扩展包里有,Android Suppert Library(兼容包) Google AdWod Ads SDK(可以发广告) Google Analyties APP Traking SDK(应用程序分析,分析当前程序有多少个用户、用户有什么样的行为) Google Cloud Messaging for Android Library (基于云的推送消息) Google USB Driver(usb驱动)
7、 模拟器
打开模拟器上面头部显示的几个数字是模拟器的端口号,也就是本机号码
platforms-tools里面dx.bat是吧“.class”文件打包成“.dex”文件
8、列出所有占用端口
在dos命令下输入 netstat -ano 然后在人物管理器中点击查看》选择列》选择PID 查看当前那个应用占用端口
9、常用adb指令
1)、adb devices 列出模拟器
2)、adb start -server 开启adb
3)、adb kill -server 杀死adb
4)、adb (-s 真机名)install xxx.apk 安装应用 (-s表示指定安装那个设备)
5)、adb install com.aa 卸载应用 用应用程序的包名
6)、dos窗口切换到指定路径,让后输入adb pull 原文件名 目标文件名 //把手机内的文件复制到指定路径上
//把文件拷到手机上是push
7)、adb shell 来到手机命令行终端
10、创建模拟器遇到的常见错误
----------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------
android自带的虚拟设备是通过sockt桥接在电脑上,电脑没网,则虚拟手机没信号
-----------------------------------------------------------------------------------------------------------------------------------------------------------
11、打电话
URI:统一资源标识符 比URL级别大
URL:统一资源定位符
12、判断为空
系统API有TextUtils(文本工具类)这个工具可以用。当然也可以自己写
isEmpty()内部实现方式
13、点击事件的四种写法
1)、创建一个内部类,定义点击事件
2)、采用匿名内部类创建点击事件
3)、让Activity实现点击事件的接口,重写onClick()方法
4)、在布局文件里面绑定一个点击的方法
14、指定颜色
在android下采用的是RGB,在windows下采用的是BGR,用颜色要调换一下
15、控制台提示time out错误(增大ADB连接响应时间)
但是在通常情况下都是模拟器socket挂掉,应用做的模拟器不稳定
16、发送短信
17、测试
1)、根据测试是否知道源代码
黑盒测试:只关心程序执行的过程和结果
白盒测试:根据源代码写测试方法或者测试用例
2)、根据测试的粒度
方法测试:function test
单元测试:unit test(测试某一快的业务逻辑是否顺利执行,一般是一个方法测试或者多个方法测试组成)
集成测试:intergration test
3)、根据测试的次数
冒烟测试:smoke test(用这个程序的时候反复不停的去执行,不停的用)、(android 猴子。。在dos命令下输入adb shell进入android命令终端,再输入# monkey,然后指定点击那个程序,或者点击的次数)
压力测试:pressure test (javaweb用这个比较多,好多用于多少个人同时访问这个网站)
18、junit测试框架配置
1)、 测试类要继承AndroidTestCase
2)、在写测试代码的时候,我们想看的是测试的结果以及是否报错,那如果运行的时候报错啦,异常我们应该把它给抛出去不能捕获。如果把异常捕获调内部消化啦,测试框架不会知道这样一个异常产生,所以在写测试代码的时候所有异常抛给测试框架
---------------------------------------------------------------------------------------------------------------------------------------------------
运行之前需要再清单文件中设置如下
----------------------------------------------------------------------------------------------------------------------------------------------------
然后运行
19、logcat日志介绍
名称 颜色(老版本,现已废弃掉)
Verbose 提醒 黑色
Debug 调试 蓝色
Info 信息 绿色
Warn 警告 橙色
Error 错误 红色