debug版本可以导出并查看数据库。 调试时可以打开AndroidStudio的app inspection面板。然后能看到数据库和数据表。如下,可以将其中一个表格导出来:

这里可以导出sql文件或者表格。

或者直接导出数据库:

以上,选择db,可以导出DB文件。

用sqlite3命令打开这个db文件看下:

有数据的,但是啥也看不到。如果想用sqlite3命令行查看数据库的话,需要进入device explorer面板,进入data/data/ 下面的应用目录把整个databases目录导出来:

比如我导出到这里:

然后就可以用sqlite3命令看数据库了:

如果想方便,使用可视化工具 DB-Browser-for-SQLite 。下载链接:https://sqlitebrowser.org/dl/

下载安装完:

下面的那个SQLCipher那个适合操作加密过的数据库。没加密的用上面的就行。

打开是这样:

打开那个.db文件(AndroidStudio的app inspection导出的db文件)。

可以浏览数据,修改数据,执行sql语句,创建数据库等。这家伙功能很丰富。

我试一下创建一个数据表。我导出mysql的一个表格的sql,内容如下:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for account
-- ----------------------------
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account`  (
  `accountName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '账号名',
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '密码',
  `nickName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '昵称',
  `note` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注',
  `address` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '网址',
  `id` int NOT NULL AUTO_INCREMENT COMMENT 'id',
  PRIMARY KEY (`id` DESC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

转化为SQLite的创建表的sql语句:

DROP TABLE IF EXISTS `account`;
CREATE TABLE `account` (
  `accountName` TEXT NOT NULL DEFAULT '',
  `password` TEXT NOT NULL DEFAULT '',
  `nickName` TEXT NULL DEFAULT NULL,
  `note` TEXT NULL,
  `address` TEXT NULL,
  `id` INTEGER PRIMARY KEY AUTOINCREMENT
);

执行如下:

ok. 创建表成功,我又往里面插入了一条数据:

ok. SQLite数据库就是一个db文件,非常方便。跨平台支持。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐