Android简介
1.Android概述
- 什么是Android?Android的发展.
- Android的四层体系架构
- Android的应用开发体系
2.环境搭建resource
- Android集成开发环境下载与解压
- Android集成开发环境目录说明
- Eclipse工具的使用说明
- AVD创建参数说明
- 启动AVD与DDMS说明
3.第一个Android项目HelloWord
- Eclipse中创建Android项目
- Android项目目录说明
- 运行Android项目
4.扩展知识
- Genymotion模拟器
- 常用adb命令
- JVM与DVM的区别
5.Android的学习方法
- 课堂笔记的记录方式
- Android API文档的使用
- 英语工具的使用
二.本节知识点学习要求
- 了解Android系统
- 掌握Android四层体系架构
- 了解Android应用开发休系
- 掌握Android环境搭建
- 掌握Android项目的创建与运行
- 掌握Android学习方法
三.Android知识点详细讲解
一、Android概述
<1>.什么是Android 【掌握】
简单地说,就是一款基于Linux内核的手机操作系统。
l手机设备的软件栈,包括
l一个完整的操作系统l中间件l关键的应用程序
l底层是linux内核
l安全管理l内存管理l进程管理l电源管理l硬件驱动
<2>.Android系统特点【了解】
l开放
l开源lJava语言
<3>.不同移动平台简介【了解】
BlackBelrry,Symbian,Windows Phone,IOS,Android
<4>.Android发展史【了解】
- Android公司于2003年在美国加州成立,创始人Andy Rubin;
- 2005年由Google收购注资;
- 2007年,组建开放手机联盟;2007年11月12日,Google发布Android1.0操作系统;
- 2008年9月,首款搭载Android 1.0 OS的Android手机诞生T-Mobile G1。不支持触摸输入,因此G1配置实体键盘。(HTC宏达电代加工);
- 2009年4月30日发布Android 1.5 Cupcake。这是Android发展历史上第一个重要的里程碑。此后,Android系统版本都是以甜点进行命名,并以字母排序;
- 2009年9月15日发布Android 1.6 Donut。Android1.6首次支持了CDMA网络;
- 2009年11月Android 2.0 Eclair降临了。它是Android发展历史上第二个重要的里程碑;
- 截止到2010年,android成为全球第一大智能手机操作系统。2010年5月20日发布Android 2.2 Froyo。直到Android2.2发布时,谷歌似乎才开始认真考虑Android的企业级功能;
- 2010年12月7日发布Android 2.3 Gingerbread。该版本开始对NFC的支持(Near Field Communication);
- 2011年2月2日发布Android 3.0 Honeycomb。“蜂巢”正式进军平板电脑。
- 2011年10月19日在香港发布Android4.0 Sandwich。4.0是Android发展历史上又一次重大的升级;
- 2012年6月28日发布Android 4.1/4.2 Jellybean。Android4.1是谷歌继蜂巢之后,一次全新的平板策略尝试。
<5>.Android版本更替【掌握】
- 1.0 Astral(阿童木) 2008-9-23 API 1
- 1.1 Bender(发条机器人) 2009-02 API 2
1.5 Cupcake(纸杯蛋糕) 2009-4-30 API 3
- 1.6 Donut(甜甜圈) 2009-9-15 API 4
- 2.0/2.0.1/2.1 Eclair(闪电泡芙) 2009-10-26 API 7
- 2.2 Froyo (冻酸奶) 2010-5-20 API 8
- 2.3.1/2.3.3 Gingerbread(姜饼) 2010-12-7 API 9/API 10
- 3.0/3.1/3.2 Honeycomb (蜂巢) 2011-2-2 API 11/12/13
- 4.0/4.0.3 Icecream Sandwich (冰激凌三明治 2011-10-19 API 14/15
- 4.1.2/4.2.2/4.3 JellyBean(果冻豆) 2012-2013 API 16/17/18
- 4.4 KitKat (奇巧巧克力) 2013-10 API 19
- 5.0 L(棒棒糖) 2014-6
①.从2007年11月Google发布Android 1.0 Beta版开始,Android经历了1.x、2.x、3.x和4.x几个时代;②.1.x和2.x只支持Android手机;③.3.x是专门用在Android平板电脑上的版本;④.4.0开始,Android将手机和平板电脑两种平台上的系统合二为一.
Google官方数据:2013年7月Android版本市场份额分布图
<6>.Android的四层体系架构【掌握】
1. 系统核心层(Linux Kernel):是硬件和其他软件堆层之间的一个抽象隔离层。
2.(本地库)执行层c/c++函数库层(Libraries)及Android Runtime:
- Java不能直接访问硬件,要访问硬件,必须使用NDK。NDK是由c/c++语言编写的库(.so文件),该层是对应用程序框架层提供支持的层。
- 本地库:提供一组基于C/C++的函数库;
- 运行环境:包括核心库和Dalvik虚拟机.核心库提供android系统特有的函数功能和java语言函数功能;Dalvik虚拟机实现基于linux内核的线程管理底层的内存管理。
4.应用程序层(Applications):由运行在Dalvik虚拟机上的app组成。(Dalvik是Google公司为Android专门设计的Java虚拟机,运行 Java程序的速度比JVM更快)。 该层由Java语言编写。
<7>.Android的应用开发体系
- Android开发环境配置
- Android界面编程(常用布局、基本组件)
- Android高级组件编程(Dialog设计、ListView设计及分页、Toast、Notification、Menu、WebView)
- 事件处理
- Activity及Intent
- Android应用资源的访问
- Android网络应用开发及异步任务AsyncTask
- Android数据存储(内部存储及SDcard存储)和IO
- 使用ContentProvider实现数据共享
- Service编程
- Broadcast编程
- 图像图像处理
- 多媒体应用开发
- 传感器应用开发
- GPS应用开发
- 性能优化、apk安装、平板技术开发
<8>.Android学习路线图:
- 学习Android要具备的基础知识
- JavaSE基本知识:集合、IO操作、线程
- WEB开发知识:HTML、jsp、servelet
- 服务器开发知识:jdbc数据库操作(Mysql)
二、Android开发环境搭建
<1>.移动开发的三要素【了解】
①.SDK:每一种移动平台都会提供一套SDK供开发者开发应用程序。
- JavaSDK(software development kit)
- AndroidSDK
②.Emulator(模拟器):每一种移动平台均会提供一个模拟器用于在PC上调试和运行程序
开发工具中自带的模拟器;genymotion模拟器;真机。
③.IDE:集成开发环境,允许开发者开发和调试程序,并将程序部署在目标机上运行
- Eclipse及ADT插件(android development tools)
<2>.开发环境搭建方法【了解】
①.方法一:下载并安装Java SDK -> 下载Eclipse -> 下载Android SDK -> 安装并配置ADT ->创建配置AVD
②.方法二:从Android官网上直接下载已打包好的Android开发工具包
<3>.具体搭建过程【掌握】
方法一的安装步骤:
1.下载并安装Java SDK:下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.下载eclipse:下载地址:http://www.eclipse.org/downloads/
3.下载Android SDK:下载地址:http://developer.android.com/sdk/index.html
4.安装ADT:安装ADT有两种方式:(1)先下载,然后从本地安装
下载地址:http://developer.android.com/sdk/installing/installing-adt.html
下载好ADT的压缩包之后,进行解压缩;然后打开Eclipse,从顶部菜单栏选择Help -> Install New Software,在Eclipse插件安装界面中,找到刚才已解压的ADTPlugin文件夹。(2)直接在线安装:
启动Eclipse,点击Help ->Intall New Software插件安装界面中,在“Location”栏中输入ADT在网络上的地址:https://dl-ssl.google.com/android/eclipse/,如果无法下载,换为:http://dl-ssl.google.com/android/eclipse/
配置ADT:
启动Eclipse,在菜单栏中选择Windows -> Preferences,点击Android这个条目,将SDK Location栏中的内容设置为Android SDK文件夹的路径。至此,Android开发环境已搭建完毕。
方法二的安装步骤:android studio
<4>.Eclipse的首选项设置:字符集设置:
- General——Editors——TextEditors——Spelling——UTF-8
- General——Workspace——Other——UTF-8
<5>.Android-sdk目录结构介绍
- tools
- platforms
- platform-tools
- sources
<6>.开发Android的Eclipse视图设置
- DDMS:Dalvik Debug Monitor Service
- LogCat:Log的五个等级:verbose<debug<info<warn<error
- AVD Manager
- SDK Manager
- AAPT:Android Asset Packaging Tool,Android打包工具
- 其它首选项设置
<7>.eclipse关联源码点击需要访问的类或者方法,显示界面如下图:
三、第一个Android小程序--HelloWorld及Android项目目录结构介绍
点击“Attach source”,进入下一个界面,选择"External location" , 选择“External Folder”,找到android_sdk下面的sources目录下的某个子目录即可。
①. HelloWorld小程序初体验:
在xml布局文件中给一个文本控件的id赋值;
在MainActivity的onCreate方法中,加载该文本控件;
给该文本控件赋值。
②.Android程序目录结构
- src(开发人员源码放置目录):source-->src
- gen(自动生成R.java,所有的资源文件都会在R.java文件中以final static 内部类的形式被注册。所以可以通过R..id,R.layout等形式来访问资源。)
- assets(资产目录。在这个目录中放置的资源文件,不会在R.java文件中被注册。一般程序中的音频或视频文件可以放置在这个目录下。)
- bin(编译后的class等文件在此目录。系自动生成)
- libs(项目自动生成)
- res(资源文件。是Android编程中最重要的目录。所有的资源都定义在这个目录下。)resource-->res
- drawable(图片放置的目录)【备注:android中不允许图片资源的文件名中出现大写字母,并且不能以数字开头】
- layout(布局文件放置的目录)
- menu(菜单文件放置的目录)
- values(字符串、尺寸等文件放置的目录)
- AndroidManifest.xml (Android清单文件——是Android开发中非常重要的文件。
- 该文件中定义了本App的包名和版本号;
- 适用的手机操作系统最大及最小的兼容版本号;
- 注册和管理Android的应用组件;
- 用户权限的声明等等。
【备注:】res和assests目录的不同:
- 是否在R.java文件中被注册;
- res所放的文件类型是规定好的;而assests目录下放置的文件类型不限制;
- 访问方法不同。res中文件使用R.内部静态类.id来访问;而assest中的文件通过IO流来访问
1.genymotion模拟器的安装.
2.常用的adb命令:Android debug bridge
1. 显示系统中全部Android平台:android list targets2. 显示系统中全部AVD(模拟器)
android list avd
3. 创建AVD(模拟器):android create avd --name 名称 --target 平台编号4. 启动模拟器:emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)5. 删除AVD(模拟器):android delete avd --name 名称6. 创建SDCard:mksdcard 1024M ~/名称.img7. AVD(模拟器)所在位置:Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)8. 启动DDMS:ddms9. 显示当前运行的全部模拟器:adb devices10. 对某一模拟器执行命令:abd -s 模拟器编号 命令11. 安装应用程序:adb install -r 应用程序.apk12. 获取模拟器中的文件:adb pull <remote> <local>13. 向模拟器中写文件:adb push <local> <remote>14. 进入模拟器的shell模式:adb shell15. 启动SDK文档实例下载管理器:android16. 卸载apk包:adb shellcd data/apprm apk包exitadb uninstall apk包的主包名adb install -r apk包17. 查看adb命令帮助信息:adb help18. 在命令行中查看LOG信息:adb logcat -s 标签名19. adb shell后面跟的命令主要来自:源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。20. 删除系统应用:adb remount (重新挂载系统分区,使系统分区重新可写)。adb shell cd system/app rm *.apk21. 获取管理员权限:adb root22. 启动Activity:adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。23、发布端口:你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:adb forward tcp:5555 tcp:800024、复制文件:你可向一个设备或从一个设备中复制文件, 复制一个文件或目录到设备或模拟器上:adb push <source> <destination></destination></source>如:adb push test.txt /tmp/test.txt从设备或模拟器上复制一个文件或目录:adb pull <source> <destination></destination></source>如:adb pull /addroid/lib/libwebcore.so25、搜索模拟器/设备的实例:取得当前运行的模拟器/设备的实例的列表及每个实例的状态: adb devices26、查看bug报告:adb bugreport27、记录无线通讯日志:一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:adb shell logcat -b radio28、获取设备的ID和序列号:adb get-productadb get-serialno29、访问数据库SQLite3adb shell sqlite3#cd system/sd/data //进入系统内指定文件夹#ls //列表显示当前文件夹内容#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件#rm xxx //删除文件xxx#rmdir xxx //删除xxx的文件夹
3.JVM与DVM的区别.
①.编译过程:JVM:.java--->.class--->.jar;DVM:.java--->.class--->.dex--->.apk;②.基于的架构:JVM:基于栈的架构;DVM:基于寄存器的架构;