Ch 1. Android 基础入门
1.1 Android简介
1.1.1 通信技术
1G最初的模拟技术,仅限语音的蜂窝电话标准。类似简单的无线电台,只能进行通话。通话锁定在一定频率上,即手机号码。很容易被窃听。2G9.6kbit/s。以数字语音传输技术为核心。增加接收数据功能。2G智能机支持一些简单的Java小程序。3G室内2Mbit/s,室外384kbit/s,行车144bit/s。将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。4G10~20Mbit/s,最高可达100Mbit/s。包含TD-LTE和FDD-LTE两种制式。集3G与WLAN于一体。5G据说可达10Gbit/s。尚未正式商用。LTE:Long Term Evolution.
LTE为3.9G,未达到4G标准,升级版LTE Advanced满足国际电信联盟对4G的要求。
1.1.2 Android发展历史
1.1.3 Android体系结构
应用程序层是一个核心应用程序的集合。应用程序框架层
主要提供了构建应用程序时用到的各种API 。核心类库系统库主要通过C/C++库来为Android系统提供主要的特性支持。Android运行时库主要提供一些核心库,还包括了Dalvik虚拟机。Linux内核
为Android设备的各种硬件提供了底层的驱动。
Dalvik虚拟机
编译文件过程:
ART模式英文全称为Android runtime,是4.4新增的一种应用模式。在启动ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地
1.2 Android开发环境搭建
略
1.3 开发第一个Android程序
略
1.4 Android程序结构
文件和文件夹
1.5 资源的管理与使用
Android程序的资源都保存在res目录下。
res目录
1.5.1 图片资源
应用图标资源:mipmap开头界面中使用图标资源:drawable开头Java调用图片资源在Acitvity
的方法中通过getResources().getDrawable()
方法调用。
getResources().getDrawable(R.mipmap.ic_launcher);getResources().getDrawable(R.drawable.icon);
XML布局文件调用图片资源
@mipmap/ic_launcher@drawable/icon
1.5.2 主题和样式资源
主题
主题资源定义在res/values/styles.xml
文件中。
<style></style>
标签定义主题,name
指定主题名,parent
指定系统父主题,<item></item>
标签设置主题样式。
根元素<resources></resources>
中可以包含多个<style></style>
,每个<style></style>
可以包含多个<item></item>
在不是必须存在
styles.xml
文件中,有时候自动创建的是Theme.xml
,而不是Styles.xml
,扩展而言就是style只是属性,与文件名无关。
AndroidManifest.xml
中设置主题<application......android:theme ="@style/AppTheme"></application>
在Java代码中设置主题
setTheme(R.style.AppTheme);
样式
样式存放在res/values/styles.xml
中,通过<style>
标签中的name
属性设置样式名称,通过<item>
标签设置控件样式。
在布局文件的View控件中通过style属性调用textViewStyle样式:
<TextView......style="@style/textViewStyle"/>
1.5.3 布局资源
当创建一个Android程序时,默认会在res/layout
文件夹中生成一个布局资源文件activity_main.xml
,也可在res/layout
文件夹中创建新的布局资源文件。
通过Java代码调用布局资源文件
在onCreat()
方法中通过调用setContenView()
方法来载入Activity
对应布局资源文件:
setContentView(R.layout.activity_Main);
在XML布局文件中调用布局资源文件
在XML布局文件中通过<include>
标签调用activity_main.xml
布局资源文件:
<include layout="@layout/activity_main">
1.5.4 字符串资源
在res/values/strings.xml
文件定义字符串:
<resources><string name="app_name">字符串</string></resources>
通过Java代码调用字符串资源
string.xml
文件中只能有一个根元素,根元素中可以包含多个<string></string>
标签
在Activity
的onCreat()
方法中调用getResources().getString()
加载app_name
字符串资源:
getResources().getString(R.string.app_name);
在XML布局文件中调用字符串资源
@string/app_name
1.5.5 颜色资源
颜色资源通常定义在res/values/colors.xml
文件中。
<resources><color name="colorPrimary">#3F51B5</color></resources>
<color></color>
标签用于定义颜色资源,name
属性用于指定颜色资源的名称,两个标签中间设置的是颜色值。
通过Java代码调用颜色资源
在Activity
的onCreat()
方法中调用getResources().getColor()
加载colorPrimary
颜色资源:
getResources().getColor(R.color.colorPrimary);
**在XML布局文件中调用颜色资源
@color/colorPrimary
定义颜色值
#RGB: 使用一位十六进制数值表示红绿蓝#ARGB: 使用一位十六进制数值表示透明度、红绿蓝#RRGGBB: 使用二位十六进制数值表示红绿蓝#AARRGGBB: 使用二位十六进制数值表示透明度、红绿蓝颜色的小写字母可以换成大写
1.5.6 尺寸资源
Android界面中View的宽高和View之间的间距值是通过尺寸资源设置的。
尺寸资源通常定义在res/values/dimens.xml
文件中。
在Android Studio3.2版本中没有默认创建dimen.xml
文件,需要手动创建。
<dimen></dimen>
标签用于定义尺寸资源,name
属性指定尺寸资源名称,标签中间设置尺寸大小。
通过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/72inmm毫米:屏幕物理长度单位
1.6 程序调试
暂略