当我尝试运行应用程序时,我在logcat NullPointerException
中找到了错误消息。产生此错误的代码如下所示。 str是来自另一个叫MD5encoder
的类。代码如下所示。字符串md 5 = MD5Encoder.encode(str)
和光标来自mainActiviry
。 MD5encoder
是我导入MainActivity
的另一个java文件类。我想知道光标在哪里md5 = ?
,新字符串它不能得到str或值,所以它抛出NullPointerException
。有人对此有任何想法吗?
String md5 = MD5Encoder.encode(str);
Cursor cursor = db.rawQuery("SELECT desc FROM datatable WHERE md5 = '?' ",new String[] { md5 });
public class MD5Encoder {
public static String encode(String source){
String result = null;
try {
MessageDigest md = MessageDigest.getInstance("md5");
byte[] output = md.digest(source.getBytes());
StringBuffer sb = new StringBuffer();
for(int i=0;i<output.length;i++){
String s = Integer.toHexString(0xff&output[i]);
if(s.length()==1){
sb.append("0"+s);
}else{
sb.append(s);
}
}
result= sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return result;
}
}
答案 0 :(得分:0)
访问NullPointerException
指针时会抛出null
。您应该调查stacktrace
,它指示发生异常的行。
有关该异常的详细信息,请查看文档:{{3}}