安卓复习
基础知识
1, 移动设备操作系统
iOS
Windows Phone
Android
2, 安卓平台的技术架构
Linux 内核层
中间层: 程序库, Android 运行时环境
应用程序框架
应用层: 应用程序
3, Activity 通常就是一个单独的屏幕
4, 简述 Android 的优势
1, 系统的开放性和免费性
2, 移动互联网的发展
3, 相关厂商的大力支持
Activity 的生命周期
Activity 具有生命周期, 在生命周期的过程中共有四种状态:
1, 激活或者运行状态: 此时 Activity 运行在屏幕的前台
2, 暂停状态: 此时 Activity 失去了焦点, 但是仍然对用户可见, 例如在该 Activity 上遮挡了一个透明的或者非全屏的 Activity
3, 停止状态: 此时 Activity 被其他 Activity 完全覆盖
4, 终止状态: 此时 Activity 会被系统清理出内存
处于暂停状态和停止状态的 Activity 仍然保存了其所有的状态和成员信息, 直到被系统终止, 当被系统终止的 Activity 需要重新显示的时候, 它必须重新启动, 并且将关闭之前的状态全部恢复回来
Activity 从一个状态运行到另一个状态, 状态改变时会执行相应的生命周期方法
方法 | 功能描述 | 下一个方法 |
---|---|---|
onCreate( ) | Activity 初次创建时被调用, 在该方法中一般进行一些静态设置, 如创建 view 视图, 进行数据绑定等. 如果 Activity 是首次创建, 本方法执行完以后将会调用 onStart( )方法, 如果 Activity 是停止后重新显示泽调用 onRestart( ) 方法 | onStart()或onRestart() |
onStart( ) | 当 Activity 即将对用户可见时调用 | onRestart()或onResume() |
onRestart() | 当 Activity 从停止状态重新启动时调用 | onResume() |
onResume() | 当 Activity 将要与用户交互时调用此方法, 此时 Activity 在 Activity 栈的栈顶, 用户输入的信息可以传递给它. 如果其他的 Activity 在它的上方恢复显示, 则调用 onPause()方法 | onPause( ) |
onPause( ) | 当系统要启动一个其他的 Activity 之前, 这个方法将调用, 用于提交持久数据的改变, 停止动画等待 | onResume()或onStop() |
onStop( ) | 当另外一个 Activity 恢复并遮挡住当前的 Activity, 导致其对用户不可见时, 该方法被调用 | onStart()或onDestroy() |
onDestroy() | 在 Activity 被销毁前调用的最后一个方法 | 无 |
Activity 的生命周期还可以根据不同的标准分为:
完整生命周期:
从Activity 最初调用 onCreate()方法到最终调用 onDestroy()方法的这个过程称为完整生命周期
可见生命周期:
从 Activity 调用 onStart()方法开始, 到调用对应的 onStop()方法为止的这个过程称为可见生命周期
前台生命周期:
从 Activity 调用 onResume()方法开始, 到调用对应的 onPause()方法为止的这个过程称为前台生命周期
使用图片资源设置 Activity 的背景
新建 Android 项目, 复制图片到res/drawable-mdpi
目录下, 编辑布局文件 res/layout/activity_main.xml
代码如下:
android:background="@drawable/td"
其中 td 为图片名称
练习
1, Activity 生命周期中的 onStart( )
方法用于 Activity 初次创建时被调用
2, 暂停状态
下的 Activity 失去了焦点, 但是依然对用户可见
3, Activity 的可见生命周期是 从 onStart() 到 onStop() 的这个过程
4, Android 程序不能直接访问的资源(原生文件)存放在 assets 目录
5, 简述 Activity 的生命周期的各个方法
onCreate(): Activity 初次创建时被调用, 在该方法中一般进行一些静态设置, 例如: 创建 View 视图, 进行数据绑定等
onStart(): 当 Activity 对用户即将可见时被调用
onRestart: 当 Activity 从停止状态重新启动时被调用
onResume(): 当 Activity 将要与用户交互时调用此方法
onPause(): 当系统要启动一个其他的 Activity 时被调用
onStop(): 当一个 Activity 恢复并遮盖住当前的 Activity, 导致其对用户不可见时被调用
onDestroy(): 在 Activity 被销毁前调用的最后一个方法
事件处理机制
Android 系统中引用 Java 的事件处理机制, 包括事件, 事件源和事件监听器三个事件模型
1, 事件(Event):
是一个描述事件源状态改变的对象, 事件不是通过 new 运算符创建的, 而是由用户操作触发的. 事件可以是键盘事件, 触摸事件等. 事件一般作为事件处理方法的参数, 以便从中获取事件的相关信息
2, 事件源(Event Source):
产生事件的对象, 事件源通常是 UI 组件, 例如单机按钮, 则按钮就是事件源
3, 事件监听器(Event Listener):
当事件产生时, 事件监听器用于对该事件进行响应和处理. 监听器需要实现监听接口中定义的事件处理方法
Android 中常用的事件监听器如下所示, 这些事件都定义在 android.view.View
中
事件监听器接口 | 事件 | 说明 |
---|---|---|
OnClickListener | 单击事件 | 当用户单击某个组件或者方向键 |
OnFocusChangeListener | 焦点事件 | 组件获得或失去焦点时产生的事件 |
OnKeyListener | 按键事件 | 用户按下或者释放设备上的某个按键 |
OnTouchListener | 触碰事件 | 设备具有触摸功能时, 触碰屏幕时产生 |
OnCreateContextMenuListener | 创建上下文菜单事件 | 创建上下文菜单时产生该事件 |
OnCheckedChangeListener | 选项事件 | 选择改变时触发该事件 |
实现事件处理的步骤如下:
1, 创建事件监听器
2, 在事件处理方法中编写事件处理代码
3, 在相应的组件上注册监听器
对话框和提示信息(Toast)
提示信息(Toast)
提示信息(Toast)是 android 中用来显示提示信息的一种机制, 与对话框不同, Toast 时没有焦点的, 而且 Toast 显示时间有限, 过一定时间就会自动消失. Toast 类定义在 android.widget 包中, 常用方法如下:
方法 | 功能说明 |
---|---|
Toast(Context context) | 构造函数 |
setDuration(int duration) | 设置提示信息显示的时长, 可以设置两种值: Toast.LENGTH_LONG 和 Toast.LENGTH_SHORT |
setText(CharSequence s) | 设置显示的文本 |
cancel() | 关闭提示信息, 即不显示 |
makeText(Context context, CharSequence text, int duration) | 该方法是静态方法, 用于直接创建一个带文本的提示信息, 并指明时长 |
show() | 显示提示信息 |
创建 Toast 的步骤如下:
1, 调用 Toast 的静态方法 makeText() 创建一个指定文本和时长的提示信息
2, 调用 Toast 的 show() 方法显示提示信息
演示 Toast 的创建和显示
package com.example.toastactivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class ToastActivity extends Activity {
private Button b1, b2;
@Override