Android 如何查看使用SQLiteDataBase.Query()生成的查询字符串?

Android 如何查看使用SQLiteDataBase.Query()生成的查询字符串?,android,android-sqlite,Android,Android Sqlite,出于调试目的,我想记录我生成的查询结果,如下所示: SQLiteDatabase db = helper.getReadableDatabase(); Cursor c = db.query( TABLE_NAME, null, selection, selectionArgs, null, null, null ); 有没有办法获取生成的查询字符串?内部SQLiteDatabase使用SQLiteQueryBuilder。您可以使用it

出于调试目的,我想记录我生成的查询结果,如下所示:

SQLiteDatabase db = helper.getReadableDatabase();
Cursor c = db.query(
    TABLE_NAME,
    null,
    selection,
    selectionArgs,
    null,
    null,
    null
);

有没有办法获取生成的查询字符串?

内部
SQLiteDatabase
使用
SQLiteQueryBuilder
。您可以使用its生成查询字符串和
rawQuery(sql,selectionArgs)
以确保执行完全相同的查询。

但这不需要选择参数。唯一适用的方法似乎是buildQuery(),但带有选择参数的版本已被弃用,文档说它实际上不执行任何替换。您在实际运行查询时提供选择参数。
占位符是SQL的一部分。是的,rawQuery不是也使用一些内部方法来替换
?我有点需要访问那个。。。或者自己编写?参数绑定在sqlite C API级别,在SQL字符串中从不替换。好的,谢谢。我想我只需要使用上面提到的方法来获取参数化字符串并自己替换数据。