一、Android与ios的区别
二、Android系统架构
四、区别DVM与JVM
首要差别
Dalvik: 基于寄存器,编译和运行都会更快些
JVM: 基于栈, 编译和运行都会慢些
字节码的区别
Dalvik: 执行.dex格式的字节码,是对.class文件进行压缩后产生的,文件变小
JVM: 执行.class格式的字节码
运行环境的区别
Dalvik : 一个应用启动都运行一个单独的虚拟机运行在一个单独的进程中
JVM: 只能运行一个实例, 也就是所有应用都运行在同一个JVM中
五、Androidi项目组成结构
六、APK安装文件的组成结构
七、应用编译打包过程
八、Android系统文件目录结构
/ 代表系统的根目录
/data/app/ 存放着第三方的apk文件
/system/app/ 其中是系统中的应用安装文件
/data/data/packagename/ 与应用对应的文件, 在应用安装时自动生成,应用卸载时自动删除
/storage/sdcard / sd卡的文件夹
九、SDK的文件目录结构
/docs 文档目录 index.html
/platforms 包含这个版本运行所需要的jar包
/platform-tools 包含一些开发工具, 如adb.exe, sqlite3.exe
/samples 包含一些google提供的样例项目工程, 如: APIDemos
/source 包含系统的部分源码
/tools 包含一些开发工具, 如: draw9patch.bat, hierarchyviewer.bat
十、adb是什么
Android 调试桥(Android Debug Bridge)是多种用途的调试工具 帮助你管理设备或模拟器的状态
adb常用命令 :
adb [help] -show this help message
devices -list all connected devices
adb shell -run remote shell interactively
adb push <local> <remote> -copy file/dir to device
adb pull <remote> [<local>] -copy file/dir from device
adb install –r apkPath -push this package file to the device install
adb uninstall packageName -remove this app package from the device
adb start-server -ensure that there is a server running
adb kill-server - kill the server if it is running
ctrl+c -退出shell close
cls -清空屏幕 clears
十一、日志工具类
十二、单位
1、手机尺寸相关的概念
手机的尺寸: 屏幕对角线的长度,单位为英寸(2.54cm)
手机的分辨率: 屏幕能显示的像素的数量, 一般用在长方向上数量*宽方向上数量来表达
手机的像素密度: pixels per inch,也称PPi,即每英寸屏幕能显示的像素数,像素密度越大,显示画面细节就越丰富。
计算:像素密度={1+√[(长度像素数-1)^2+(宽度像素数-1)^2]}/屏幕尺寸
DPI: Dots Per Inch(每英寸所打印的点数或线数)的缩写,用来表示打印机打印分辨率, 但有时也会用dpi来代指ppi
手机的密度: Density, 以160ppi为基准, 即像素密度为160时Density为1
ldpi 120ppi 0.75
mdpi 160dpi 1.0
hdpi 240dpi 1.5
xhdpi 320dpi 2.0
2、尺寸单位
px: pixels(像素)
1px就的长度就对应屏幕一个像素点的大小
dp/dip: device-independent pixels(设备无关像素)
1dp = (dpi / 160) px
1dp = density px 160-à1px 120à0.75 320-à2px
1px = 1/density dp
sp:scaled pixels(可缩放像素)
与dp类似,但是可以根据用户的字体大小首选项进行缩放
注意: Android在运行时会自动将dp/dip/sp为单位的尺寸转换为像素单位的值
3、尺寸单位的比较
dp与px的比较?
以px为单位的长度, 在差手机上会变大, 在好手机上变小
以dp为单位则不会变化
dp与sp的比较?
用户可以在系统设置中设置文本的大小
如果字体大小使用sp为单位, 设置有效果
如果字体大小使用dp为单位, 设置没有效果
在布局文件视图的宽高尽量用match_parent/wrap_content
如果必须指定特定值, 使用dp/dip做单位
文本大小使用sp做单位
4、关于颜色
在Android中字体颜色或背景颜色使用RGB来表达
R : red 红色
G : green 绿色
B : blue 蓝色
每个色相用一个2位的十六进制的数来表达
颜色值的前面为带一个字符 : #
例子
红色: #ff0000
绿色: #00ff00
白色: #ffffff
黑色: #000000