致命异常:线程8,java.nullpointerexception

时间:2013-08-09 08:32:56

标签: android sqlite nullpointerexception android-cursor encoder

当我尝试运行应用程序时,我在logcat NullPointerException中找到了错误消息。产生此错误的代码如下所示。 str是来自另一个叫MD5encoder的类。代码如下所示。字符串md 5 = MD5Encoder.encode(str)和光标来自mainActiviryMD5encoder是我导入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;
}
 }

1 个答案:

答案 0 :(得分:0)

访问NullPointerException指针时会抛出null。您应该调查stacktrace,它指示发生异常的行。

有关该异常的详细信息,请查看文档:{​​{3}}