38
Android 开开开开 ——Android 开开开开开开开开开开开

Android 开发基础

  • 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

Page 1: Android 开发基础

Android开发基础——Android开发环境及应用程序简介

Page 2: Android 开发基础

•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集

Page 3: Android 开发基础

Android是什么

• Android 是什么– Android 是 google 的开放系统平台,主要应用在移动

设备上。– Android 系统基本上锁定在手机平台上– Android 3.0 (Honeycomb) 为平板电脑特别开发的– Android 2.4 (Icecream) 支持手机和平板– 由于 Android 的开源特性,设备制造商可以将其移植到

自己的移动设备上。– 自有一套软硬件使用标准,应用程序通用性好,硬件移

植、开发简单。

Page 4: Android 开发基础

Android是什么

• 使用 Android 的好处– Android 是免费的– Android 是开源的,可以根据自己平台的需要,自由定

制系统– Android 是智能系统,有丰富的应用软件和应用软件开

发商– Android 有非常友好的人机界面– Android 的兼容性及跨硬件平台特性– Android 采用 linux kernel

Page 5: Android 开发基础

Android是什么

• Google 免费的 Android ,如何赚钱的?– 广告:免费的应用程序就有广告, google 已收购

admob 公司。– Market 收费应用程序– 增值服务及流量收费。 Android 手机绑定了 google 的

一系列服务,如地图,搜索, gmail 等。– 推出一个商店向 Android 用户销售音乐和视频

– Google CEO Eric Schmidt 认为, Android 手机的使用量最终将达到 10 亿部, google 每年从每个 android用户身上赚取 10 美元并不难

Page 6: Android 开发基础

•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集

Page 7: Android 开发基础

Android的开发方式

• Android 的软件框架

Page 8: Android 开发基础

Android的开发方式

• 应用程序开发

Page 9: Android 开发基础

Android的开发方式

• 应用程序开发– Android 开发的主流方式– 起点低,开放性好,文档完备– 支持、调试、性能分析等工具多– 适宜人群广泛,无任何限制

– 目前市面上的培训及书籍所指的 Android 开发,基本上默认为应用程序开发

Page 10: Android 开发基础

Android的开发方式

• 产品分支的维护

Page 11: Android 开发基础

Android的开发方式

• 产品分支维护– Android 开发小组– Android 设备厂商– Android 最多只相当于 beta 版本, bug 比较多– 设备厂商有自己的需求,需要客制化某些功能– 支持新设备

Page 12: Android 开发基础

Android的开发方式

• 硬件设备功能的开发

Page 13: Android 开发基础

• 硬件设备功能的开发– Android 系统与硬件无关,只规范某些硬件的接口– 厂商需要为自己的硬件写 driver ,并完成 android 的

HAL ,同时要配合上层调试– 加入 android 未明确的新设备,需要 framework 新增

服务及为应用程序增加接口。

Page 14: Android 开发基础

Android的开发方式

• 新平台架构的移植

Page 15: Android 开发基础

Android的开发方式

• 新平台架构的移植– 目前为止, Android 的默认平台为 arm– 当移植到新的架构时,需要对整个 android 系统做移植– 工作量大– 技术要求高

Page 16: Android 开发基础

•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集

Page 17: Android 开发基础

Android应用程序开发

切入 Android开发的第一步是熟悉 Android应用开发

Page 18: Android 开发基础

Android应用程序开发

• Android 应用程序开发环境– Android 开发语言为 java (应用开发)– Android 开发工具 Eclipse+ADT– Android SDK– Android NDK( 一般用不上 )

(Android 支持多个系统开发,包括 windows linux 及mac)

Page 19: Android 开发基础

Android应用开发环境

• JRE 与 JDK 的安装• Eclipse 的安装• ADT 的安装• SDK 的安装与配置• 模拟器启动与配置

Page 20: Android 开发基础

Android应用开发环境

• JRE 与 JDK 安装– 为了运行 java 写的程序 ( 比如 eclipse) ,必须要安装

java virtual machine– 一般可以理解, jvm 是 java runtime environment

的一部分,需要安装 jre– 要开发 java 程序,必须安装 jdk (java development

kit<j2se即可 >) , jdk提供 java编译和运行的必要工具集, jdk 已经包含了 jre

Page 21: Android 开发基础

Android应用程序开发

• Eclipse 的安装– Eclipse 是基于 Java 的可扩展开发平台,一个著名的

IDE 。– 它是一个框架和一组服务,设计初衷是用来开发 java 程

序– 可通过外挂插件,开发 c++ 等其他语言的程序– 由于可支持外挂,第三方软件开发商可以基于其开发扩展自己的 IDE 环境

– Google 基于 Eclipse 的 android IDE 开发环境插件 – ADT

Page 22: Android 开发基础

Android应用程序开发

• Eclipse 的下载与安装– 下载: www.eclipse.org– 安装:纯绿色软件,解压即可

• 注意配置虚拟机内存,某人虚拟机要用 512M内存

Page 23: Android 开发基础

Android应用程序开发

• ADT 的安装

• SDK 的安装

• 启动模拟器

Page 24: Android 开发基础

Android应用程序开发

Page 25: Android 开发基础

Android应用程序开发

• 关于 density– Pixel: 物理像素– Density: 每英寸像素点数– dip: 设备无关像素 (逻辑像素 )

– Pixel 相同的情况下, Density越大,像素点越密,则:– 屏幕尺寸越小,– Dip 值越小– 图标越小,– 图像感官越细腻

Page 26: Android 开发基础

Android应用程序开发

• 以上内容都可以在 android SDK中有详细说明– Android 官方开发文档 :

• http://developer.android.com • 需要翻墙才可访问

– 内部网下载的 android SDK 开发文档• http://192.168.90.202

– 内网软件资源• http://192.168.90.202

Page 27: Android 开发基础

Android应用开发

• Android 工程• APK 的生成• Apk 的安装与调试

Page 28: Android 开发基础

Android应用开发

– Java 源码– Aapt生成的 R.java– Android frameworks(android.jar)– assets– Resource 文件– AndroidManifest.xml– Default.properties

Page 29: Android 开发基础

Android应用开发

– META-INF• 直接从 jar中引入的包描述信息目录

– Res• 存放资源文件的目录

– AndroidManifest.xml• Apk 程序的全局配置文件

– Class.dex• Dalvik字节码

– Resources.arsc• 编译后的二进制资源文件

Parser后的二进制 xml文件

Page 30: Android 开发基础

• Apk 的生成过程

Page 31: Android 开发基础

Android应用程序开发

• Apk 的安装与调试– Apk 的安装

• 从 host 到 target : adb push• 从 target 到 target

– 拷贝即安装– 通过 apkInstaller – 文件浏览器可直接打开安装

– Apk 的调试• Eclipse (adb + ddms + debugger)• trace

Page 32: Android 开发基础

•什么是 Android•Android 的开发方式•Android 应用开发环境•Android 工具集

Page 33: Android 开发基础

Android工具集

• Aapt (Android Asset Packaging Tool )– Android 的资源打包处理工具– 预处理资源文件 ( 图片 layout string)

• ADB (Android debug bridge)– Android 小机 /模拟器 (target) 与 PC(host) 通信的桥梁

– Android 的一些其他工具,都是依赖于 ADB 的– Adb shell 登录小机

Page 34: Android 开发基础

Android工具集

• Android– Android SDK and AVD manager.– 可通过 eclipse 启动

• Aidl– Android interface description language– 系统自动调用– 方便 java 端 IPC 接口的声明和实现– 高级技能

Page 35: Android 开发基础

• Bmgr– Backup Manager– 备份资料到云服务器– 做 factory reset 时激活,不能作为备份用– Bmgr 为开发测试用

• Ddms(Dalvik Debug Monitor Server )– 调试 java 的利器

• Draw9patch– 生成 .9.png格式的所见即所得工具

• Emulator– Qemu 模拟器

Page 36: Android 开发基础

• Heirachy Viewer– 查看 layout 的 view之间的层次关系的工具

• Layoutopt– 优化 layout 工具。– 对用户写的 layout ,给出优化建议

• Monkey– 运行在 target 机器上– 产生伪随机的用户或系统事件

• Monkey Runner– 提供通过非 android 程序来控制和测试 android 设备的

功能– 适合单元测试用

Page 37: Android 开发基础

• Proguard– java代码混淆器

• Sqlite3– Sqlite数据库的管理软件,命令行模式– 网上有可视界面的,更直观分析

• TraceViewer– 可视化的程序执行过程分析– 非常有利于 java 程序的调试及 profile

• Zipalign– 自动处理,用户无需关心– 效能考虑

Page 38: Android 开发基础

谢谢~!