У меня есть база данных, которая содержит несколько телефонных номеров. Мне нужно проверить, содержит ли база данных определенный номер. Как получить значения базы данных в инструкции if? Должен ли я использовать список массивов?Получение значений базы данных в выражении if
Это то, что я делал до сих пор ..
@Override
public void onReceive(Context context, Intent intent) {
Bundle bund=intent.getExtras();
String space="";
if(bund!=null) {
Object[] smsExtra = (Object[]) bund.get(SMS_EXTRA_NAME);
for (int i = 0; i < smsExtra.length; i++) {
SmsMessage sms = SmsMessage.createFromPdu((byte[]) smsExtra[i]);
body = sms.getMessageBody().toString();
address = sms.getOriginatingAddress();
db = openOrCreateDatabase("Admindb", MODE_PRIVATE, null);
Cursor crs = db.rawQuery("select * from adminstbl", null);
String[] str= new String[crs.getCount()];
crs.moveToFirst();
for(int k=0;k<str.length;k++)
{
str[k] = crs.getString(crs.getColumnIndex("Number"));
crs.moveToNext();
}
if (address.equals(str)){
//do my task here
}
вы хотите использовать SQL, чтобы сделать 'query' на вашей базе данных. http://developer.android.com/training/basics/data-storage/databases.html#ReadDbRow. Вы хотите сделать «выбор» на основе определенного номера – Blundell
, что я пытаюсь сделать, так это то, что пользователь вводит какой-то номер телефона в начале приложения и когда получен sms, я хочу проверить, находится ли sms от любое число, которое пользователь вводил ранее, и выполнять некоторые задачи на основе этого. как мне это сделать?? –
Вы можете сделать это, читая URL-адрес, который я связал выше. Тогда ваш следующий вопрос, вероятно, будет так: http://stackoverflow.com/questions/1243199/how-to-perform-an-sqlite-query-within-an-android-application – Blundell