Android学习笔记一之Android基础
2016-06-12 10:26
507 查看
Android学习笔记
Android是Andy rubin创立的一个手机操作系统,后来被Google收购。而Andy Rubin也成为Google公司Android产品的总负责人。
以下是Android各版本发布时间和名称:
系统版本名称 | API版本号 | 发布时间
1. Android1.0 1 2008年09月
2. Android 1.5:Cupcake:纸杯蛋糕 3 2009年04月30日
3. Android1.6:Donut:甜甜圈 4 2009年09月15日
4. Android 2.0/2.0.1/2.1:Eclair:松饼 5/6/7 2009年10月26日
5. Android 2.2/2.2.1:Froyo:冻酸奶 8 2010年05月20日
6. Android 2.3:Gingerbread:姜饼 9 2010年12月07日
7. Android 3.0:Honeycomb:蜂巢 11 2011年02月02日
8. Android 3.1:Honeycomb:蜂巢 12 2011年05月11日
9. Android 3.2:Honeycomb:蜂巢 13 2011年07月13日
10. Android 4.0:Ice Cream Sandwich:冰激凌三文治 14 2011年10月19日
11. Android 4.1:Jelly Bean:果冻豆 16 2012年06月28日
12. Android 4.2:Jelly Bean:果冻豆 17 2012年10月30日
13. Android 4.3:Jelly Bean:果冻豆 18 2013年07月25日
14. Android4.4:KitKat:奇巧巧克力 19 2013年11月01日
15. Android 5.0:Lollipop:棒棒糖 21 2014年10月16日
16. Android 6.0 Marshmallow:棉花糖 22 2015年05月28日
17. Android 7.0 N预览版 23 2016年05月18日
1.2、Android系统特性和平台架构
Android特性
• 应用程序框架支持组件的重用与替换
• Dalvik 虚拟机专为移动设备优化
• 集成的浏览器基于开源的WebKit 引擎
• 优化的图形库包括定制的2D 图形库,基于OpenGL ES 1.0的3D 图形库
• SQLite 用作结构化的数据存储
• 多媒体支持包括常见的音频、视频和静态图像格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG , GIF)
• GSM 电话技术(依赖于硬件)
• 蓝牙Bluetooth, EDGE, 3G, 和WiFi(依赖于硬件)
• 照相机,GPS,指南针,和加速度计(accelerometer)(依赖于硬件)
• 丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成开发环境插件
Android系统架构:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/03a9fd360ba927af0d5ec3fd6c27c4a5)
Android系统与其他操作系统一样,从高层到底层总共分成四层:应用程序层、应用程序框架层、系统运行库层和Linux内核层
应用程序层:
我们常说的应用开发就是基于应用层(Application),应用层包括开发者的应用和一些系统的核心应用。目前都是采用Java语言开发
应用框架(application framework)层:
开发者可以完全访问核心应用的API框架,无论是我们自己开发的应用或者系统内置的应用,都必须用到这一层提供的API,将具体的服务和系统隐藏。例如:我们想要开发一个电话黑名单的功能,可以通过电话管理(TelephonyManager)实现黑名单号码的自动挂断,不需要我们去关心底层实现
Libraries(库) + Android Runtime(Android运行时)层;
Android系统为我们提供的可以被不同组件使用C/C++库的集合,开发者不能直接调用这个C/C++库,但是可以通过调用应用框架层来实现调用这个库。
核心库的介绍:
系统 C 库:一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。
媒体库:基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。
Surface Manager:对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。
LibWebCore:一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图,也为webview提供支持。
SGL:底层的2D图形引擎
3DLibraries:基于OpenGL ES1.0API实现的3D系统,这套3D库既可以使用硬件3D加速(如果硬件系统支持),也可以使用高度优化的软件3D加速
FreeType:位图和向量字体显示
SQLite:供所有应用使用的、功能强大的轻量级关系数据库
Linux内核层:
一些底层的硬件驱动,Android是基于linux2.6
下载安装JDK
可以通过oracle官网下载:
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
安装JDK之后配置环境变量:
新建系统环境变量
变量名:JAVA_HOME 变量值:JDK的安装路径
变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
在path环境变量中添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Win+R快捷键呼出命令面板,运行cmd命令 输入 javac 验证环境变量是否配置成功
下载Android SDK:
直接去Google官网下载http://developer.android.com/intl/zh-cn/index.html
国内镜像 http://android.xsoftlab.net/index.html
可以去AndroidDevTools下载:http://www.androiddevtools.cn/
2.2、开发环境配置
2.2.1 使用Eclipse+ADT+Android SDK作为开发
直接使用打包好的:
32位版:adt-bundle-windows-x86-20140702.zip
64位版:adt-bundle-windows-x86_64-20140702.zip
下载解压,然后直接创建一个Helloworld工程!
自行配置
下载Eclipse http://www.eclipse.org/downloads/
下载ADT:http://www.androiddevtools.cn/
配置
Eclipse配置:解压Eclipse,设置好工作空间
ADT配置:依次点击菜单栏:help -> Install new software -> Add -> Local… ->选中下载加压后的ADT的文件夹 ->accept -> 重启Eclipse ->看菜单栏是否出现Android小图标
SDK配置:依次点击菜单栏:windows -> Rreferences -> Android ->选中解压的SDK包 -> OK ->打开重新验证 4.创建AVD(安卓模拟器):依次点击菜单栏:手机小图标 -> New -> 选定系统版本 -> Skin屏幕分辨率 ->设置下SD卡大小 -> 完成 -> start即可
目录分析:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202004/27/dd870a2d68e9a919026f885598e07a41)
src目录:包含App所需的全部程序代码文件,我们大多数时候都是在这里编写我们的Java代码的
gen目录:只关注R.java文件,它是由ADT自动产生的,里面定义了一个R类,可以看作一个id(资源编号)的字典,包含了用户界面,图形,字符串等资源的id,而我们平时使用资源也是通过R文件来调用的,同时编译器也会看这个资源列表,没有用到的资源不会被编译进去,可以为App节省空间
assets目录:存放资源,而且不会再R.java文件下生成资源id,需要使用AssetsManager类进行访问
libs目录:存放一些jar包,比如v4,v7的兼容包,又或者是第三方的一些包
res资源目录:存放资源的,drawable:存放图片资源;layout:存放界面的布局文件,都是XML文件; values:包含使用XML格式的参数的描述文件,如string.xml字符串,color.xml颜色,style.xml风格样式等
AndroidManifest.xml配置文件:系统的控制文件,用于告诉Android系统App所包含的一些基本信息,比如组件,资源,以及需要的权限,以及兼容的最低版本的SDK等
注意:需要打开console、File Explorer、logcat视图。与Java不同,我们的App运行在虚拟机上,在Java的控制台只有安装状态而已,所以我们会在Logcat上查看程序运行的日志
2.2.2 使用Android studio开发
Android studio下载
官网下载:http://developer.android.com/sdk/installing/studio.html 需要翻墙
Android Dev Tools下载:http://www.androiddevtools.cn/ 不需要翻墙
中文社区下载:http://www.android-studio.org/
Android studio安装:一直下一步
创建Hello Word工程:
第一次启动Android studio需要配置gradle,下载SDK,花费时间比较久。
可以看这篇博客:/article/1503788.html
1、 Android平台介绍
1.1、Android系统版本介绍Android是Andy rubin创立的一个手机操作系统,后来被Google收购。而Andy Rubin也成为Google公司Android产品的总负责人。
以下是Android各版本发布时间和名称:
系统版本名称 | API版本号 | 发布时间
1. Android1.0 1 2008年09月
2. Android 1.5:Cupcake:纸杯蛋糕 3 2009年04月30日
3. Android1.6:Donut:甜甜圈 4 2009年09月15日
4. Android 2.0/2.0.1/2.1:Eclair:松饼 5/6/7 2009年10月26日
5. Android 2.2/2.2.1:Froyo:冻酸奶 8 2010年05月20日
6. Android 2.3:Gingerbread:姜饼 9 2010年12月07日
7. Android 3.0:Honeycomb:蜂巢 11 2011年02月02日
8. Android 3.1:Honeycomb:蜂巢 12 2011年05月11日
9. Android 3.2:Honeycomb:蜂巢 13 2011年07月13日
10. Android 4.0:Ice Cream Sandwich:冰激凌三文治 14 2011年10月19日
11. Android 4.1:Jelly Bean:果冻豆 16 2012年06月28日
12. Android 4.2:Jelly Bean:果冻豆 17 2012年10月30日
13. Android 4.3:Jelly Bean:果冻豆 18 2013年07月25日
14. Android4.4:KitKat:奇巧巧克力 19 2013年11月01日
15. Android 5.0:Lollipop:棒棒糖 21 2014年10月16日
16. Android 6.0 Marshmallow:棉花糖 22 2015年05月28日
17. Android 7.0 N预览版 23 2016年05月18日
1.2、Android系统特性和平台架构
Android特性
• 应用程序框架支持组件的重用与替换
• Dalvik 虚拟机专为移动设备优化
• 集成的浏览器基于开源的WebKit 引擎
• 优化的图形库包括定制的2D 图形库,基于OpenGL ES 1.0的3D 图形库
• SQLite 用作结构化的数据存储
• 多媒体支持包括常见的音频、视频和静态图像格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG , GIF)
• GSM 电话技术(依赖于硬件)
• 蓝牙Bluetooth, EDGE, 3G, 和WiFi(依赖于硬件)
• 照相机,GPS,指南针,和加速度计(accelerometer)(依赖于硬件)
• 丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成开发环境插件
Android系统架构:
Android系统与其他操作系统一样,从高层到底层总共分成四层:应用程序层、应用程序框架层、系统运行库层和Linux内核层
应用程序层:
我们常说的应用开发就是基于应用层(Application),应用层包括开发者的应用和一些系统的核心应用。目前都是采用Java语言开发
应用框架(application framework)层:
开发者可以完全访问核心应用的API框架,无论是我们自己开发的应用或者系统内置的应用,都必须用到这一层提供的API,将具体的服务和系统隐藏。例如:我们想要开发一个电话黑名单的功能,可以通过电话管理(TelephonyManager)实现黑名单号码的自动挂断,不需要我们去关心底层实现
Libraries(库) + Android Runtime(Android运行时)层;
Android系统为我们提供的可以被不同组件使用C/C++库的集合,开发者不能直接调用这个C/C++库,但是可以通过调用应用框架层来实现调用这个库。
核心库的介绍:
系统 C 库:一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。
媒体库:基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。
Surface Manager:对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。
LibWebCore:一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图,也为webview提供支持。
SGL:底层的2D图形引擎
3DLibraries:基于OpenGL ES1.0API实现的3D系统,这套3D库既可以使用硬件3D加速(如果硬件系统支持),也可以使用高度优化的软件3D加速
FreeType:位图和向量字体显示
SQLite:供所有应用使用的、功能强大的轻量级关系数据库
Linux内核层:
一些底层的硬件驱动,Android是基于linux2.6
2 搭建Android开发环境
2.1、下载安装Android SDK下载安装JDK
可以通过oracle官网下载:
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
安装JDK之后配置环境变量:
新建系统环境变量
变量名:JAVA_HOME 变量值:JDK的安装路径
变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
在path环境变量中添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Win+R快捷键呼出命令面板,运行cmd命令 输入 javac 验证环境变量是否配置成功
下载Android SDK:
直接去Google官网下载http://developer.android.com/intl/zh-cn/index.html
国内镜像 http://android.xsoftlab.net/index.html
可以去AndroidDevTools下载:http://www.androiddevtools.cn/
2.2、开发环境配置
2.2.1 使用Eclipse+ADT+Android SDK作为开发
直接使用打包好的:
32位版:adt-bundle-windows-x86-20140702.zip
64位版:adt-bundle-windows-x86_64-20140702.zip
下载解压,然后直接创建一个Helloworld工程!
自行配置
下载Eclipse http://www.eclipse.org/downloads/
下载ADT:http://www.androiddevtools.cn/
配置
Eclipse配置:解压Eclipse,设置好工作空间
ADT配置:依次点击菜单栏:help -> Install new software -> Add -> Local… ->选中下载加压后的ADT的文件夹 ->accept -> 重启Eclipse ->看菜单栏是否出现Android小图标
SDK配置:依次点击菜单栏:windows -> Rreferences -> Android ->选中解压的SDK包 -> OK ->打开重新验证 4.创建AVD(安卓模拟器):依次点击菜单栏:手机小图标 -> New -> 选定系统版本 -> Skin屏幕分辨率 ->设置下SD卡大小 -> 完成 -> start即可
目录分析:
src目录:包含App所需的全部程序代码文件,我们大多数时候都是在这里编写我们的Java代码的
gen目录:只关注R.java文件,它是由ADT自动产生的,里面定义了一个R类,可以看作一个id(资源编号)的字典,包含了用户界面,图形,字符串等资源的id,而我们平时使用资源也是通过R文件来调用的,同时编译器也会看这个资源列表,没有用到的资源不会被编译进去,可以为App节省空间
assets目录:存放资源,而且不会再R.java文件下生成资源id,需要使用AssetsManager类进行访问
libs目录:存放一些jar包,比如v4,v7的兼容包,又或者是第三方的一些包
res资源目录:存放资源的,drawable:存放图片资源;layout:存放界面的布局文件,都是XML文件; values:包含使用XML格式的参数的描述文件,如string.xml字符串,color.xml颜色,style.xml风格样式等
AndroidManifest.xml配置文件:系统的控制文件,用于告诉Android系统App所包含的一些基本信息,比如组件,资源,以及需要的权限,以及兼容的最低版本的SDK等
注意:需要打开console、File Explorer、logcat视图。与Java不同,我们的App运行在虚拟机上,在Java的控制台只有安装状态而已,所以我们会在Logcat上查看程序运行的日志
2.2.2 使用Android studio开发
Android studio下载
官网下载:http://developer.android.com/sdk/installing/studio.html 需要翻墙
Android Dev Tools下载:http://www.androiddevtools.cn/ 不需要翻墙
中文社区下载:http://www.android-studio.org/
Android studio安装:一直下一步
创建Hello Word工程:
第一次启动Android studio需要配置gradle,下载SDK,花费时间比较久。
可以看这篇博客:/article/1503788.html
相关文章推荐
- Android Manifest 权限描述大全
- 获取androidmanifest中的渠道号
- Android Studio中如何获取sha1证书指纹数据debug.keystore
- Android 开发--CSDN博客大神汇总
- [Android] 使用 ViewFlipper 实现上下循环滚动通知栏
- android 打开相机/打开相册(版本兼容)-获取照片,压缩100K一下保存到本地
- 如何使用Android中hide的类和方法进行开发?
- Android开发那些坑
- Android Studio 导入External Libraries
- 安卓 启动软件 打开软件
- AndroidStudio查看SHA1h或者MD5
- Security and System Architecture: Comparison of Android Customizations 阅读笔记
- 单例模式的用处
- android开发中遇到的一些灵异事件(更新中...)
- Android中GPRS定位的实现
- Android带有边框的RelativeLayout、LinearLayout
- Android中使用抖动动画吸引来用户注意
- Android系统自带的一个图片剪裁页面裁剪后有黑边问题
- [转]六款值得推荐的android(安卓)开源框架简介
- 下拉刷新(Android开源项目)