作者mgtsai ()
看板AndroidDev
标题Re: [问题] 有工具可以直接看SQLite的指令吗?
时间Mon Jan 31 02:21:47 2011
※ 引述《cuteman0725 (Q面)》之铭言:
: 有没有其他是从 framework 或是其他 3rd party 发出来的指令...
: 目前在网路上有看到 PARAMA
: http://zhangjiaweixt.javaeye.com/blog/811547
: 看起来可以藉由在 adb shell 里面下
: parama parse_trace=true
: parame vbde_trace=true
: 两行指令来开启追踪﹙如果我没搞错的话﹚
: 只差我不晓得如何导出 sql 指令并显示在萤幕上
: 目前我正在研究,如果有结果我再 PO 文说明
: 或是有人知道也请给个答案 ^.^
第一,pragma 属於是 sqlite3 的命令
所以进入 adb shell 後,要先下 sqlite3 命令
进入 sqlite shell 後,才能操作这些 pragma 命令
如果你以前习惯利用 command line 模式操作 mysql 或 oracle,
那这部分你就不会太陌生
第二,要看 sqlite3 有哪些 pragma
建议你找一本 SQLite 专书或上 SQLite 官网 (
http://www.sqlite.org/)
里头会详列有哪些 pragma 可以使用
(我自己手头上有一本 O'Reilly 的 Using SQLite)
我初步找的结果是,pragma sql_trace 可能是你想要的东西
不过里头特别提到当初在 compile SQLite 时要开启 SQLITE_DEBUG macro
可是爬了一下 Android 的 source
里头 SQLite 的 Android.mk 里头并没有开启 SQLITE_DEBUG
除非你自己重新 build 整个 Android (超级大工程)
不然我相信,可能不会有硬体厂商,会专门针对 SQLite 把 SQLITE_DEBUG 打开
(Source: external/sqlite/dist/Android.mk 与 external/sqlite/dist/sqlite3.c)
SQLite 在 Android 里是属於 3rd party package
稍微比对一下原始的 sqlite3.c 与 Android 移植後的 sqlite3.c 档
发现变更不多 (不到一百行)
这表示,Android 针对 SQLite 并没有调整太多功能
----------
你想要的功能,我认为可能不会完全没解
我要细想一下如何解,方向大致会针对如何抽换 Java native library 下手
不过工程也不小就是了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.58.129
※ 编辑: mgtsai 来自: 114.32.58.129 (01/31 02:32)
1F:推 cuteman0725:感谢分享 最近我把CodeBse再改一下好了 就当做是实验 01/31 22:21
2F:→ cuteman0725:吧 01/31 22:21