当我从Broadcast Receiver类访问它时,我得到游标值为零, 这是我用来从数据库访问值的代码
public Cursor select_in(String num)
{
final Cursor cur= db.rawQuery("SELECT incoming FROM contactlist WHERE number=\""+num+"\"",null);
return cur;
}
这就是我从广播接收器类中调用该函数的方法,并且我已经通过了OnReceive方法的上下文。
openhelper=new OpenHelper(context);
this.db=openhelper.getWritableDatabase();
this.dh=new DataHelper(context);
String num=phonenumber;
Cursor cur=this.dh.select_in(num);
if (cur.moveToFirst()){
do{
incoming=cur.getInt(cur.getColumnIndex("incoming"));
}while(cur.moveToNext());
}
我的操作不是很重,以至于我不能在10秒内完成,因为我在广播接收器中使用它,我也关闭了数据库和光标,请任何人建议我如何获得该值。 提前致谢。
答案 0 :(得分:0)
Cursor c ;
try{
c = theDatabase.query("data", new String[] {KEY_CITY, KEY_TIMEZONE, KEY_COUNTRY, KEY_TIMEZONE_DISPLAY_NAME, KEY_TIMEZONE_ID},_ID+" = '"+id+"';", null, null, null, null, null);
}catch(Exception e){
Log.e("CLOCK", "Error getting Timezone for "+KEY_CITY+" : "+e.getMessage());
return null;
}