手机卫士讲义day03 下载本文

目录

手机防盗页面动画跳转的实现 ....................................................................................................... 3

下一步按钮跳转的实现 ........................................................................................................... 3 上一步按钮跳转的实现 ........................................................................................................... 3 页面跳转动画 ........................................................................................................................... 4

动画资源的制作 ............................................................................................................... 4 下一步动画跳转的实现 ................................................................................................... 5 上一步动画跳转的实现 ................................................................................................... 6

手机防盗向导页面基类的抽取 ....................................................................................................... 7

基类的建立 ............................................................................................................................... 7

找到不同点 ....................................................................................................................... 8 不同点处由基类提供的抽象方法实现 ........................................................................... 8

手势识别器的添加 ......................................................................................................................... 10

手势识别器的介绍 ................................................................................................................. 10 手势识别逻辑的完成 ............................................................................................................. 11

手势操作的过滤 ............................................................................................................. 12

处理在上一步退出引导界面的问题 ............................................................................................. 13 手机防盗业务的介绍 ..................................................................................................................... 14 SIM卡绑定的实现 ......................................................................................................................... 14

点击下一步SIM卡绑定校验 ................................................................................................ 15 绑定/解绑的实现 ................................................................................................................... 16

业务层逻辑的实现 ......................................................................................................... 17 UI层的逻辑实现 ............................................................................................................ 18 UI状态的回显 ................................................................................................................ 18

安全号码的设置 ............................................................................................................................. 19

UI状态的回显 ........................................................................................................................ 20 操作体验优化 ......................................................................................................................... 20 联系人界面的创建 ......................................................................................................................... 20

点击选择联系人页面跳转的实现 ......................................................................................... 21

创建联系人页面 ............................................................................................................. 21 布局文件的完成 ..................................................................................................................... 22

UI分析 ............................................................................................................................ 22 布局代码实现 ................................................................................................................. 22 ListView完善 .......................................................................................................................... 23

初始化视图 ..................................................................................................................... 23 创建adapter ................................................................................................................... 23 Adapter中getview方法的实现 .................................................................................... 25

联系人信息的获取 ......................................................................................................................... 28

联系人信息的来源 ................................................................................................................. 28 官方文档介绍 ......................................................................................................................... 29 获取联系人信息 ..................................................................................................................... 30 联系人图片数据的获取 ................................................................................................................. 32

联系人号码数据的显示 ................................................................................................................. 33

Activity间的数据传递 ............................................................................................................ 34 请求页面数据的返回 ............................................................................................................. 35 Cursor adapter的使用 ................................................................................................................... 36

联系人界面等待进度圈的实现 ............................................................................................. 36

布局界面缓冲控件的添加 ............................................................................................. 36 子线程加载数据并显示加载中页面 ............................................................................. 37 CursorAdapter的介绍 ............................................................................................................ 38

使用方法 ......................................................................................................................... 39 CursorAdapter方法的实现 ............................................................................................ 40 注意点 ............................................................................................................................. 42 条目点击事件的实现 ..................................................................................................... 42

Baseadapter的优化 ....................................................................................................................... 42

优化步骤 ................................................................................................................................. 43 设置完成界面的实现 ..................................................................................................................... 44

点击下一步校验是否开启防盗保护 ..................................................................................... 45 状态的回显 ............................................................................................................................. 46 CheckBox的监听 .................................................................................................................... 46 手机防盗页面的实现 ..................................................................................................................... 47

手机防盗布局的实现 ............................................................................................................. 47

UI分析 ............................................................................................................................ 47 业务在UI层的显示 ............................................................................................................... 51

安全号码的显示 ............................................................................................................. 51 防盗保护是否开启 ......................................................................................................... 52 防盗保护点击的实现 ..................................................................................................... 52 重新进入设置向导界面 ................................................................................................. 54

手机重启广播的实现 ..................................................................................................................... 55

创建广播接收者 ..................................................................................................................... 55 手机重启后的逻辑实现 ......................................................................................................... 55

判断是否开启手机防盗 ................................................................................................. 55 校验SIM卡信息 ............................................................................................................ 56 发送短信息到安全号码 ................................................................................................. 56

手机指令的接收 ............................................................................................................................. 57

创建短信接收者 ..................................................................................................................... 57 接收到短信后的逻辑实现 ..................................................................................................... 57

短信解析 ......................................................................................................................... 57 判断短信是否来自安全号码 ......................................................................................... 58

报警音乐的播放 ............................................................................................................................. 59

MediaPlayer介绍 ................................................................................................................... 59 播放报警音乐代码的实现 ..................................................................................................... 60

手机防盗页面动画跳转的实现

下一步按钮跳转的实现

从UI图可以看到,每一个页面都有下一步按钮,我们需要实现的就是相应按钮的点击事件,并作出相应的动作。找到下一步按钮的style样式,添加click点击属性。代码如下。

//添加点击事件 然后在每个引导页面的activity中添加clickNext方法,如第一页代码如下。 public void clickNext(View view) { // 每个页面只需要根据要跳转的页面,更改SjfdSetupActivity2.class即可 Intent intent = new Intent(this, SjfdSetupActivity2.class); startActivity(intent); //关闭当前页面 finish(); } 上一步按钮跳转的实现

与下一步按钮相似,首先要在style样式中添加点击事件,代码如下。 //添加点击事件 然后在相应页面添加clickPre方法,首页没有上一步,所以以第二页为例,第二页就跳转到第一页,代码如下。

public void clickPre(View view) { } // 跳转到不同页面,只需要更改SjfdSetupActivity1.class即可 Intent intent = new Intent(this, SjfdSetupActivity1.class); startActivity(intent); finish(); 页面跳转动画

对于activity来说,它内部有个方法叫做overridePendingTransition用来做activity切换时的动画。这个方法有两个参数,一个叫做enterAnim,表示进入时动画,另一个是exitAnim表示退出时动画。这两个参数其实就是两个动画资源文件即xml文件。

动画资源的制作

首先需要在res目录下新建anim文件夹,然后新建xml文件,选择translate标签。如图2-33所示。

图2-33 动画资源的制作

制作动画前我们首先要明白activity切换的原理,图示如下