0

응용 프로그램을 실행하려고하면 logcat에 오류 메시지가 표시됩니다 (NullPointerException). 이 오류를 만드는 코드는 아래에 나와 있습니다. str은 MD5encoder이라는 다른 클래스에서 가져옵니다. 코드는 아래에도 나와 있습니다. 문자열 md 5 = MD5Encoder.encode(str)이고 커서는 mainActiviry에 있습니다. MD5encoderMainActivity으로 가져 오는 또 다른 클래스의 자바 파일입니다. 나는 그것이 md5 = ?의 새로운 문자열 인 경우 커서가 str 또는 값을 가져 와서 NullPointerException을 던지는 곳일까? 누군가 이것에 대해 어떤 생각? 당신이 null 포인터를 액세스 할 때치명적인 예외 : 스레드 8, java.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; 
} 
} 
+3

이 문제가 해결이다 이끼 스택 추적을 – Raghunandan

답변