Android 中的“-journal”SQLite 数据库是什么?

2024-02-10

在我的andoid应用程序的数据库目录(/data/data/com.me.myApp/databases)中,对于我创建的每个sqlite数据库,都有一个同名的相应数据库,名称后附加“-journal”。

例如:myDatabase、myDatabase-journal、myOtherDatabase.db、myOtherDatabase.db-journal

这是什么?

and,

如果我为我的应用程序提供预填充数据库(按照:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/)我还需要包括这些吗?


Such -journal文件不需要(并且应该not) 进行分发。

这是因为各种日志文件代表临时数据 (ref. SQLite对临时磁盘文件的使用 https://www.sqlite.org/tempfiles.html)由 SQLite 使用。特别是一个-journal文件是一个回滚日志.

回滚日志是一个临时文件,用于在 SQLite 中实现原子提交和回滚功能。 (有关其工作原理的详细讨论,请参阅标题为 SQLite 中的原子提交的单独文档。)回滚日志始终位于与数据库文件相同的目录中,并且与数据库文件具有相同的名称,除了 8 个字符“ - 日记”附后。

回滚日志通常在事务首次启动时创建,并且通常在事务提交或回滚时删除。回滚日志文件对于实现 SQLite 的原子提交和回滚功能至关重要。如果没有回滚日志,SQLite 将无法回滚未完成的事务,并且如果在事务中间发生崩溃或断电,如果没有回滚日志,整个数据库可能会损坏。

一般来说这些-journal文件应该只存在when有一个开放的 SQLite 数据库 - 或者更确切地说,一个正在运行的事务 - 但可以通过控制PRAGMA 日志模式 https://www.sqlite.org/pragma.html#pragma_journal_mode。使用默认的编译指示设置-journal文件将被删除。

DELETE 日志记录模式是正常行为。在 DELETE 模式下,回滚日志在每个事务结束时被删除。事实上,删除操作是导致事务提交的操作。

确保only当数据库存在时复制实际的数据库文件not打开并且所有日志已被 SQLite 本身删除(或清除);这意味着所有事务都已完成并且数据库处于一致状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中的“-journal”SQLite 数据库是什么? 的相关文章

  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Recyclerview 动态部分不使用任何第三个库

    我想将标头添加到 recyclerview 我正在尝试使用来实现它 Override public int getItemViewType int position depends on your problem if position 0
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • 如何在我现有的 Android 应用程序中使用 Telegram API(包括聊天应用程序)?

    我想使用 telegram API 在我现有的 Android 应用程序中开发聊天功能 我不知道如何实施 我认为 看看Telegram 数据库库 测试版 从这里TDLib https core telegram org tdlib 俄语 但
  • sqlite 列名称引用(功能或错误)

    我遇到了一些对我来说看起来很奇怪的东西 但可能是我滥用了 sqlite3 create table t v 0 text insert into t values aa select from t v aa pragma table inf
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • Android Studio 与本地网络共享上的项目文件

    这是我的设置 Android Studio 项目文件位于 Ubuntu 14 10 盒子上的共享文件夹中 尝试在 Windows 8 机器上运行 Android Studio 1 0 2 并将 U 驱动器映射到包含项目文件的 Ubuntu
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • Mipmap 与可绘制文件夹[重复]

    这个问题在这里已经有答案了 我正在使用 Android Studio 1 1 Preview 1 我注意到 当我创建一个新项目时 我得到以下层次结构 不同 DPI 的 Mipmap 文件夹 不再有不同 DPI 的可绘制文件夹 我应该将所有资
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Android 2.3 模拟器在更新位置时崩溃

    我正在使用 Eclipse 编写和调试 Android 应用程序 我需要做的事情之一是更新设备的位置 因此我尝试使用模拟器控制窗口中的位置控制面板 在 手动 选项卡上 我选择 十进制 输入有效的纬度和经度 然后单击 发送 不幸的是 接下来发
  • 您使用什么物理 Android 设备进行测试?

    有什么好的推荐用于测试目的的物理 Android 设备吗 我正在苹果阵营寻找像 iPod touch 这样的设备 可以帮助 iOS 开发人员测试他们的东西 我知道有 Nexus One 但那东西相当昂贵 而且我并不真正关心手机的东西 而是可
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 在 Samsung Galaxy S5 Android 5.0 上使用 MediaPlayer 加载音频流需要超过 10 秒

    由于更新至 Android 5 0 MediaPlayer 在 Samsung Galaxy S5 上无法正常工作 启动音频流后加载时间超过 10 秒 示例代码 MediaPlayer mPlayer new MediaPlayer Str
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put

随机推荐

  • 上传图片到服务器

    我用谷歌搜索了很多 但没有用 我找到了很多包含信息的网站 但在所有网站中我的应用程序都崩溃了 我要打开的图片是 lastfile png 它存储在内部存储中 因此我使用 openFileInput lastfile png 打开它 我在 A
  • Django WeasyPrint CSS 集成警告:没有基本 URI 的相对 URI 引用: 位于第 None 行

    我想在 Django 中使用 Wea syPrint 生成报告 但我不知道如何集成CSS 特别是引导CSS文件 我可以看到生成的 html 但是当我将此行添加到我的模板时 我收到警告 警告是 没有基本 URI 的相对 URI 引用 位于 N
  • 调用未定义函数 Illuminate\Filesystem\finfo_file()

    我的中出现以下错误laravel log我正在运行的网站上的文件 如何确定错误的根源 由于堆栈跟踪如此短 我不确定从哪里开始 2017 07 03 16 05 13 生产 错误 异常 Symfony Component Debug Exce
  • Symfony:使用全局变量

    我知道 远离全局变量 问题是我真的真的需要一个可以获取的价值 而且最重要的是可修改的来自应用程序的不同部分 它是我出于调试目的需要监视的某些操作的计数器 谷歌搜索任何与 Symfony 和全局变量相关的内容 总是让我得到建议使用 Conta
  • 如何从 API 获取数据并将其打印在列表中,然后发布到不同的 API? (扑)

    在我正在编写的注册过程页面之一中 我正在尝试打印其中的内容类别 总计api 打印所有id and category 到一个列表中 然后将新用户选择的任意数量发布到不同的 api 其中包含user id and 类别 id 最终 之前 我已经
  • 确保使用双比较和交换指令来实现无锁堆栈?

    假设64位x86 64架构和Intel第3 4代CPU 以下是 Concurrency in Action 一书第 202 页中堆栈的无锁实现 template
  • 从 ASP.NET 网站发送 SMS [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有办法使用 Web API 从 ASP NET 网站发送 SMS 我了解网络服务 但不知道如何从我的应用程序调用这些服务 Web 服务
  • 为什么 vscode pylint 会漏掉明显的错误?

    我在 Visual Studio Code 中打开了一个 python 文件 有一个明显的错误 使用未定义的变量 但 问题 下列出的 pylint 问题仅显示一长串小约定问题 在其上手动运行 pylint 与 vscode 分开 可以很好地
  • Ajax/Js 图像上传器:创建重复的预览图像

    我正在使用 Ajax 图像上传器SITE http dondedeportes es uploader previewer 我目前实现了创建重复的预览图像 一个出现在输入字段下 另一个将出现在页面中的其他位置 例如 这就是您选择的 问题是
  • 将 int 转换为 ASCII 字符

    I have int i 6 而且我要 char c 6 通过转换 有什么简单的方法可以推荐一下吗 EDIT 我还需要生成一个随机数 并转换为字符 然后添加一个 txt 并在 ifstream 中访问它 直接的方法 char digits
  • JavaScript Promises - 拒绝与抛出

    我读过几篇关于这个主题的文章 但我仍然不清楚两者之间是否有区别Promise reject与抛出错误 例如 使用 Promise reject return asyncIsPermitted then function result if
  • 结合UIView动画块和OpenGL ES渲染

    我正在开发一款 iP 游戏 并且使用 UIKit 和 OpenGL ES 2 0 UIKit 元素在 OpenGL 视图上渲染并占据大量 任意 屏幕空间 我必须承认苹果做得非常出色 游戏的帧率始终保持在60 FPS 为了得出这个结论 我做了
  • php自定义异常

    我想知道如何编写自定义异常处理程序 这样我就可以做类似的事情 throw new dbException sql message 并让它输出 您的查询有误 消息 消息 查询 sql 这里 行 行异常被抛出 文件 抛出文件异常 但我也想捕获例
  • 如何在您的应用程序中获取 Elastic Beanstalk 应用程序版本?

    我们希望能够在 PHP 代码中检索 elastic beanstalk 应用程序版本 我没有看到 EB 在任何服务器配置文件中将其传递给我们 我觉得这很奇怪 还有其他人知道我们如何才能得到这个吗 至少对于 Docker 容器 您可以使用存储
  • Python:在 CSV 中得到 \xa0 而不是空格,无法删除或转换

    我有一个与 python 中的编码问题相关的问题 IPython笔记本 由于此类问题非常常见且简单 但我仍然无法真正解决它 我有一个CSV http www montefiore ulg ac be glouppe 2012 2013 ch
  • Sails js - 创建资产的副本

    我们正在考虑将我们的项目移植到 Sails js 我们的静态资产非常大 超过 3 GB 因此 这造成了严重的限制 因为它使我们的应用程序的大小增加了一倍 我们可以修改 Sails js 以防止这种默认行为吗 或者有人可以推荐其他框架吗 Sa
  • 使用 pry 时立即在 Rails 控制台中同时评估多行代码?

    假设我们有pry安装好后 打开rails控制台 然后运行 times 1 5 10 30 72 sample 1 0 nums 1 72 num sample nums sample times 计算在第 2 行之后停止 因为第二行的输出超
  • 如何让Android系统对所有apk强制使用LANDSCAPE?

    为了实现这一点 我在android系统 v4 04 中进行了三种修改 它们是 1 WindowsManagerService java 修改了getOrientationFromWindowsLocked 2 Activity java 修
  • Angular2 rxjs - switchmap 捕获错误

    我希望能够处理调用时出错的任何错误this authService refreshToken 可以在 switchmap 块内处理错误吗 或者在这种情况下我该如何处理错误 post3 endpoint string body string
  • Android 中的“-journal”SQLite 数据库是什么?

    在我的andoid应用程序的数据库目录 data data com me myApp databases 中 对于我创建的每个sqlite数据库 都有一个同名的相应数据库 名称后附加 journal 例如 myDatabase myData