Я думаю, что это работает:
String[] whereArgs = new String[] {name};
String[] PROJECTION = new String[] { MyProvider.SETTINGS_USERNAME };
Cursor c = getContentResolver().query(MyProvider.SETTINGS_URI,
PROJECTION, MyProvider.SETTINGS_USERNAME + "=?" , whereArgs, null);
if (c != null) {
count = c.getCount();
c.close();
}
Если вы хотите использовать whereArgs
, вы должны иметь такое же количество ?
в where
, как у вас есть предметы whereArgs
whereArgs
заменит ?
в окончательном запросе к базе данных
String where = "name = ? OR name = ?";
String[] whereArgs = new String[] {
"Peter",
"Jim"
};
, что приведет к name = 'Peter' OR name = 'Jim'
для запроса.
Кстати: не catch(NullPointerException e)
- сделайте ваш код безопасным, чтобы он не мог случиться