Android发展史
- 2003年10月,Andy Rubin等人创建Android公司。
- 2005年8月,Google收购了此Android公司及团队。
- 2007年11月,Google正式向外界展示Android操作系统,并以Google为首的34家公司宣布成立开发手机联盟(OHA)。
- 2008年9月,Google正式发布Android1.0版本。
- 2009年4月,Google发布Android1.5(Cupcake)版本,从此开始Android版本以甜品名命名。
- 2010年10月,Android到达了一个里程碑,应用数量已达10w个,并在同年12月发布Android2.3(Gingerbread)版本。
- 至今,Android版本已达13.0
开发环境的搭建
前几年一般都是再用Eclipse搭建Android开发环境,现在主流市场已经换成了Android studio
Android的隐患
- 安全性:在Android6之后安全性大幅提高
- 碎片化问题:随着现阶段手机厂商的增加,Android平台差异化越来越大。手机系统UI多,厂商硬件差异大
Android应用程序的组成
Android程序由各个组件组成的(就如同各个零件组成自行车),通过manifest绑定起来(如同自行车上的螺丝螺母),文件manifest阐述组件与组件之间的交互方式。
基本应用程序模块:
- Activity
- Intent
- BroadcastReceiver
- Service
- Content Provider
Activity组件
相当于一个屏幕页面(一个容器通,俗一点就是html中的div),可以在上面放其他UI组件
一个应用可以包含多个Activity,Android会自动去帮你管理多个Activity
Intent组件
将要执行的操作抽象描述,应用于在各个Activity之间,传递参数数据
Intent Filter用于描述Activity能够操作那些对象(相当于Activity的权限设置)
BroadcastReceviver组件
对应用的外部事件进行响应
需要在AndroidManifest.xml文件中注册,或者使用 context.RegisterReceiver() 注册
可以使用 Context.sendBroadcast() 把自己的Broadcast广播给其他应用
Service组件
运行在后台,不展示给用户界面
处理与用户界面无关的业务逻辑(听小说,关闭app之后还可以听小说)
Content Provider组件
运行在不同应用程序之间,处理相互的数据交换业务
实现ContentProvider抽象接口,就可以把本程序暴露给其他程序,其他程序不需要去关心数据的存储细节
Android系统架构从上至下大概分为5层
-
系统应用层: APP所在的层次,可供用户直接使用;
-
JAVA API层:这层主要是给开发者提供接口,供开发者使用;
-
原生C/C++层 / Android Runtime层:这一层会把DEX字节码进行编译,优化执行效率,让代码运行更高效;
-
硬件抽象层(HAL):主要提供硬件组件的封装;
-
Linux 内核:使用Linux内核可以让Android利用主要安全功能,并且允许设备制造商为著名的内核开发硬件驱动程序。
课后的思考与总结
这是我上的第一节Android课,一切对我来说都是新鲜的。从最开始介绍移动生态,被组织内部的精简结构所惊讶到。在学习了解Android知识图谱时,Android世界的大门向我敞开,让我看到了精彩纷呈的世界。课程中Android系统组成是难点,初学时难以彻底理解每一部分的原理和用途,应该在日后的开发实践中不断摸索不断理解。一节课下来后收获颇多,也正式的开启了我的Android学习之路,希望自己可以一直努力下去,做出满意的项目!