前言

前几天的断更是因为在忙着写毕业论文,在接下来的几周中,我的计划是看完Android Studio 程序设计案例教程这本书,并且再继续优化之前的项目。在学习的过程中我会记录下我学习的内容。

Android系统架构

从高到底依次是应用程序层、应用程序框架层、系统运行库层、Linux核心层。各层都采用软件栈的方式进行构建。

Linux核心层:它的核心服务(包括硬件驱动程序、电源、安全、网络、进程和内存管理)都是由一个Linux内核处理,内核还在硬件和软件栈的其他部分之间提供了一个抽象层。

系统运行层库:在Linux内核之上,Android提供了视频/音频相关的媒体库、外观管理器等。从本质上可以让Android手机与一个移动Linux实现区分,Android运行时向应用程序提供了动力引擎.

应用程序框架层:提供了用来创建Android应用程序的基础类,对硬件访问提供了通用的API,用于管理用户界面和应用程序资源。

应用程序层:所有的应用程序(原生程序和第三方程序)都在应用层上进行构建,应用程序会使用应用程序框架中可用的类和服务。

Android应用程序组件

Android有四大组件:Activity、Service、BroadcastReceiver和Content-Provider,由若干上述类型的组件聚集在一起就可以构成一个完整的Android应用程序。

Activity是最基本的Android应用程序组件,一个Activity表示一个可视化的用户界面。

Service组件用于提供服务,专门用于执行一些持续性的、耗时的并且无徐用户界面交互的操作。

BroadcastReceiver用于使应用程序监听到匹配指定标准的广播信息、

ContentProvider组件是一种共享的持久数据存储机制,是在应用程序之间共享数据的首选方案。

Activity和Application

Activity类的常用方法

  • setContentView:设置Activity界面布局。
  • onCreate:第一次创建Activity。
  • onStart:用于启动Activity。
  • onPause:用于暂停Activity。
  • onStop:用于停止Activity。
  • onDestory:用于销毁Activity。
  • onResume:用于将Activity由暂停状态恢复使用。
  • onRestart:用于将Activity由停止状态恢复使用。
  • onKeyDown:键盘按下时的动作事件处理方法。
  • onKeyUp:键盘抬起时的动作事件处理方法。
  • onTouchEvent:监听屏幕的触摸事件处理方法。
  • openContextMenu:开启上下文菜单。
  • setResult:返回数据给上一个Activity。
  • startActivityForResult:携带数据并跳转Activity。
  • finish:结束当前Activity。

Application类代表当前运行的应用程序,当应用程序启动的时候,系统会自动创建对应Application类的实例,并一直伴随应用程序的生命周期。而且始终维持一个实例。

对于一个应用程序来说,只会存在一个Application实例即所有组件中获取到的是同一个Application对象,所以Application适合保存多个组件都需要访问的对象。

获取Application对象

app = (MyApplication) getApplication();

app.方法名称();