【问题标题】:fatal exception : thread 8, java.nullpointerexception致命异常:线程 8,java.nullpointerexception
【发布时间】:2013-08-11 03:51:00
【问题描述】:

当我尝试运行应用程序时,我在 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;
}
 }

【问题讨论】:

    标签: android sqlite nullpointerexception android-cursor encoder


    【解决方案1】:

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

    有关异常的更多信息,请查看文档:http://developer.android.com/reference/java/lang/NullPointerException.html

    【讨论】:

    • 感谢moss问题解决了,非常感谢!你提供的信息很有用!
    猜你喜欢
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 2015-04-03
    相关资源
    最近更新 更多