- 1G
- 最初的模拟技术,仅限语音的蜂窝电话标准。
- 类似简单的无线电台,只能进行通话。
- 通话锁定在一定频率上,即手机号码。
- 很容易被窃听。
- 2G
- 9.6kbit/s。
- 以数字语音传输技术为核心。
- 增加接收数据功能。
- 2G智能机支持一些简单的Java小程序。
- 3G
- 室内2Mbit/s,室外384kbit/s,行车144bit/s。
- 将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。
- 4G
- 10~20Mbit/s,最高可达100Mbit/s。
- 包含TD-LTE和FDD-LTE两种制式。
LTE:Long Term Evolution.
LTE为3.9G,未达到4G标准,升级版LTE Advanced满足国际电信联盟对4G的要求。 - 集3G与WLAN于一体。
- 5G
- 据说可达10Gbit/s。
- 尚未正式商用。
| 时间 | 版本 | 代号 |
|---|---|---|
| 2009-4-30 | 1.5 | Cupcake |
| 2009-9-15 | 1.6 | Donut |
| 2009-10-26 | 2.0/2.1 | Eclair |
| 2010-5-20 | 2.2/2.2.1 | Froyo |
| 2010-12-7 | 2.3 | Gingerbread |
| 2011-2-2 | 3.0 | Honeycomb |
| 2011-5-11 | 3.1 | Honeycomb |
| 2011-7-13 | 3.2 | Honeycomb |
| 2011-10-19 | 4.0 | Ice Cream Sandwich |
| 2012-6-28 | 4.1 | Jelly Bean |
| 2012-10-30 | 4.2 | Jelly Bean |
| 2013-7-25 | 4.3 | Jelly Bean |
| 2013-9-4 | 4.4 | Kitkat |
| 2014-10-15 | 5.0 | Lollipop |
| 2015-9-30 | 6.0 | Marshmallow |
| 2016-8-22 | 7.0 | Nougat |
| 2017-8-22 | 8.0/8.1 | Oreo |
- 应用程序层
是一个核心应用程序的集合。 - 应用程序框架层
主要提供了构建应用程序时用到的各种API 。 - 核心类库
- 系统库主要通过C/C++库来为Android系统提供主要的特性支持。
- Android运行时库主要提供一些核心库,还包括了Dalvik虚拟机。
- Linux内核
为Android设备的各种硬件提供了底层的驱动。
编译文件过程:
1.2 Android开发环境搭建ART模式英文全称为Android runtime,是4.4新增的一种应用模式。在启动ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地
略
1.3 开发第一个Android程序略
1.4 Android程序结构
文件和文件夹
Android程序的资源都保存在res目录下。
res目录
1.5.1 图片资源- 应用图标资源:mipmap开头
- 界面中使用图标资源:drawable开头
| 密度范围值(dpi) | mipmap文件夹 | drawable文件夹 | 图标大小(px) |
|---|---|---|---|
| 120~160 | _mdpi | _mdpi | 48x48 |
| 160~240 | _hdpi | _hdpi | 72x72 |
| 240~320 | _xdpi | _xdpi | 96x96 |
| 320~480 | _xxxdpi | _xxxdpi | 144x144 |
| 480~640 | _xxxdpi | _xxxdpi | 192x192 |
- Java调用图片资源
在Acitvity的方法中通过getResources().getDrawable()方法调用。
getResources().getDrawable(R.mipmap.ic_launcher); getResources().getDrawable(R.drawable.icon);
- XML布局文件调用图片资源
@mipmap/ic_launcher @drawable/icon1.5.2 主题和样式资源
-
主题
主题资源定义在res/values/styles.xml文件中。标签定义主题,name指定主题名,parent指定系统父主题, - 标签设置主题样式。
根元素中可以包含多个 ,每个 可以包含多个 不是必须存在styles.xml文件中,有时候自动创建的是Theme.xml,而不是Styles.xml,扩展而言就是style只是属性,与文件名无关。
- 在AndroidManifest.xml中设置主题
- 在Java代码中设置主题
setTheme(R.style.AppTheme);
-
样式
样式存放在res/values/styles.xml中,通过标签中的name属性设置样式名称,通过 - 标签设置控件样式。
在布局文件的View控件中通过style属性调用textViewStyle样式:
当创建一个Android程序时,默认会在res/layout文件夹中生成一个布局资源文件activity_main.xml,也可在res/layout文件夹中创建新的布局资源文件。
- 通过Java代码调用布局资源文件
在onCreat()方法中通过调用setContenView()方法来载入Activity对应布局资源文件:setContentView(R.layout.activity_Main);
- 在XML布局文件中调用布局资源文件
在XML布局文件中通过标签调用activity_main.xml布局资源文件:
在res/values/strings.xml文件定义字符串:
字符串
string.xml文件中只能有一个根元素,根元素中可以包含多个
标签
- 通过Java代码调用字符串资源
在Activity的onCreat()方法中调用getResources().getString()加载app_name字符串资源:getResources().getString(R.string.app_name);
- 在XML布局文件中调用字符串资源
@string/app_name
颜色资源通常定义在res/values/colors.xml文件中。
#3F51B5
- 通过Java代码调用颜色资源
在Activity的onCreat()方法中调用getResources().getColor()加载colorPrimary颜色资源:getResources().getColor(R.color.colorPrimary);
- **在XML布局文件中调用颜色资源
@color/colorPrimary
定义颜色值
- #RGB: 使用一位十六进制数值表示红绿蓝
- #ARGB: 使用一位十六进制数值表示透明度、红绿蓝
- #RRGGBB: 使用二位十六进制数值表示红绿蓝
- #AARRGGBB: 使用二位十六进制数值表示透明度、红绿蓝
颜色的小写字母可以换成大写
Android界面中View的宽高和View之间的间距值是通过尺寸资源设置的。
尺寸资源通常定义在res/values/dimens.xml文件中。
在Android Studio3.2版本中没有默认创建dimen.xml文件,需要手动创建。
- 通过Java代码调用尺寸资源
getResources().getDimension(R.dimen.activity_horizontal_margin);
- 通过XML布局文件中调用尺寸资源
@dimen/activity_horizontal_margin
Android支持的尺寸单位
- px 像素:每个px对应屏幕上的一个点
- dp 设备独立像素:dp与dip意义相同,是与屏幕密度无关的尺寸单位。每英寸160点的显示屏上,1dip=1px。dp按屏幕分辨率比例放大或缩小。
- sp 比例像素:主要处理字体大小,sp与dp比较相似,能够跟随用户系统字体大小变化而变化。
- in 英寸:屏幕对角线的长度单位
- pt 磅:屏幕唔理察高度单位,1pt=1/72in
- mm 毫米:屏幕物理长度单位
暂略



