Upload
adriel
View
395
Download
0
Embed Size (px)
DESCRIPTION
Android 开发基础. —— Android 开发环境及应用程序简介. 什么是 Android Android 的开发方式 Android 应用开发环境 Android 工具集. Android 是什么. Android 是什么 Android 是 google 的开放系统平台,主要应用在移动设备上。 Android 系统基本上锁定在手机平台上 Android 3.0 (Honeycomb) 为平板电脑特别开发的 Android 2.4 (Icecream) 支持手机和平板 由于 Android 的开源特性,设备制造商可以将其移植到自己的移动设备上。 - PowerPoint PPT Presentation
Citation preview
Android开发基础——Android开发环境及应用程序简介
•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集
Android是什么
• Android 是什么– Android 是 google 的开放系统平台,主要应用在移动
设备上。– Android 系统基本上锁定在手机平台上– Android 3.0 (Honeycomb) 为平板电脑特别开发的– Android 2.4 (Icecream) 支持手机和平板– 由于 Android 的开源特性,设备制造商可以将其移植到
自己的移动设备上。– 自有一套软硬件使用标准,应用程序通用性好,硬件移
植、开发简单。
Android是什么
• 使用 Android 的好处– Android 是免费的– Android 是开源的,可以根据自己平台的需要,自由定
制系统– Android 是智能系统,有丰富的应用软件和应用软件开
发商– Android 有非常友好的人机界面– Android 的兼容性及跨硬件平台特性– Android 采用 linux kernel
Android是什么
• Google 免费的 Android ,如何赚钱的?– 广告:免费的应用程序就有广告, google 已收购
admob 公司。– Market 收费应用程序– 增值服务及流量收费。 Android 手机绑定了 google 的
一系列服务,如地图,搜索, gmail 等。– 推出一个商店向 Android 用户销售音乐和视频
– Google CEO Eric Schmidt 认为, Android 手机的使用量最终将达到 10 亿部, google 每年从每个 android用户身上赚取 10 美元并不难
•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集
Android的开发方式
• 应用程序开发
Android的开发方式
• 应用程序开发– Android 开发的主流方式– 起点低,开放性好,文档完备– 支持、调试、性能分析等工具多– 适宜人群广泛,无任何限制
– 目前市面上的培训及书籍所指的 Android 开发,基本上默认为应用程序开发
Android的开发方式
• 产品分支的维护
Android的开发方式
• 产品分支维护– Android 开发小组– Android 设备厂商– Android 最多只相当于 beta 版本, bug 比较多– 设备厂商有自己的需求,需要客制化某些功能– 支持新设备
Android的开发方式
• 硬件设备功能的开发
• 硬件设备功能的开发– Android 系统与硬件无关,只规范某些硬件的接口– 厂商需要为自己的硬件写 driver ,并完成 android 的
HAL ,同时要配合上层调试– 加入 android 未明确的新设备,需要 framework 新增
服务及为应用程序增加接口。
Android的开发方式
• 新平台架构的移植
Android的开发方式
• 新平台架构的移植– 目前为止, Android 的默认平台为 arm– 当移植到新的架构时,需要对整个 android 系统做移植– 工作量大– 技术要求高
•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集
Android应用程序开发
切入 Android开发的第一步是熟悉 Android应用开发
Android应用程序开发
• Android 应用程序开发环境– Android 开发语言为 java (应用开发)– Android 开发工具 Eclipse+ADT– Android SDK– Android NDK( 一般用不上 )
(Android 支持多个系统开发,包括 windows linux 及mac)
Android应用开发环境
• JRE 与 JDK 的安装• Eclipse 的安装• ADT 的安装• SDK 的安装与配置• 模拟器启动与配置
Android应用开发环境
• JRE 与 JDK 安装– 为了运行 java 写的程序 ( 比如 eclipse) ,必须要安装
java virtual machine– 一般可以理解, jvm 是 java runtime environment
的一部分,需要安装 jre– 要开发 java 程序,必须安装 jdk (java development
kit<j2se即可 >) , jdk提供 java编译和运行的必要工具集, jdk 已经包含了 jre
Android应用程序开发
• Eclipse 的安装– Eclipse 是基于 Java 的可扩展开发平台,一个著名的
IDE 。– 它是一个框架和一组服务,设计初衷是用来开发 java 程
序– 可通过外挂插件,开发 c++ 等其他语言的程序– 由于可支持外挂,第三方软件开发商可以基于其开发扩展自己的 IDE 环境
– Google 基于 Eclipse 的 android IDE 开发环境插件 – ADT
Android应用程序开发
• Eclipse 的下载与安装– 下载: www.eclipse.org– 安装:纯绿色软件,解压即可
• 注意配置虚拟机内存,某人虚拟机要用 512M内存
Android应用程序开发
• ADT 的安装
• SDK 的安装
• 启动模拟器
Android应用程序开发
Android应用程序开发
• 关于 density– Pixel: 物理像素– Density: 每英寸像素点数– dip: 设备无关像素 (逻辑像素 )
– Pixel 相同的情况下, Density越大,像素点越密,则:– 屏幕尺寸越小,– Dip 值越小– 图标越小,– 图像感官越细腻
Android应用程序开发
• 以上内容都可以在 android SDK中有详细说明– Android 官方开发文档 :
• http://developer.android.com • 需要翻墙才可访问
– 内部网下载的 android SDK 开发文档• http://192.168.90.202
– 内网软件资源• http://192.168.90.202
Android应用开发
• Android 工程• APK 的生成• Apk 的安装与调试
Android应用开发
– Java 源码– Aapt生成的 R.java– Android frameworks(android.jar)– assets– Resource 文件– AndroidManifest.xml– Default.properties
Android应用开发
– META-INF• 直接从 jar中引入的包描述信息目录
– Res• 存放资源文件的目录
– AndroidManifest.xml• Apk 程序的全局配置文件
– Class.dex• Dalvik字节码
– Resources.arsc• 编译后的二进制资源文件
Parser后的二进制 xml文件
• Apk 的生成过程
Android应用程序开发
• Apk 的安装与调试– Apk 的安装
• 从 host 到 target : adb push• 从 target 到 target
– 拷贝即安装– 通过 apkInstaller – 文件浏览器可直接打开安装
– Apk 的调试• Eclipse (adb + ddms + debugger)• trace
•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集
Android工具集
• Aapt (Android Asset Packaging Tool )– Android 的资源打包处理工具– 预处理资源文件 ( 图片 layout string)
• ADB (Android debug bridge)– Android 小机 /模拟器 (target) 与 PC(host) 通信的桥梁
– Android 的一些其他工具,都是依赖于 ADB 的– Adb shell 登录小机
Android工具集
• Android– Android SDK and AVD manager.– 可通过 eclipse 启动
• Aidl– Android interface description language– 系统自动调用– 方便 java 端 IPC 接口的声明和实现– 高级技能
• Bmgr– Backup Manager– 备份资料到云服务器– 做 factory reset 时激活,不能作为备份用– Bmgr 为开发测试用
• Ddms(Dalvik Debug Monitor Server )– 调试 java 的利器
• Draw9patch– 生成 .9.png格式的所见即所得工具
• Emulator– Qemu 模拟器
• Heirachy Viewer– 查看 layout 的 view之间的层次关系的工具
• Layoutopt– 优化 layout 工具。– 对用户写的 layout ,给出优化建议
• Monkey– 运行在 target 机器上– 产生伪随机的用户或系统事件
• Monkey Runner– 提供通过非 android 程序来控制和测试 android 设备的
功能– 适合单元测试用
• Proguard– java代码混淆器
• Sqlite3– Sqlite数据库的管理软件,命令行模式– 网上有可视界面的,更直观分析
• TraceViewer– 可视化的程序执行过程分析– 非常有利于 java 程序的调试及 profile
• Zipalign– 自动处理,用户无需关心– 效能考虑
谢谢~!