这是我参与「第四届青训营 」笔记创作活动的的第1天
为什么我们要学习Android开发?Android的市场是如何的?
一张图给你一个直观的答案
这里列出了在成都关于Android的求职信息,无论是岗位数量还是薪资待遇,Android都是一个很不错的前景。
Android程序应用广泛
图片:引用于掘金--青训营官方账号--Android客户端专场
那我们接下来就进入Android世界,去了解Android,认识Android,学习Android,使用Android。
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客户端专场
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抽象接口,就可以把本程序暴露给其他程序,其他程序不需要去关心数据的存储细节