有没有办法将我的sqlite查询打印到logCat?这是我的查询
db.query(TABLE, projection, selection, selectionArgs, null, null, null)
答案 0 :(得分:7)
您可以尝试添加
adb shell setprop log.tag.SQLiteLog V
adb shell setprop log.tag.SQLiteStatements V
对于ormlite
adb shell setprop log.tag.StatementExecutor VERBOSE
adb shell setprop log.tag.BaseMappedStatement VERBOSE
adb shell setprop log.tag.MappedCreate VERBOSE
adb shell setprop log.tag.ORMLite DEBUG
您可能需要重新启动Android Studio。
编辑1: 我在Mobile上测试sqllite,配置似乎没用。我不知道原因。 它不起作用,因为源代码说:
public final class SQLiteDebug {
private static native void nativeGetPagerStats(PagerStats stats);
/**
* Controls the printing of informational SQL log messages.
*
* Enable using "adb shell setprop log.tag.SQLiteLog VERBOSE".
*/
public static final boolean DEBUG_SQL_LOG =
Log.isLoggable("SQLiteLog", Log.VERBOSE);
/**
* Controls the printing of SQL statements as they are executed.
*
* Enable using "adb shell setprop log.tag.SQLiteStatements VERBOSE".
*/
public static final boolean DEBUG_SQL_STATEMENTS =
Log.isLoggable("SQLiteStatements", Log.VERBOSE);
/**
* Controls the printing of wall-clock time taken to execute SQL statements
* as they are executed.
*
* Enable using "adb shell setprop log.tag.SQLiteTime VERBOSE".
*/
public static final boolean DEBUG_SQL_TIME =
Log.isLoggable("SQLiteTime", Log.VERBOSE);
/**
* True to enable database performance testing instrumentation.
* @hide
*/
public static final boolean DEBUG_LOG_SLOW_QUERIES = Build.IS_DEBUGGABLE;
private SQLiteDebug() {
}
}
答案 1 :(得分:2)
我会读取查询读取的每一行,并使用以下命令从每行打印到logcat的值:
while (!cursor.isAfterLast()) {
/* Reading values from the current line, putting them into variables */
...
/* Print the log message */
Log.d("Log message", value1 + " and " + value2 + " and " + ... );
cursor.moveToNext();
}
cursor.close();
答案 2 :(得分:2)
Android有一个实用程序类来转储游标!如下所示:
while(!cursor.isAfterLast()) {
Log.e(TAG,DatabaseUtils.dumpCurrentRowToString(cursor));
cursor.moveToNext();
}
答案 3 :(得分:1)
使用此行显示
Log.d(TAG, DatabaseUtils.dumpCursorToString(cursor));