بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
خطا در خواندن JSON
با سلام
کد من اینه:
package holiday_webservice;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.emaarit.holiday.G;
import com.emaarit.holiday.R;
import android.util.Log;
import clss.ExceptionHelper;
public class Image_Galery_WebService {
private static String path;
public static void getJSON(){
path = G.context.getResources().getString(R.string.url_select_main_page_pics_name);
Log.i("Log", "Image Galery WebService path is: " + path);
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(path);
try {
HttpResponse response = client.execute(get);
int code = response.getStatusLine().getStatusCode();
Log.i("LogWebService", "getAllProducts.php Json Status Code: " + code);
InputStream stream = response.getEntity().getContent();
String result = inputstreamToString(stream);
Log.i("LOG", "result: " + result);
JSONObject object = new JSONObject(result);
JSONObject anotherArray = object.getJSONObject("Another Array");
JSONArray forLoop = anotherArray.getJSONArray("ForLoop");
String test2 = anotherArray.getString("Test2");
Log.i("LOG", "Value: " + test2);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
ExceptionHelper.catchMessage(e);
} catch (IOException e) {
// TODO Auto-generated catch block
ExceptionHelper.catchMessage(e);
} catch (JSONException e) {
// TODO Auto-generated catch block
ExceptionHelper.catchMessage(e);
}
}
private static String inputstreamToString(InputStream inputStream) {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
try {
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
return builder.toString();
}
catch (Exception e) {
e.printStackTrace();
}
return "";
}
}
و خطا هم :
08-11 11:53:52.015: E/AndroidRuntime(12657): FATAL EXCEPTION: main
08-11 11:53:52.015: E/AndroidRuntime(12657): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.emaarit.holiday/com.emaarit.holiday.Activity_Main}: android.os.NetworkOnMainThreadException
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.ActivityThread.access$600(ActivityThread.java:128)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.os.Handler.dispatchMessage(Handler.java:99)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.os.Looper.loop(Looper.java:137)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.ActivityThread.main(ActivityThread.java:4514)
08-11 11:53:52.015: E/AndroidRuntime(12657): at java.lang.reflect.Method.invokeNative(Native Method)
08-11 11:53:52.015: E/AndroidRuntime(12657): at java.lang.reflect.Method.invoke(Method.java:511)
08-11 11:53:52.015: E/AndroidRuntime(12657): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
08-11 11:53:52.015: E/AndroidRuntime(12657): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
08-11 11:53:52.015: E/AndroidRuntime(12657): at dalvik.system.NativeStart.main(Native Method)
08-11 11:53:52.015: E/AndroidRuntime(12657): Caused by: android.os.NetworkOnMainThreadException
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
08-11 11:53:52.015: E/AndroidRuntime(12657): at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
08-11 11:53:52.015: E/AndroidRuntime(12657): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
08-11 11:53:52.015: E/AndroidRuntime(12657): at java.net.InetAddress.getAllByName(InetAddress.java:220)
08-11 11:53:52.015: E/AndroidRuntime(12657): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
08-11 11:53:52.015: E/AndroidRuntime(12657): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-11 11:53:52.015: E/AndroidRuntime(12657): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-11 11:53:52.015: E/AndroidRuntime(12657): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
08-11 11:53:52.015: E/AndroidRuntime(12657): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
08-11 11:53:52.015: E/AndroidRuntime(12657): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
08-11 11:53:52.015: E/AndroidRuntime(12657): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
08-11 11:53:52.015: E/AndroidRuntime(12657): at com.emaarit.holiday.Activity_Main.getJSON(Activity_Main.java:673)
08-11 11:53:52.015: E/AndroidRuntime(12657): at com.emaarit.holiday.Activity_Main.onCreate(Activity_Main.java:660)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.Activity.performCreate(Activity.java:4465)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
08-11 11:53:52.015: E/AndroidRuntime(12657): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
08-11 11:53:52.015: E/AndroidRuntime(12657): ... 11 more
واقعا سر در نمی آرم
با لینک های دیگه هم همین مشکل رو داره
0
0
لینک مشکلی نداره (12 سال پیش)
+1
0
این عبارت رو تو سایت جستجو کنید "NetworkOnMainThreadException" (12 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .