実際のデバイス上の SQLite db テーブルの内容を表示するバッチ スクリプトがあります。
@ECHO OFF
SET packageId=com.brightideahub.motorassistant
SET databaseName=test_event_data.db
SET tableName=test_table
adb shell "su -c 'sqlite3 -header -column /data/data/%packageId%/databases/%databaseName% \"SELECT * FROM %tableName%\"'"
pause
問題は、DB が変更されるたびに、このスクリプトを再実行して変更を確認する必要があることです。 logcatメッセージがリアルタイムで表示されるのと同様に、DBのコンテンツをストリーミングする方法はありますか?
また、sqlite3 コマンドで使用できるオプションについても調べました。-batchおよび-interactiveオプションが正確に何をするのか、そしてそれらが私が達成しようとしていることに役立つかどうかを誰かが説明できますか?
sqlite3 -help
Usage: sqlite3 [OPTIONS] FILENAME [SQL]
FILENAME is the name of an SQLite database. A new database is created
if the file does not previously exist.
OPTIONS include:
-bail stop after hitting an error
-batch force batch I/O
-column set output mode to 'column'
-cmd COMMAND run "COMMAND" before reading stdin
-csv set output mode to 'csv'
-echo print commands before execution
-init FILENAME read/process named file
-[no]header turn headers on or off
-help show this message
-html set output mode to HTML
-interactive force interactive I/O
-line set output mode to 'line'
-list set output mode to 'list'
-nullvalue TEXT set text string for NULL values. Default ''
-separator SEP set output field separator. Default: '|'
-stats print memory stats before each finalize
-version show SQLite version
-vfs NAME use NAME as the default VFS