エラーが発生しています: android.os.NetworkOnMainThreadException. 私のアプリはエミュレーターで正常に動作しています。次に、一部のデバイスで確認します。Android バージョン 2.3.5 では正常に動作していますが、バージョン 4.0.3 の 2 番目のデバイスではエラーが発生します。次のように AsyncTask を使用しています。
private class TheTask extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(Main.this, "",
"Loading. Please wait...", true);
}
@Override
protected String doInBackground(String... params) {
request = new SoapObject(NAMESPACE, METHOD_NAME);
userid = new PropertyInfo();
userid.setName("UserId");
userid.setValue(UserId);
userid.setType(String.class);
request.addProperty(userid);
SoapSerializationEnvelope envp = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envp.dotNet = true;
envp.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envp);
SoapPrimitive response = (SoapPrimitive) envp.getResponse();
Response = response.toString();
} catch (Exception e) {
e.printStackTrace();
}
return Response;
}
@Override
protected void onPostExecute(String result) {
if (dialog != null) {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
try {
splitData = result.split("\\;");
username.setText(splitData[0]);
URL newurl = new URL("" + WebsiteURL + "/images/profileImg/"
+ splitData[1] + "");
Bitmap mIcon_val = BitmapFactory.decodeStream(newurl
.openConnection().getInputStream());
userphoto.setImageBitmap(mIcon_val);
} catch (Exception e) {
username.setText(e.toString());
}
}
}