上次,我们为app添加了本地存储的功能,但会发现一但退出app则存储的商家集合就消失,但其实本地已经存储了记录只是没去读取罢了。

接下来我们来实现这个功能。

    /**
* 获取本地数据
*/
private void getLocalData() {
//创建或者打开数据库
createOrOpenDataBase();
// 定义一个集合用来存放我们要的几个店名
shopList = new ArrayList<Shop>();
//游标 获取数据库表单上的项
Cursor cursor = db.query("shopinfo", null, null, null, null, null, null, null);
while(cursor.moveToNext()){
//第一列 就是之前定义的店名
String shopName = cursor.getString(1);
Shop Shop = new Shop(shopName);
shopList.add(Shop);
}
}

  在init()开头调用此方法,这样就可以实现如果app本地有数据,则显示数据,没有则创建新的数据库和对应表单。

  接下来将本地数据的删除功能添加进去。

     /**
* 删除数据
* @param shop
*/
private void removeLocalData(Shop shop){
//跟据shopName查询并删除
db.delete("shopinfo", "shopName = ?", new String[]{shop.getName()});
}

  修改确认键的点击监听:

  builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {       //删除本地数据
      removeLocalData(shopList.get(position));
      //移除集合内的该项
      shopList.remove(position);
      //刷新
 shopAdapter.notifyDataSetChanged();
    }
  });

  这样本地读取数据和删除功能就得到实现。

最新文章

  1. Java传值和传址
  2. Codeforces Round #260 (Div. 2)
  3. jQuery插件开发的两种方法及$.fn.extend的详解
  4. arm64 boot
  5. 祸福相依,大难之后的O2O迎来新福报?
  6. JavaScript 文件上传类型判断
  7. express 学习笔记
  8. Android实现图表绘制和展示
  9. 疯狂VirtualBOX 实战讲学录:小耗子之VirtualBOX修炼全程重现
  10. C# 语言的两个html解析器
  11. HTML5开发在2017年发展趋势如何?
  12. 从零开始学习前端JAVASCRIPT — 11、Ajax-前后端异步交互以及Promise-异步编程的改进
  13. Spring Boot 2.0(八):Spring Boot 集成 Memcached
  14. 深入浅出 JVM GC(3)
  15. jmeter 压力测试
  16. 【逆向工具】IDA使用1-VS2015版本debug查找Main函数,加载符号文件
  17. windows dhcp server
  18. Ansible-playbook的简单使用 [转]
  19. TCP端口号范围及分类
  20. [转]JMX的Hello World

热门文章

  1. 图论--最小生成树--Prim算法(带边输出)模板
  2. 用Visual Studio2019自定义项目模板
  3. docker redis shell
  4. [hdu5213]容斥原理+莫队算法
  5. 在一段字符串中的指定位置插入html标签,实现内容修改留痕
  6. 5-JVM常用的命令
  7. pyppteer下
  8. 搞懂:前端跨域问题JS解决跨域问题VUE代理解决跨域问题原理
  9. 搞懂:MVVM模型以及VUE中的数据绑定数据劫持发布订阅模式
  10. IDEA插件记录