1 Android环境搭建
Nexus系列,谷歌亲儿子
miui
魅族 flyme
HTC Sense
华为
原生
碎片化问题
屏幕大小:2.6寸 3.2、3.0、3.5、3.7、4.0、4.3、4.7、5、5.1
屏幕分表率:320*480、480*800、720P、1080K、2K、4K
研究:手机适配
Android的开发者网站:http://developer.android.com/index.html
SDK:软件开发工具包(SoftwareDevelopment Kit)
JDK: Java开发工具包(JavaDeveloper's Kit)
ADT:安卓软件开发工具(Android Development Tools)
1.1 Android简介
【
Dalvik VM和JVM的区别:1、执行的字节码的区别 (Dalvik执行.dex格式的字节码、JVM执行.class格式的字节码)
2、基于的架构不同(Dalvik基于寄存器、JVM 基于栈:基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。)
Android的新虚拟机ART:
Dalvik:应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率
ART:应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用,应用的启动和执行速度都会显著提升
】
1.2 开发环境的搭建
1、JDK:JavaDevelopment Kit,Java开发工具包
AS要求JDK7或以上
Eclipse要求JDK6或以上
2、IDE
有两个选择:AS、Eclipse
如果选择的是Eclipse,那么就需要安装ADT插件
ADT:AndroidDevelopment Tools,是在Eclipse上的插件,通过安装插件可以实现在Eclipse中进行Android开发
在Eclipse中安装ADT的步骤:
Help——> Install New Software...
PS:推荐使用Android提供的adt-bundle
3、SDK:SoftwareDevelopment Kit,软件开发工具包
文件夹中的主要内容:
docs:离线文档
platforms:开发平台
samples:案例
sources:API的源代码
system-images:系统镜像,用于SDK自带的虚拟机(AVD)
SDKManager.exe:SDK管理器工具
推荐网址:www.androiddevtools.cn
PS:如果你的电脑是intel芯片,那么就可以安装intel硬件加速驱动,如在安装此管理器时报错,那么久需要重启电脑,进入BIOS进行设置。进入BIOS中, 找到IntelVirtual Technology选项, 设置成Enabled.
在Eclipse中绑定SDK:Window ——>Preferences ——> Android ——> SDK Location
4、运行和调试
1)真机调试(推荐)
需要在系统上安装该机器的驱动(可以使用手机助手安装),还需要一根USB线
2)SDK自带的虚拟机
3)使用第三方的虚拟机:Genymotion
注意事项: 1、使用前必须先注册
2、使用Vitual Box版本不要太新,建议使用4.3.12
3、如果在使用的过程中出现问题,可以以兼容模式运行,要注意的是如果Genymotion是以兼容模式运行,那么Eclipse(我们会在Eclipse安装Genymotion插件)和VitualBox都必须也以相同的兼容模式运行
【
“Genymotion”: “http://plugins.genymotion.com/eclipse”
】
DDMS的使用,可以用于管理监控已连接的设备,但是有时候会出现断开连接或连接不上的情况,主要有以下情况
1、如果使用的是自带的虚拟机,那么高版本的虚拟机在使用电话功能的时候,会断开连接
2、设备连接超时,碰到这种情况,我们只要把超时的时间调的长一些就行了
window——> preferences ——> Android ——> DDMS ——> ADB connection timeout(ms)
如果设备已经断开连接怎么办?
1、重启虚拟机
2、重启ADB
3、重启电脑
1.3 第一个Android应用程序
Android系统规定在系统中是用包名来区分各个应用程序
Activity:我们可以将它理解为是一个用于描述APP中某个界面的类
工程目录介绍:
1、src:源代码
2、bin:编译后的文件
3、libs:第三方jar包
4、gen:自动生成的文件,不需要修改
5、Android5.0.1:Android的核心API(包含了JavaSE的核心API)
6、AndroidPrivate Libraries:当前工程关联的第三方jar包
7、assets:资产目录
8、res:resources,资源文件夹,存放的是资源文件
9、AndroidManifest:清单文件(重要)
清单文件中的内容主要保存的就是当前工程的相关信息,比如有包名、版本、支持的最低系统版本,应用程序的名称、标题、主题等信息
10、proguard-project.txt:代码混淆文件
11、project.properties:配置文件,用于配置当前工程的编译版本