我正在开发一个带有DB操作的android应用程序。为了调试的目的,我从这里安装了SQLite浏览器,在这里输入链接描述。我的问题是,当我从模拟器导出db文件并在浏览器中打开它时,它只显示元数据,而不显示实际的应用程序数据。在这里输入图像描述。
是的,我已经使用Android .在这里输入图像描述从正确的位置导出了db文件。
正如您所看到的,在数据库文件夹(journal& .file)中还创建了一些其他文件。因此,我想知道是否有人知道最近SQLite DB中的数据存储方式是否有任何变化。我使用的是Android 3.0.1。
提前谢谢你的帮助。
下面是带有包名的新屏幕截图.在这里输入图像描述
来自公共SQLite实用程序的日志
D/SQLITE_CSU: logCursorColumns invoked. Cursor has the following 4 columns.
D/SQLITE_CSU: Column Name 1 is id
D/SQLITE_CSU: Column Name 2 is title
D/SQLITE_CSU: Column Name 3 is uid
D/SQLITE_CSU: Column Name 4 is address
D/SQLITE_CSU: logCursorData Cursor has 1 rows with 4 columns.
D/SQLITE_CSU: Information for row 1 offset=0
For Column id Type is INTEGER value as String is 1 value as long is 1 value as double is 1.0
For Column title Type is STRING value as String is BBC value as long is 0 value as double is 0.0
For Column uid Type is STRING value as String is PajUFVIZvKbNWAHAgdJ9xpf6gi33 value as long is 0 value as double is 0.0
For Column address Type is STRING value as String is http://feeds.bbci.co.uk/news/world/rss.xml value as long is 0 value as double is 0.0这是logDatabaseInfo日志"-
D/SQLITE_CSU: DatabaseList Row 1 Name=main File=/data/data/com.rss.feedster.rss_feedster/databases/rssFeeds
D/SQLITE_CSU: Database Version = 3
D/SQLITE_CSU: Table Name = android_metadata Created Using = CREATE TABLE android_metadata (locale TEXT)
D/SQLITE_CSU: Table = android_metadata ColumnName = locale ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table Name = feeds Created Using = CREATE TABLE feeds(id INTEGER PRIMARY KEY,title TEXT,uid TEXT,address TEXT)
D/SQLITE_CSU: Table = feeds ColumnName = id ColumnType = INTEGER Default Value = null PRIMARY KEY SEQUENCE = 1
D/SQLITE_CSU: Table = feeds ColumnName = title ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = feeds ColumnName = uid ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = feeds ColumnName = address ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table Name = user_info Created Using = CREATE TABLE user_info(id INTEGER PRIMARY KEY,uid TEXT,nickname TEXT,email TEXT,age TEXT,mobile TEXT,password TEXT,gender TEXT,photoURL TEXT)
D/SQLITE_CSU: Table = user_info ColumnName = id ColumnType = INTEGER Default Value = null PRIMARY KEY SEQUENCE = 1
D/SQLITE_CSU: Table = user_info ColumnName = uid ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = user_info ColumnName = nickname ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = user_info ColumnName = email ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = user_info ColumnName = age ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = user_info ColumnName = mobile ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = user_info ColumnName = password ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = user_info ColumnName = gender ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0
D/SQLITE_CSU: Table = user_info ColumnName = photoURL ColumnType = TEXT Default Value = null PRIMARY KEY SEQUENCE = 0发布于 2018-03-15 09:52:50
我相信您只是找错了地方,单击浏览数据选项卡,然后选择Messages表将显示是否有任何数据。
其原因是,您正在查看数据库结构,这向您展示了将用于创建它们的表和SQL,以及列定义的列和SQL。
拥有名为android_metadata的表很可能表明数据库来自和Android设备,而不是来自另一个来源,也就是说,您只能在Android设备上找到它。
屏幕截图显示有一个名为Messages的表,它既不是自动生成的,也不是由SQLite创建的。根据截图,它至少有两列。其中一列名为类型,具有定义的整数列类型和NULL约束,另一列名为entry,具有BLOB的column_type。
下面是从仿真器复制的类似DB,显示了在查看数据库结构时(用1行填充)是如何出现的(“朋友”是表,列已经展开)。

注意,Browse数据表已被高亮显示,并有一个箭头指向它。单击此按钮将显示如下:-

这是在浏览android_metadata表的数据(只有1行1列)。在突出显示的表的右侧有一个下拉列表,单击它并选择Messages表。您的数据将显示,例如(显然这是用于“老友记”表):

编辑处理调试信息。
显然,您要从模拟器中复制/导出的表不是您正在DB浏览器中查看的用于SQLite的数据库。您通过所提供的实用程序提供的数据库是:-
/data/data/com.rss.feedster.rss_feedster/databases/rssFeeds
因此,您希望导出复制,然后在DB浏览器中为SQLite打开该文件。
不是google_app_measurement_local.db
我认为问题基本上是假设数据库必须具有.db文件扩展名。.db (文件扩展名)不影响纯粹用于指示文件可能为的类型的数据。
我毫不怀疑,如果您打开上述文件,那么您将看到数据和结构与您所期望的一样。注意,要查看文件,请在文件名输入的右侧选择All Files。
作为一个示例,下面显示了一个导出/复制为db1.rumplestiltskin的文件,然后在DB浏览器中为SQLite打开了该文件:


修正
在设备监视器导出/复制/保存文件/data/data/com.rss.feedster.rss_feedster/databases/rssFeeds中,然后在DB浏览器中为SQLite打开该文件;注意,如果它没有.db或.sqlite文件扩展名,则必须从File TypeE 265选择器中选择All Files,选择器位于E 166名称输入E 267右侧,以便能够从文件浏览器中选择文件。
也许读过文件名扩展名,它更详细地解释了文件扩展名。
https://stackoverflow.com/questions/49293264
复制相似问题