Отладчик не будет отображать разрешенные?, Поскольку замена? Выполняется базовым SDK (реализация sqlite), который находится в C, а не в Java.
Лучшее, что выможно увидеть bindArgs, например, для следующего кода: -
csr = mDBhlpr.getWritableDatabase().query("table1",null,"id=?",new String[]{"1"},null,null,null);
while (csr.moveToNext()) {
long id = csr.getLong(csr.getColumnIndex(DBHelper.COL_TABLE1_ID));
}
с точкой останова в 1-й строке, тогда вы можете получить: -
![enter image description here](https://i.stack.imgur.com/XmCME.png)
Я не верю, что проблема связана с привязкой аргументов, а в другом месте.Вы можете проверить это, изменив: -
Cursor cursor = db.query(DictionaryContract.WordEntry.TABLE_NAME, null, selection, selectionArgs, null, null, orderBy);
На
Cursor cursor = db.query(DictionaryContract.WordEntry.TABLE_NAME, null, null, null, null, null, null);
DatabaseUtils.dumpCursor(cursor);
т.е. выделите все строки, и они запишут все строки в Курсоре в Журнал.
Если все еще нет, то таблицы на других устройствах пусты.Если возникает исключение, вам придется исследовать это.
Если это работает как ожидалось, то постепенно (по одному) добавьте критерии выбора и аргументы.
например, первым будет
String selection = "eng LIKE ?";
String[] selectionArgs = {term};
String orderBy = "eng, oky ASC";
Cursor cursor = db.query(DictionaryContract.WordEntry.TABLE_NAME, null, selection, selectionArgs, null, null, null);
затем: -
String selection = "eng LIKE ? OR oky LIKE ?";
String[] selectionArgs = {term, term};
String orderBy = "eng, oky ASC";
Cursor cursor = db.query(DictionaryContract.WordEntry.TABLE_NAME, null, selection, selectionArgs, null, null,null);
и т. Д. (Обратите внимание, наконец, добавьте порядок еще раз).
Если ничего из вышеперечисленного не работает, то ваша проблема (как и ожидалось) в другом месте.