eatwhatApp开发实战(六)
2024-09-21 14:10:49
上次,我们为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();
}
});
这样本地读取数据和删除功能就得到实现。
最新文章
- Java传值和传址
- Codeforces Round #260 (Div. 2)
- jQuery插件开发的两种方法及$.fn.extend的详解
- arm64 boot
- 祸福相依,大难之后的O2O迎来新福报?
- JavaScript 文件上传类型判断
- express 学习笔记
- Android实现图表绘制和展示
- 疯狂VirtualBOX 实战讲学录:小耗子之VirtualBOX修炼全程重现
- C# 语言的两个html解析器
- HTML5开发在2017年发展趋势如何?
- 从零开始学习前端JAVASCRIPT — 11、Ajax-前后端异步交互以及Promise-异步编程的改进
- Spring Boot 2.0(八):Spring Boot 集成 Memcached
- 深入浅出 JVM GC(3)
- jmeter 压力测试
- 【逆向工具】IDA使用1-VS2015版本debug查找Main函数,加载符号文件
- windows dhcp server
- Ansible-playbook的简单使用 [转]
- TCP端口号范围及分类
- [转]JMX的Hello World