第一章:Android 概述
Android历代版本及其nickname:
1.0 -->BASE;
1.1 -->BASE_1_1;
1.5 -->CUPCAKE;
1.6 -->DONUT;
2.0 -->ECLAIR;
2.0.1 -->ECLAIR_0_1;
2.1.X -->ECLAIR_MR1;
2.2.X -->FROYO;
2.3/2.3.1/2.3.2 -->GINGERBREAD;
2.3.3/2.3.4/GINGERBREAD_MR1;
3.0.X -->HONEYCOMB;
3.1.X -->HONEYCUMB_MR1;
3.2 -->HONEYCUMB_MR2;
4.0、4.0.1、4.0.2 -->ICE_CREAM_SANDWICH;
4.0.3、4.0.4 -->ICE_CREAM_SANDWICH_MR1;
4.1、4.1.1 -->JELLY_BEAN;
4.2、4.2.2 -->JELLY_BEAN_MR1;
4.3 -->JELLY_BEAN_MR2;
4.4 -->KITKAT;
4.4W -->KITKAT_WATCH;
5.0 -->LOLLIPOP;
5.1 -->LOLLIPOP_MR1;
6.0 -->M;
7.0 --> N;
7.1.1 -->N_MR1;
8.0 --> O;
8.1 -->O_MR1;
9.0 -->P;
10.0–>Q;
Android平台结构:
System Apps------------------------------------------------------(系统应用)
Java API FrameWork ------------------------------------------(Java API 框架)
Native C/C++ Libraries、Android Runtime ----------------(C/C++原生库、ART)
Hardware Abstraction Layer -----------------------------------(HAL 硬件抽象层)
Linux Kernel---------------------------------------------------------(Linux 内核)
清单文件( AndroidManifest.xml)
作用:
1:确定所需权限,
2:声明应用所需最低API级别,
3:声明应用需要的软硬件功能,
4:应用需要链接的API库,
Android项目
Name:应用名(如王者荣耀等);
Package name: 应用Id;
Android项目结构:
manifests:包含 AndroidManifest.xml 文件;
java:包含 Java 源代码文件,包括 JUnit 测试代码;
res: 资源文件
drawable: 界面使用图片;
layout:页面布局文件(相当于WPF中的xaml页面,用于设计App页面布局);
mipmap:应用图标资源;
value:用于存放各种项目中需要调用的值;
Gradle Scripts:
bulid.gradle:程序构建脚本;
local.properties:项目使用sdk存放路径;
setting gradle:存放项目中使用到的子项目;
Logcat消息格式:
优先级:
V:详细(优先级最低) Verbose:显示所有日志消息(默认值)。 黑色
D:调试 Debug:显示仅在开发期间有用的调试日志消息,以及此列表中较低的消息级别。 蓝色
I:信息 Info:显示常规使用情况的预期日志消息,以及此列表中较低的消息级别。 绿色
W:警告 Warn:显示尚不是错误的潜在问题,以及此列表中较低的消息级别。 橙色
E:错误 Error:显示已经引发错误的问题,以及此列表中较低的消息级别。 红色
A:断言 Assert:显示开发者预计绝不会发生的问题。 红色
第一章相应问题:
为什么要了解Android的版本发展?
答:为了使开发的APP在设备上正常运行(主要是API版本适配问题)。
Android的内核是什么,droid是什么?
答:内核:Linux内核;droid:美国第一运营商Verizon和Google以及摩托罗拉合作的智能手机品牌
Android系统的五层都是什么?分别是什么功能?
系统应用:
Java API框架:简化核心模块化系统组件和服务的重复使用;
C/C++原生库,ART:C/C++: () ;ART:编译,垃圾回收;
HAL硬件抽象层:提供标准界面,向更高级别的Java API显示硬件功能;
Linux内核:上层功能依赖其实现底层功能;
Dalvik虚拟机和Java是一回事吗?是不是凡java程序也都可以运行在Dalvik上,或者反之?
答:不是;不是;
java运行java字节码,dalvik运行的文件格式为DEX;
最终能够发行的Android应用是什么文件?
APK文件,
Android应用的运行方式是什么?
都在其独自的沙箱中运行;
什么是组件?Android中有几种组件?都是哪些?功能是什么?
android应用的基本构件模块;
Activity,服务,内容提供程序,广播接收器
Activity,表示具有用户界面的单一屏幕
服务,用于执行长时间运行的操作或为远程进程执行作业,在后台运行
内容提供程序,管理一组共享的应用数据
广播接收器,用于响应系统范围广播通知
什么是清单文件?它主要有什么功能?
AndroidManifest.xml 文件,包含程序中的所有组件声明;
确认组件存在;
什么是应用资源?如何区分不同的资源?
所有与视觉呈现相关的内容 每个资源都有唯一ID;
开发Android应用的工作流是怎样的?
Setup — Write — Build & Run — Iterate — Publish
创建Android工程有几种方式?
start new;
目前占有率比较高的Android版本是哪些,为什么要考虑占有率?
4.4 ; 提高用户体验(设备兼容性)
为什么要考虑设备屏幕的大小及像素密度?
提高用户使用体验;
创建android工程的时候,Application name是什么? --应用程序名称
创建android工程的时候,Company Domain是什么? 公司域名
Package是什么? 公司域名(倒写) + 应用程序名;
在创建Android工程的时候,Minimum SDK是什么意思?它同虚拟机的android版本之间什么关系?
AndroidManifest.xml文件起什么作用?
Minimum SDK 最低android版本
AndroidManifest.xml:清单文件,声明组件,指定程序所需权限;
主程序的代码在哪里?
MainActivity
Android程序从哪里开始执行? 第一个Activity的onCreate()方法;
布局文件在哪里,干嘛用的?该文件是什么类型的文件? layout文件夹 设计用户界面,xml类型文件
代码格式化是什么意思?是什么快捷键? 代码对齐 Ctrl + Alt + L
app的启动图标在哪里放着?为什么有多个? res/mipmap中
values文件夹中放着什么东西? 数据资源,数值,字符串等
观察Android工程有哪些角度?如何切换? android .package,project 左上角
R类是什么类,有几种?它有什么用?从哪里找到它?其中的内容我们可以自主修改吗?
资源类,
Project 角度,在 app 的 build 中的 generated 的 source 里 r 的 debug 中。。。
不能自主修改;
在运行Android程序的时候,如何选择运行设备?
第一章相关习题:
Android安装包文件简称APK,其后缀名是(A)
A、apk
B、exe
C、txt
D、app
Android 工程中存放各种程序资源的目录是(C)
A、src
B、gen
C、res
D、bin
Android项目中的布局文件放在哪个目录下(A)
A、res/layout
B、res/value
C、assets
D、res/drawable
在创建Android工程时,填写的Minimum Required SDK是(B)
A、匹配的目标版本
B、程序最低兼容的版本
C、使用哪个SDK版本编译程序
D、SDK的主题
在下列选项中,关于Android工程中的assets目录的说法正确的是(B)
A、存放使用到的图片资源
B、主要存放一些文件资源,这些文件会被原封不动的打包到APK文件中
C、存放字符串、颜色、数组等常量数据
D、存放与UI相应的布局文件
8.2. 判断题
Android 工程中gen目录是自动生成的,主要有一个R.java文件,该文件可手动修改 ×
Linux内核层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动等 √
Android操作系统并不是开源的 ×
Android系统是基于Linux平台开发的
创建程序时,填写的Package Name表示项目名称 √
Android 工程中AndroidManifest.xml文件是整个程序的配置文件 √
SDKManager.exe是Android SDK的管理器,双击它可以看到所有可下载的Android SDK版本 √
Android是Google公司基于Linux平台开发的手机及平板电脑操作系统 √
Android系统采用分层架构,由高到低分为4层,依次是应用程序层、应用程序框架层、核心类库和Linux内核 ×
8.3. 填空题
创建程序时,填写的Application Name表示____项目名称_____
在Android项目程序开发完成后中,必须_____打包成_____正式的Android安装文件,才能发布到互联网上让用户下载使用。
Android 工程中src目录下存放___Java源代码_____文件