응용 프로그램을 실행하려고하면 logcat에 오류 메시지가 표시됩니다 (NullPointerException
). 이 오류를 만드는 코드는 아래에 나와 있습니다. str은 MD5encoder
이라는 다른 클래스에서 가져옵니다. 코드는 아래에도 나와 있습니다. 문자열 md 5 = MD5Encoder.encode(str)
이고 커서는 mainActiviry
에 있습니다. MD5encoder
은 MainActivity
으로 가져 오는 또 다른 클래스의 자바 파일입니다. 나는 그것이 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;
}
}
이 문제가 해결이다 이끼 스택 추적을 – Raghunandan