再识android (一)
之前实训的时候,零零散散的看过android,也实践过一些。 不知道是因为枯燥而觉得有些难,还是因为有些难而觉得枯燥。 总之,不太感冒。 这学期的教材书,是选用的2012年的版本,今年已经是2019年,可想而知,版本已经非常老了,尤其是 对于计算机专业而言。 大致浏览了一下书本,写的体系还是比较完整。 干脆将其整理一下,反正闲着也是闲着,嘿嘿嘿。
1.android行业概述:
android缘起: 1886年的 科幻小说《L'Eve Future》,中文译名《未来夏娃》,将外表像 人类的机器人 称为: Andorid.
安迪.鲁宾, Andy Rubin, 其创立了两个 手机操作系统,分别是: Danger, Android。
Danger在 2008年 以 5亿美元,卖给微软,之后死掉并入到 Windows Phone 7;
Android 于 2005年,以 4千万 美元 卖给 谷歌。 谷歌 于 2007年11月5日,发步 Android 基于 Linux 的开源移动操作系统平台。 Andy Rubin 任谷歌公司 工程部 副总裁。
android开发生态链(从低向上):
芯片商: 如 Intel, 高通,MTK等;
厂商: 又称 设备厂商,如,华为,中兴,Moto,三星,HTC,小米,酷派,魅族等;
操作系统平台: 如 Android,IOS,Windows Phone.
运营商: 如 移动,联通,电信;
开发者
开发者服务: 如 支付功能,应用统计功能等。
用户;
android开发线上社区:
1. Android Developers;
2.eoeAndroid;
3.stackoverflow;
2.Android SDK介绍
Android SDK概要:
不仅提供API库,还提供在 Windows/Linux/Mac 平台下 的开发工具,这些工具在编译,测试 和调试阶段必不可少。
基于 java语言,借助于 SDK提供的一些工具,将其最终打包成 apk文件。
Andoird SDK 目录结构:
add-ons: 保存一些附加库, 如: Google Map API
docs: SDK api 的离线文档;
extras: 主要放一些 Support Library 和 USB Drivers;
platforms: 以SDK版本为划分依据。 包括系统资源,安卓模拟器的皮肤,项目默认模板,完整的Android 库;
platform-tools: 包含 在 开发 和测试 过程中依赖于平台的工具。
samples: SDK的示例代码;
soures: SDK的源码;
system Images: 每个系统都需要一个或多个系统镜像,如 ARM或 x86,并且Android模拟器必须运行在系统镜像之上。
tools: 包含调试工具,测试工具 和其他的一些 实用的工具。
Android.jar内部结构:
其是一个完整 Android库的压缩包,内 包含 编译后的 class 文件。
android; assets; com; dalvik; java; javax; junit; META-INF; org; res;
AndroidManifest.xml
3.SDK提供的工具介绍:
1.android模拟器: Android Emulator(emulator.exe);
2.集成开发环境: Android Development Tools Plugin for the Eclipse IDE;
3.调试监视服务: Dalvik Debug Monitor Servie (ddms.bat)
4.Android调试桥: Android Debug Bridge (adb.exe)
5.Android资源打包工具: Android Asset Packaging Tool (aapt.exe)
6.Android 接口描述语言: Android Interfece Description Language (aidl.exe)
7.SQLite3数据库: sqlite3 (sqlite3.exe)
8.跟踪显示工具: Traceview (traceview.bat)
9.创建SD卡工具: mksdcard (mksdcard.exe), 在模拟器上 模拟外部存储卡;
10.DX工具: dx (dx.bat) 该工具 将 class 字节码 重写为 Android 字节码(存储在 dex文件中)
11.生成Ant 构建文件: activityCreator (activitycreator.bat); 用于 生成 ant 构建文件, ant构建文件,用来编译Android应用程序;
12.Android虚拟设备: Android Virtual Devices AVD.
4.Android典型包分析:
核心开发包:
android.util: 包含一些底层辅助类;
android.os: 提供基本的操作服务,消息传递 和 进程间通信 IPC。
android.graphics : 核心渲染包,提供图形渲染功能;
android.text, android.text.method, android.text.style, android.text.util: 丰富的文本处理工具,支持富文本,输入模式等;
android.database: 包含 底层API处理数据库;
android.content: 提供各种服务访问数据在手机设备上;
android.view: 核心用户界面框架;
android.widget: 提供标准用户界面元素;
android.app: 提供高层 应用程序模型,实现使用 Activity;
android.provider: 提供方便系统调用的 content provdrs 接口;
android.telephony: 提供API和手机设备 的通话接口;
android.webikit: 包含一系列 工作在 基于 Web内容的API;
可选API介绍:
1. Location-Based Services 定位服务;
2.Media APIs 多媒体接口;
3.3D Graphis with OpenGL 3D 图形处理 OpenGL 可选API;
4.Low- Level Hardware Access 低级硬件访问; 如蓝牙,Wifi等;
5.Android 应用程序架构分析:
1.Android系统架构:
应用程序层: 如电话,浏览器,桌面等;
应用程序框架层:
Activity Manager 活动管理器;
Window Manager 窗口管理器;
Content Provider 内容提供器;
View System 视图系统;
Notification Manager 通告管理器;
Package Manager 包管理器;
Telephony Manager 电话管理器;
Resource Manager 资源管理器;
Location Manager 位置管理器;
XMPP service XMPP服务,提供谷歌 talk服务;
Libraries Android Runtime(库以及Android运行环境):
库:
系统C库,专门为嵌入式 Linux 设备制定;
媒体库 Media Framework;
Surface Manager: 显示子系统的管理;
LibWebCore: 一个最新的 Web浏览器引擎;
SGL: 底层的2D 图形引擎;
3D libraries;
FreeType: 为徒 和矢量 字体显示;
SQLite: 数据库引擎;
运行时:
核心库: core Libraries;
Dalvik虚拟机: 执行 .dex文件,依赖于Linux内核的一些功能。针对小内存使用做了优化;
Linux Kernel (Linux 内核):
基于 Linux 2.6内核;
2.Android 应用程序工程结构分析: 略;
3.AndroidManifest文件分析:
: 应用程序配置的根元素;
: 声明 用到的activity组件;
更多相关文章
- Android工具Hierarchy Viewer
- 使Android开发方便快捷的8个好工具
- Android:销毁所有的Activity退出应用程序几种方式
- android项目打包成apk应用程序后部署到虚拟机上测试
- Android 开发中不错的工具
- Android应用程序获得root权限