day41_实战项目安全卫士之第04天

01_自动更新的设置

 

  1. 动态的传递listener:(由于自定义view的属性被封装)

  1. 暴露一个方法去设置复选框的状态

  2. 通过暴露的方法设置自定义view的属性

     

如果不更新,直接进入

02_自动更新的业务优化

 

 

03_监听动画的事件

也可以把版本检测放在开始动画里面

04_黑名单的界面

 

05_自定义组件控件事件传递

容器是没有点击事件的,除非添加 clickable:true

 

想 设置中心 添加黑名单拦截模式组件,只需提供事件的方法即可

06_黑名单界面的处理

 

设置handler处理事件,通过message(简单界面)

 

07_黑名单数据创建

标记性常量的原则:每个标记只对应一个位为1

 

例子:

08_黑名单数据的业务封装

 

封装手法:

 

09_显示黑名单数据

// 给Listview设置适配器,就去取适配器的数据显示

mLv_safenumbers.setAdapter(mAdapter);

 

// 首先 调用adapter的getcount方法来获取多少条数据

// 1:如果为0,不显示任何数据 2:否则依次调用getView()获取每个数据并设置到组件上

 

 

 

 

10_分页数据dao处理

分页的思想:

  1. 一共有多少条数据

    select count(*) from blacktb

    原因:SQL解析器会先查询数据字典,把*转成所有的列名和列的类型

                        然后把每行数据提取出来,最后计算多少行

     

    select count(常量) from blacktb(性能好,例子:1)

                原因:不需要每行的记录,只需要行数

                select 1 from blacktb(表示查询到所有)

     

  2. 指定每一页有多少条数据

    需求指定每一页行数

  3. 计算出共多少页

    int pages = 201 / 20; // 结果是20,不是21

     

    int pages = (int)Math.ceil( 201*1.0 / 20 ); // ceil() --- 浮点数向上取整

  4. 取每页的信息

    select * from blacktb limit 5 offset 3; // 取5条数据,从第3行开始

    select * from blacktb limit 5 ,3; // 从第5行开始,去3条数据

     

    如:去第三页的数据

    select * from blacktb limit (3 - 1) * 20 ,20

     

    select * from blacktb limit (页码 – 1 ) * 每页条数 ,每页条数 ;

 

11_分页显示黑名单数据

初始化:

更新界面的initData() 方法:

切换界面:

DAO:

// 获取blacktb的所有数据游标

Cursor cursor = db.rawQuery("select " + BlackTable.PHONE + "," + BlackTable.MODE + " from " + BlackTable.BLACKTB+" limit ?,?", new String[]{((currentPage -1)*perpages)+"",perpages+""});

 

 

 

 

 

 

更改界面:放在handler里面

 

12_分批加载数据

 

 

13_删除黑名单数据

在listview的getView中给每个item添加点击事件

注意删除一条增加一条

 

14_添加黑名单数据

 

 

 

15_添加黑名单数据2

 

避免重复数据:添加前先删除

1.DAO中删除

2.Activity中删除

2.1 改造bean类

 

16_添加黑名的弹出窗体

弹出窗体的位置设置:

 

从右侧弹出窗体的animation:

设置多个组件监听的方法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值