E/ViewRootImpl: sendUserActionEvent() mView == null
E/AndroidRuntime: FATAL EXCEPTION: Thread-78653
Process: com.ebookfrenzy.reality, PID: 19207
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.post(java.lang.Runnable)' on a null object reference
at com.ebookfrenzy.reality.controlMysql.show(controlMysql.java:104)
at com.ebookfrenzy.reality.controlMysql.run(controlMysql.java:98)
안드로이드에서 사용자가 입력된 값을 php로 보낸후 db에 insert 시키는 작업인데요, 안드로이드에서 이런 에러가 발생했습니다. 어떤 점이 문제일까요??
아래는 안드로이드 코드에서 에러가 발생한 코드입니다. 색칠된 부분에서 발생되었습니다.
public void run()
{
Log.e("E", gettype +","+url.toString());
super.run();
if(active)
{
StringBuilder jsonHtml = new StringBuilder();
try
{
URL phpUrl = new URL(url);
HttpURLConnection con = (HttpURLConnection)phpUrl.openConnection();
if(con != null)
{
con.setConnectTimeout(10000);
con.setUseCaches(false);
if(con.getResponseCode() == HttpURLConnection.HTTP_OK)
{
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
while(true)
{
String line = br.readLine();
if(line == null)
break;
jsonHtml.append(line+"\n");
}
br.close();
}
con.disconnect();
}
}
catch(Exception e)
{
e.printStackTrace();
}
show(jsonHtml.toString());
}
}
void show(final String result)
{
mHandler.post(new Runnable()
{
@Override
public void run()
{
Log.e("EE", gettype +"," +result);
switch(gettype)
{
case 1:
Log.e("결과", "값->"+result.toString());
ChkId.chkidResult(result);
break;
case 2:
Log.e("결과", "값->"+result.toString());
Login.regist_result(result);
break;
default:
break;
}
}
});
}
답변부탁드립니다!