Android概览

122 阅读3分钟

一、Android概述

开发优势:

  • 开放源代码
  • 众多开发者及强大社区
  • 不断增长的市场
  • 国际化的App集成
  • 低廉的开发成本
  • 更高的成功几率
  • 丰富的开发环境

Android历史:

从3.0 to 3.2

命名:以甜点命名,从Android 10之后,以版本号规则命名

多设备支持:

手机、平板、IoT物联网、Chrome OS、可穿戴Watch、汽车

Android平台架构:

  • 系统应用
  • Java API Framework
  • Android Runtime
  • 原生C/C++库
  • 硬件抽象层(HAL)
  • Linux内核

开发者角度:

  • Application Framework
  • Binder IPC
  • System Service
  • 硬件抽象层(HAL)
  • Linux内核

源代码控制工具:

  • Git: Git可以处理分布在多个代码库上的大型项目。Android使用Git执行本地操作,例如建立本地分支、提交、对比差异、修改
  • Repo:Repo是一个Python实现的脚本,可以在必要时整合多个Git代码库,将相关内容上传到Gerrit修订版本控制系统,并自动执行Android开发工作流程的部分环节。Repo不会取代Git,只是让开发者在Android环境中更加轻松使用Git。
  • Gerrit:是一个基于网页的代码审核系统,适用于使用Git的项目,允许所有授权用户提交更改。
  • Ardroid Studio:用于开发Android应用的官方集成开发环境(IDE)
  • Android 调试桥(adb) :可让相应的Android设备连接,以便安装软件包和调试debug代码。
  • 代码搜索OpenGrok:是一款强大的跨平台代码阅读工具。

二、Android核心组件概述

Activity类是Android应用的关键组件。一般情况下,是通过main()方法启动应用,而在Android系统中,则会调用与其生命周期特定阶段相对应的特定回调方法来启动Activity实例对象中的代码。

  • Activity生命周期:

提供六个核心回调:onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()

  • Activity状态更改:使用ViewModel、onSaveInstanceState() 本地存储来保留用户的瞬时界面状态
  • Activity的任务和返回堆栈:

Service类是一种可在后台执行长时间操作而不提供界面的应用组件,有三种服务类型,分别是:前台服务、后台服务、绑定服务。

最重要的几个回调方法:

  • onStartCommand()
  • onBind()
  • onCreate()
  • onDestroy()

BroadcastReceiver类借助广播接收器组件,系统能够在常规用户流之外向应用传递事件,从而允许应用响应系统范围内的广播通知。

有两个重要步骤:

  • 创建广播接收器
  • 注册广播接收器

ContentProvider组件通过请求从一个应用程序向其他的应用程序提供数据。它可以使用不同的存储方式,数据可以被放在数据库,文件甚至网络中。

三、Android进阶

接口语言AIDL:

在Android中,一个进程通常无法访问另一个进程的内存,可以利用接口定义语言(AIDL)定义客户端与服务统一的编程接口,以便二者使用进程见通信(IPC)