Android调用Sqlite数据库时自动生成db-journal文件的原因

数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等。Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在

这个journal文件便是Sqlite的一个临时的日志文件,主要用于sqlite事务回滚机制,在事务开始时产生, 在事务结束时删除。当程序发生崩溃或者系统断电时该文件将留在磁盘上,以便下次程序运行时进行事务回滚。

在android模式下,journal文件是永久的留在磁盘上不会被自动清除的。如果没有发生事务回滚那么.db-journal文件的大小为0,这样就避免了每次生成和删除journal文件的开销。

所以,在进行数据备份时最好同时备份两个文件比较安全。

时间: 2024-10-15 04:26:25

Android调用Sqlite数据库时自动生成db-journal文件的原因的相关文章

Qt for Android 打包 SQLite 数据库

Qt for Android 调用 SQLite 数据库时, 怎样将已经存在的数据库附加到 APK 中? 直接在你项目里面的Android源码的根目录下新建一个文件夹assets, 数据库就可以放里面了, QT在打包apk的时候会自动打包这个目录里面的东西进去的  本文用菊子曰发布

eclipse android 不会自动生成R.java文件和包的解决办法

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法 我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动生成R.java文件了,导入其他工程也一样不行. 前几天安装了NDK开发环境,不知道是这个影响到的还是ADT升级了没有升级导致的. 这个问题网上搜索了下确定不是eclipse的问题,应该是ADT插件的问题,建议重新安装ADT插件. 我重装后先在好了,其他方法试了很多都不起作用.总结:eclipse不会自

Android学习---SQLite数据库的增删改查和事务(transaction)调用

上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代码实现增删查改: 1.创建DB工具类 MyDBHelper.java(创建数据库的操作) package com.amos.android_db; import android.content.Context; import android.database.sqlite.SQLiteDatabas

编写一个Android平台遇到的所有问题(一)——查询sqlite数据库时遇到的问题

本人处于本科毕业阶段,毕业设计要做一个安卓平台,对于java还是小白的我确实有点难度,不过在做的过程中还是收获很多,现在希望把自己在这个过程中遇到的各个问题和朋友们分享,大神们不喜勿喷,由于毕业设计要做半年,所以接下来的这个系列差不多也要写将近半年吧,我尽量坚持. 下面就开始吧!! 一.查询sqlite数据库时遇到的问题 相必对于所有的Android开发者来说,sqlite一定不陌生,今天我第一次接触就被她虐了40分钟,真是惭愧.关于数据库的其他操作我就不多说了,大家一定都很清楚,我着重说一下在

android greenDao SQLite数据库操作工具类使用

上一篇介绍了如何建立类生成工程,现在介绍如何使用. 以下是ExampleDaoGenerator工程代码,做了一些修改 /* * Copyright (C) 2011 Markus Junginger, greenrobot (http://greenrobot.de) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in com

android中SQLite数据库的增删改查

1.数据库帮助类PersonSQLiteOpenHelper package com.wzw.sqllitedemo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper

android操作sqlite数据库及心得

写这篇文章主要是网上的对sqlite的操作太多且太杂,很多时候都不能很好的运用到自己的项目中,结构不清晰,我自己写了一篇适合刚刚接触的人看的操作方法. 近来用android时要将一些数据保存起来,一开始用的是preferences,后来要保存的东西多了,发现用preferences明显不能满足要求了,而且发现用这个的话代码就变得有点乱了,所以才开始学习使用sqlite数据库,一开始以为不就是个数据库么,和平时的mysql啊或者是sqlserver都一样,都很简单的,但后来真正在用的时候才发现困难

Android实现SQLite数据库的增、删、改、查的操作

核心代码DAO类 package com.examp.use_SQLite.dao; import java.util.ArrayList; import java.util.List; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import

RT/Metro商店应用如何调用SQLite数据库

RT/Metro商店应用如何调用SQLite数据库 使用前,要安装:SQLite for Windows Runtime (Windows 8.1)(一个VS插件).还有Visual C++ Runtime Package(如:Microsoft Visual C++ 2013 Runtime Package for Windows), 同时,项目生成要修改为X86或者X64,总之不能使有和AnyCPU.我这里使用的是X86. private async void Create() { //数据