碰到了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是否也是因为没转换成整形才没识别出来的。