AsyncTask に異なる型引数を送信するにはどうすればよいですか。
J Son/php を使用して Android でログイン システムを開発しています。NetworkOnMainThread Exception が発生し、コードに AsyncTask を実装するよう提案されました。文字列とリストで URL を送信する必要があります。これを関数に送信するにはどうすればよいですか?? これらの値は他のクラスから送信されています。
public class JSONParser extends AsyncTask<String,Void,JSONObject>
私が正しいかどうかはわかりません。希望の反応。
これが私の修正です
private String url;
private List<NameValuePair> params;
@Override
protected JSONObject doInBackground(String... args) {
return getJsonFromURL(url,params);
}
void callJson(String url,List<NameValuePair> params){
this.url=url;
this.params=params;
}
私はこのように AsyncTask を呼び出しています:
jsonParser=new JSONParser();
jsonParser.setter(LoginUrl, username,password);
try {
jsonObject= jsonParser.execute("").get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
return jsonObject;
今、このエラーが発生しています。
2843-2858/? E/JSON Parser﹕ Error parsing data org.json.JSONException: Value loginRegistration of type java.lang.String cannot be converted to JSONObject
01-07 10:04:09.808 2843-2843/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: artha.ordermaking.KOT, PID: 2843
java.lang.NullPointerException
at
ex.WelcomeActivity$PlaceholderFragment.loginProcess(WelcomeActivity.java:84)
at ex.WelcomeActivity$PlaceholderFragment$1.onClick(WelcomeActivity.java:118)
上記で提出したコードを変更したことに注意してください。