Android入门总结-Android简介
最近看了一下Android,只看书不总结一下,总感觉东西并没有放在脑子里,人过留名,雁过留声,遂写下这篇总结。
书本看的是《Android编程兵书》,但这篇总结的大纲是按照《第一行代码》的章节目录撰写的。两本书的内容结构大致相同,Android入门的话只看其中一本就够了。
本书分为15个章节,由于后两章内容对理解安卓并无大用,再此略去。以下按书本中的章节循序渐进理解Android开发相关知识。
Android公司于2003年由Andy Rubin创办,于2005年被google收购,2008年Android第一个版本问世。Android系统基于Linux2.6内核,系统架构包括四部分,分别是Linux内核层、系统运行库层&&Android运行环境、、应用框架层、应用层。
Linux内核层为Android设备提供底层驱动,如电源、照相机、蓝牙、Wi-Fi、显示、音频等的驱动,以及内存管理、进程管理、网络协议栈。Android对Linux内核所做的修改主要体现在两个方面:Binder和电源管理。Binder提供有效的进程间通信。电源管理主要是为了维持手持设备的续航时间。
系统运行库层和Android运行环境。系统运行库层通过提供一些C/C++库来为Android中各种组件使用。主要包括Bionic系统的C库、媒体库、Surface Maneger、Webkit和LibWebCore、SGL 2D图形引擎、基于OpenGL ES 1.0的3D Libraries、FreeType位图和矢量字体显示、SQLite数据库。Android运行环境提供了JAVA编程语言核心库的大部分功能。
应用框架层提供了构建应用程序时用到的API。
应用层指安装在设备上的应用程序,又称APP。
Android自2008年发布以来,除了1.0版本没有代号,其余版本均使用甜点名称为代号。
2008年9月 Android 1.0(API Level: 1) 无代号
2009年10月 Android 2.0(API Level: 5) Eclair(闪电泡芙)
2011年2月 Android 3.0(API Level: 11) Honeycomb(蜂巢)
2011年10月 Android 4.0(API Level: 14) Ice Cream Sandwich(冰淇淋三明治)
2014年10月 Android 5.0(API Level: 21) Lollipop(棒棒糖)
2015年10月 Android 6.0(API Level: 23) Marshmallow(棉花糖)
2016年8月 Android 7.0(API Level: 24) Nougat(牛轧糖)
Tips:
1、assets文件夹的使用
assets存放需要打包到APK中的静态文件,该文件夹下的文件不会生成资源ID,通过以下方式获取输入流来进行写操作
AssetManager am = getAssets();
InputStream is = am.open("filename");
res/raw中的文件不会被编译成二进制文件,但会映射到R文件中,可通过R.id.filename来访问,通过以下方式获取输入流来进行写操作
InputStream is = getResources().openRawResource(R.id.filename);
2、调试程序为什么使用Log不使用System.out
Log可打印多级别的日志,包括verbose、debug、info、warn、error。可以对日志添加标签,添加过滤器,这些功能使得调试更加方便。