android打开sqlite数据库,Android:打开和关闭SQLite数据库
我正在开发和android应用程序,我经常使用它访问本地数据库。这个数据库可以从不同的therads访问,所以我对数据库有一个协调问题。我使用以下open()和close()方法。Android:打开和关闭SQLite数据库
public void open(){
mDb=mDbHelper.getWritableDatabase();
}
public void close(){
mDb.close();
}
所以,通常情况下,当我需要访问数据库的某些操作我打开数据库,然后我执行一些操作,最后我关闭数据库。我通常使用用于此目的的代码如下:
try {
dbManager.open();
// database operation
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
dbManager.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但是,如果此片的代码是从differnts线程使用(假设线程A和线程B)下面可能情况发生:
A thread: performs open()
B thread: perfroms open()
A thread: perfroms some operation
A thread: performs close()
B thread: try to perform some operation but it fails!
因此,当我的应用程序启动时,我猜想我可以执行的唯一解决方案是open(),而当我的应用程序停止时,我可以执行close()。我不确定这是否是一个好的解决方案?
实际上,getWritableDatabase()方法的文档(从我open()称呼)说:
Make sure to call close() when you no longer need the database
所以,任何人都可以提出我的替代解决方案?
+1
不关闭数据库,仅仅只是接近光标到数据 –
2013-04-23 14:10:14
+0
同步访问或在一个线程中只有 –
2013-04-23 14:15:36
+0
做分贝OPS ...或建立的ContentProvider ... –
2013-04-23 14:16:31
android打开sqlite数据库,Android:打开和关闭SQLite数据库相关推荐
- android增删功能代码,Android Studio开发实战 之 增删改查
增删改查是一个应用最基础的操作,增删改查的流程走通了,下面的路程也就顺利多了.现在使用Android Studio开发一个简单的应用,该应用就实现了增删改查的操作,看似简单,到底简不简单呢,下面开始操 ...
- oracle关闭数据库容器,Oracle12cr1新特性之容器数据库(CDB)和可插拔数据库(PDB) 的启动和关闭...
Oracle12c中引入的多宿主选项(multitenant option)允许一个容器数据库容纳多个独立的可插拔数据库(PDB).本文将说明如何启动和关闭容器数据库(CDB)和可插拔数据库(PDB) ...
- android代码打开数据库,Android打开和关闭数据库
与计算机编程中的许多事情一样,关闭SQLite数据库的时间没有单一的"正确进行"(如果您正在使用它,则通过SQLiteOpenHelper上的close(),否则对SQLiteDa ...
- android代码打开数据库,android – 如何正确关闭并重新打开Room数据库
您好我有2个应用程序依赖于制作和恢复应用程序数据库的备份,只需将数据库文件复制到SD卡中,然后很难确定如何在关闭它之后重新打开Room Database单例以创建数据库'副本. 构建数据库: @Dat ...
- android代码关闭数据库,android – 我应该如何正确打开和关闭我的数据库
我有一个应用程序,它将一些数据存储在SQLite数据库中.此外,我在我的应用程序中进行了大量查询和重新查询.我在其中有大约15个活动.并且所有人都使用数据库来查询数据. 但我正在做的是在每个活动中打开 ...
- 【转】Android 设置Wifi热点、打开与关闭的监听
原文地址:http://blog.csdn.net/u011520181/article/details/46496377 用过360的面对面快传,快牙的朋友应该都知道,它们在两台设备间实现文件传输都 ...
- Android 设置Wifi热点、打开与关闭的监听
用过360的面对面快传,快牙的朋友应该都知道,它们在两台设备间实现文件传输都是通过WiFi热点实现的,下面我们就来探讨一下如何设置热点名和密码,并自动创建一个wifi热点吧,以及如何监听热点的打开与关 ...
- android 页面退出动画,android Activity打开和关闭动画
activity 之间的动画跳转,或者是关闭的的时候的动画关闭. public class SActivity extends AppCompatActivity { @Override protec ...
- Android控制闪光灯的方法(打开与关闭)
Android移动端操作系统 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称, ...
最新文章
- [ZJOI2018]历史
- 性能领先,即训即用,快速部署,飞桨首次揭秘服务器端推理库
- vimrc 配置 史上最牛
- tableau必知必会之仪表板的最佳实践
- 常见网络游戏同步方式
- 【机器视觉】 Halcon批量加载图像
- c语言多维数组基础知识,C语言基础第7章多维数组.ppt
- maven使用testng_使用Maven Failsafe和TestNG分别运行单元测试和集成测试
- 清华大学《操作系统》(七):虚拟存储、覆盖、交换
- 将 nginx 安装成 windows 的方法
- mybatis sql linux,通用mapper生成sql及mybatis使用过程
- 95-080-046-源码-启动-flink-daemon.sh
- 拜托,面试别再问我TopK了!!!
- Unity独立游戏大集合
- BootStrap4内容系列之文字排版
- 1.Attach(E-UTRAN Initial)
- 计算机网上培训6,wordexcel计算机基础培训6.pptx
- 视频封面如何消重 修改视频md5 百度网盘
- 程序的优化 文字的减法
- 基于ARM9多串口工控主板的嵌入式开发方案
热门文章
- linux内核分析第五次实验
- http://blog.sina.com.cn/s/blog_4aae007d0100inxi.html
- careercup-递归和动态规划 9.2
- jvm lock低性能分析
- Java基础知识之变量与常量、数据类型、类型转换
- Java算法之只出现一次的数字
- erwin怎么设置编码_Word页码的设置方式
- python没有错误但是不显示结果_解决Pycharm无法显示matplotlib绘图问题
- typeof---JavaScript
- Node.js下载安装及各种npm、nvm、nrm配置(保姆式教程---提供全套安装包)---node.js的安装与配置(1)