이 코드는 elswhere에서 가져 왔습니다. 그것은 처음부터 나를 위해 작동하지 않았다. url에 게시 할 AsyncTask가 null 예외를 반환합니다.
내가 오류를 반환 계속하지만 null 값이 e.getmessage 반환protected String doInBackground(String... params) {
에
protected void doInBackground(String... params) {
을 변경했다 초기 오류를 중지하십시오. 당신의 null
반환하는
public class CallAPI extends AsyncTask<String, String, String> {
public CallAPI(){
//set context variables if required
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
String urlString = params[0]; // URL to call
String data = params[1]; //data to post
OutputStream out = null;
Log.i("doinbackground url=", urlString + data);
try {
URL url = new URL(urlString);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
out = new BufferedOutputStream(urlConnection.getOutputStream());
BufferedWriter writer = new BufferedWriter (new OutputStreamWriter(out, "UTF-8"));
writer.write(data);
writer.flush();
writer.close();
out.close();
urlConnection.connect();
} catch (Exception e) {
String ErrorMessageJ = "Error message is NULL";
if (e.getMessage() != null){ErrorMessageJ = e.getMessage();}
Log.i("doinbackground e", ErrorMessageJ);
}
return null;
}
}
당신은 null이 아닌 doInBackground의 URL을 반환합니다. – matip