【发布时间】:2015-11-28 17:31:30
【问题描述】:
我有一个包含多个电话号码的数据库。我需要检查数据库是否包含特定数字。如何在 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。 developer.android.com/training/basics/data-storage/… 。您需要根据具体数字创建selection -
我想做的是用户在应用程序开始时输入一些电话号码,当收到短信时,我想检查短信是否来自用户输入的任何号码更早并在此基础上做一些任务。我该怎么做??
-
你可以通过阅读我上面链接的网址来做到这一点。那么你的下一个问题大概是这样的:stackoverflow.com/questions/1243199/…
标签: android arrays string if-statement android-database