Android---基础篇1|青训营笔记

156 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的的第1天
为什么我们要学习Android开发?Android的市场是如何的?
一张图给你一个直观的答案

求职列表信息.png 这里列出了在成都关于Android的求职信息,无论是岗位数量还是薪资待遇,Android都是一个很不错的前景。
Android程序应用广泛

Android应用.png 图片:引用于掘金--青训营官方账号--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系统框架图.png 图片:引用于掘金--青训营官方账号--Android客户端专场

Android应用程序的组成

Android程序由各个组件组成的(就如同各个零件组成自行车),通过manifest绑定起来(如同自行车上的螺丝螺母),文件manifest阐述组件与组件之间的交互方式。

基本应用程序模块:

  1. Activity
  2. Intent
  3. BroadcastReceiver
  4. Service
  5. 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抽象接口,就可以把本程序暴露给其他程序,其他程序不需要去关心数据的存储细节