碰到了android无法识别string的问题
Cursor cursor = db.query(true, "user", new String[]{"id","mode","checked"}, "id=?", new String[]{"1"}, null, null, "1,2", null);
cursor.moveToNext();
String mode = cursor.getString(cursor.getColumnIndex("mode"));
String check = cursor.getString(cursor.getColumnIndex("checked"));
long int1 = Long.parseLong(mode);//。。
long int2 = Long.parseLong(check);
if (( int2 == 1 ) && ( intent.getAction().equals( SMS_RECEIVED ) ))
{
// 相关处理 : 地域变换、电量不足、来电来信;
//Toast.makeText(context, "来短信了", Toast.LENGTH_LONG).show();
if(int1 == 1)//点亮但不解锁
{
Toast.makeText(context, "New Message!" , Toast.LENGTH_SHORT).show();
Intent serIntent1 = new Intent();
serIntent1.setClass(context, ScreenService1.class);
context.startService(serIntent1);
}
如上面的程序,必须先把String类型的数据用parseInt方法转换成整形才能被下面的if语句判断出来(为什么??),为此废了好大的劲儿,甚至放弃了sharedPreferences而采用了SQLiteDatabase,不过好处是我也终于了解了android的这几种存储数据的方式。
待有空再测试sharedPreferences是否也是因为没转换成整形才没识别出来的。