文档章节

Android SQLite database is locked

daveztong
 daveztong
发布于 2014/11/06 21:25
字数 328
阅读 61
收藏 0
今天遇到了个Android SQLite database is locked的问题,几番查找原因是因为多线程同时对数据库操作引起的问题,Google了一下,SO上的人都建议使用ContentProvider,要么就是保持数据库操作的同步。我担心同步会影响程序的性能,就没有采用同步的方式,ContentProvider是个较好的选择。但是我又不想再去添加一个ContentProvider,因为多写代码意味着更多的bug,我就想在现有的基础上看能不能找到个解决方案。 在SO上看到有个人给出了为什么ContentProvider能解决这个问题的原因:因为ContentProvider使用的是一个SQLiteOpenHelper意味着就只有一个数据库连接,而SQLiteDatabase 自己会处理好locking的问题。只要不使用2个不同的数据库连接来操作数据库就不会出现这个问题,也就不需要使用ContentProvider,然后我就将封装数据库操作的类写成了一个单例类,这样就只存在一个SQLiteOpenHelper,也就解决了我的问题。多次测试,完美运行,感谢SO。 具体的可以看这儿: http://stackoverflow.com/a/2697553/1388881 这篇文章页可以参考一下: http://touchlabblog.tumblr.com/post/24474398246/android-sqlite-locking

© 著作权归作者所有

daveztong
粉丝 4
博文 93
码字总数 21482
作品 0
成都
程序员
私信 提问
【我的Android进阶之旅】SQLite出错时候的错误码整理

版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.csdn.net/ouyang_peng】 https://blog.csdn.net/qq446282412/article/details/85235154 一、背景 今天收到一...

欧阳鹏
2018/12/24
0
0
Database (SQLite)--数据库(SQLite)

一、SQLite简介 SQLite 的网站 (sqlite.org) 对SQL进行了如下描述:“SQLite 是一个可实现独立、无服务器、零配置、事务性 SQL 数据库引擎的软件库”。这句话中的关键要素都围绕着“库”这一...

失足处男的倒霉孩子
2013/12/27
1K
0
android是用外部sqlite文件问题求解.

有一个10m多大小的sqlite文件,要在android应用中使用它。 尝试过的方法如下: 1、把sqlite文件放入raw目录下,通过文件读写操作,将sqlite文件存入到sd卡中。这时候会出现错误:android.dat...

苏谷子
2013/06/21
1K
2
Android开发_SQLite使用方法技巧

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangty0223/article/details/9407509 SQLite介绍 SQLite是轻量级的、嵌入式的、关系型数据库,目前已经在iPh...

张腾元_Ternence
2013/07/22
0
0
Android创建和使用数据库详细指南(1)

数据库支持每个应用程序无论大小的生命线,除非你的应用程序只处理简单的数据,那么就需要一个数据库系统存储你的结构化数据,Android使用SQLite数据库,它是一个开源的、支持多操作系统的S...

冯京宝
2011/01/23
961
0

没有更多内容

加载失败,请刷新页面

加载更多

Android OkHttp + Retrofit 取消请求的方法

本文链接 前言 在某一个界面,用户发起了一个网络请求,因为某种原因用户在网络请求完成前离开了当前界面,比较好的做法是取消这个网络请求。对于OkHttp来说,具体是调用Call的cancel方法。 ...

shzwork
56分钟前
6
0
并发编程之Callable异步,Future模式

Callable 在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或...

codeobj
今天
6
0
Ubuntu环境下安装PaddlePaddle

开篇 深度学习技术是目前非常热门的技术,笔者在闲暇之余决定学习一下这门技术,入门选择了百度开源的PaddlePaddle框架。 paddlepaddle介绍 飞桨(PaddlePaddle) 是国际领先的端到端开源深度学...

豫华商
今天
6
0
LeetCode 第 287 号问题:寻找重复数,一道非常简单的数组遍历题,加上四个条件后感觉无从下手

今天分享的题目来源于 LeetCode 第 287 号问题:寻找重复数。 题目描述 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只...

五分钟学算法
今天
6
0
vuex mapActions

本文转载于:专业的前端网站➧vuex mapActions 在组件中使用 this.$store.dispatch('xxx') 分发 action,或者使用 mapActions 辅助函数将组件的 methods 映射为 store.dispatch 调用(需要先在...

前端老手
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部