热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

没有这样的表android_metadata,有什么问题?-Nosuchtableandroid_metadata,what'stheproblem?

Iamcopyingapre-existingdatabasetodatadatapackagenamedatabasesusingcodelearnedfromusi

I am copying a pre-existing database to /data/data/packagename/databases using code learned from using-your-own-sqlite-database-in-android-applications

我正在使用从您自己的sqlite-database-in-android-applications中学习的代码将预先存在的数据库复制到/ data / data / packagename / databases

After copying, I recieve the following log message on opening the database:

复制后,我在打开数据库时收到以下日志消息:

No such table android_metadata

没有这样的表android_metadata

Do I need to create a table named android_metadata? And what the values do i need insert into this database table

我是否需要创建一个名为android_metadata的表?我需要将值插入此数据库表中

Thanks very much

非常感谢

7 个解决方案

#1


107  

Actually, with a bit more reading, I have discovered that I need to use the SQLiteDatabase.NO_LOCALIZED_COLLATORS flag when calling SQLiteDatabase.openDatabase() - this no longer causes the problem.

实际上,通过更多阅读,我发现在调用SQLiteDatabase.openDatabase()时我需要使用SQLiteDatabase.NO_LOCALIZED_COLLATORS标志 - 这不再导致问题。

#2


30  

Use

使用

SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.NO_LOCALIZED_COLLATORS | SQLiteDatabase.CREATE_IF_NECESSARY);

or

要么

SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.OPEN_READWRITE);

#3


4  

It seems that for some reason android requires every database to have a table called android_metadata that includes at least one locale. The reigndesign blog you mentioned tells you how to create the table and prefill it with a locale.

似乎由于某种原因,android要求每个数据库都有一个名为android_metadata的表,其中包含至少一个语言环境。您提到的reigndesign博客告诉您如何创建表并使用区域设置预填充它。

Check if your database contains this table and if the table has some content.

检查您的数据库是否包含此表以及该表是否包含某些内容。

#4


3  

When you copy database from your assets directory for example, then you must have android_metadata table created in it already. This table should have two columns:

例如,从资产目录复制数据库时,必须已在其中创建了android_metadata表。该表应该有两列:

_id = an integer value
locale = en

#5


2  

I am already using as given in that link for a long time..

我已经在该链接中使用了很长时间..

It works.. Checkout your DB again the table created or not ?

它的工作原理..再次检查你的数据库是否创建了表?

I prefer to install SQLite Manager plugin in firefox for sqlite database operation.. after completing all process as mentioned in the same link..

我更喜欢在firefox中安装SQLite Manager插件进行sqlite数据库操作..在完成同一链接中提到的所有进程之后..

Checkout http://www.devx.com/wireless/Article/40842/1954.

结帐http://www.devx.com/wireless/Article/40842/1954。

It contains all database operations.

它包含所有数据库操作。

#6


2  

it might also just be file permissions - the error message is misleading. first you need to find out the user id of the app (this is assuming you have root access):

它也可能只是文件权限 - 错误消息具有误导性。首先,您需要找出应用程序的用户ID(假设您具有root访问权限):

$ adb shell grep  /data/system/packages.xml

output should look like:

输出应如下所示:


userId here is 10002.

userId这里是10002。

then fix permissions:

然后修复权限:

$ adb shell chown -R 10002:10002 /data/data/

#7


1  

In my case, I have discovered that this error will happen if I leave an open transaction left.

在我的情况下,我发现如果我留下一个打开的交易,就会发生这个错误。

In other words: If you forget to commit or rollback a transaction, in the next time you enter in your application, this error raises up.

换句话说:如果您忘记提交或回滚事务,则在下次输入应用程序时,会出现此错误。


推荐阅读
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • Docker 自定义网络配置详解
    本文详细介绍如何在 Docker 中自定义网络设置,包括网关和子网地址的配置。通过具体示例展示如何创建和管理自定义网络,以及容器间的通信方式。 ... [详细]
  • FFPlay 字幕与LRC歌词播放指南
    本文详细介绍了不同媒体容器支持的字幕格式,以及如何使用FFPlay和FFMPEG进行字幕和LRC歌词的播放与转换。涵盖的内容包括字幕显示方法、字体配置、字幕流选择等。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • JavaScript中的数组是数据集合的核心结构之一,内置了多种实用的方法。掌握这些方法不仅能提高开发效率,还能显著提升代码的质量和可读性。本文将详细介绍数组的创建方式及常见操作方法。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 探讨在Python环境下,如何将SQLAlchemy的ORM与Core组件结合使用以实现高效数据库操作。本文基于Windows 10系统,Python 3.4版本及SQLAlchemy 1.0.13版本,详细介绍了从数据库连接到数据操作的完整流程。 ... [详细]
  • 简述嵌入式Linux系统一般是将应用程序与文件系统、内核、资源文件等放在不同的分区,产品量产后内核、文件系统这些一般不会升级,应用程序可能升级会比较多 ... [详细]
author-avatar
鱼咸4406
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有