【发布时间】:2012-06-10 17:15:35
【问题描述】:
我想过滤带有前缀“kmsmks”的消息,编译成功但我强制关闭:
...
String firstword = "kmsmks";
while (cursor.moveToNext())
{ String address = cursor.getString(1);
String body = cursor.getString(3);
String firstmessageword = body.substring(0,7);
if (firstword.equals(firstmessageword))
{
System.out.println("======> Mobile number => "+address);
System.out.println("=====> SMS Text => "+body);
sms.add("Address=> "+address+"\n SMS => "+body);
}
}
return sms;
}
…
【问题讨论】:
-
你能发布错误的堆栈跟踪吗?
-
我查看了您的原始代码,您知道,您不应该在光标上调用
cur.getString(1)。相反,您应该在运行时使用cur.getString(cur.getColumnIndex("column_name"));确定列索引。如果您决定更改数据库结构,这样做将确保您的代码不会中断。 -
@SagarHatekar:没有错误,但强制关闭:(
-
@AlexLockwood :哦,那个代码没有优化?对不起,我是新手..
-
(1) 并不是说它没有优化……这只是不好的编码习惯,会让你的生活更加困难。 (2) 强制关闭肯定是一个错误...检查您的 logcat 并发布错误消息。
标签: java android string sms prefix