نمایش نتایج 1 تا 7 از 7

نام تاپیک: خطای android.os.NetworkOnMainThreadException

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1393
    پست
    32

    خطای android.os.NetworkOnMainThreadException

    سلام دوستان برنامه اتصال من به اینترنت من هیچی خروحی نشون نمیده یعنی چشه؟


    این کد Webserver
    package info.androidhive.slidingmenu;


    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity ;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import android.util.Log;




    public class Webservice {


    public static interface listener {


    public void onReceived(String string);
    }


    protected static String result;




    public static String readUrl(final String url, final ArrayList<NameValuePair> params, final listener listener) {


    Thread thread = new Thread(new Runnable() {


    @Override
    public void run() {
    try {
    HttpClient client = new DefaultHttpClient();
    HttpPost method = new HttpPost(url);


    if (params != null) {
    method.setEntity(new UrlEncodedFormEntity(params));
    }
    HttpResponse response = client.execute(method);


    InputStream inputStream = response.getEntity().getContent();


    result = convertInputStreamToString(inputStream);
    Log.i("LOG", "result = " + result);
    if (listener != null) {
    listener.onReceived(result);
    }


    }
    catch (ClientProtocolException e) {
    Log.v("LOG", "readURL1" + e);
    }
    catch (IOException e) {
    Log.i("LOG", "readURL2" + e);
    }


    }
    });
    thread.start();
    return result;
    }




    private static String convertInputStreamToString(InputStream inputStream) {
    try {
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    StringBuilder builder = new StringBuilder();


    String line = "";


    while ((line = reader.readLine()) != null) {
    builder.append(line);
    }


    return builder.toString();
    }
    catch (IOException e) {
    e.printStackTrace();
    }


    return null;
    }
    }
    اینم تابع فراخوانیم . اینجا چاپ که میکنم اطلاعاتمو نشون میده ولی وقتی آخر تابع چاپ میزنم هیچی برام برنمیگردونه. کامل خالی برمیگردونه .نمیدونم چشه

    private void populateFromServer() {
    // String url = "http://192.168.1.121/restoran/service.php";
    ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();


    params.add(new BasicNameValuePair("action", "read"));
    params.add(new BasicNameValuePair("filter", lastFilter));
    params.add(new BasicNameValuePair("sort", lastSort));


    //String result = Webservice.readUrl(url, params);


    Webservice.listener listener = new listener() {


    @Override
    public void onReceived(String data) {
    /// do stuff ...
    }
    };
    String result = Webservice.readUrl("http://192.168.1.121/restoran/service.php", params, listener);
    // Log.i("LOG", "result = " + result);


    if (result != null) {
    try {
    applications.clear();
    // Log.i("LOG", "result = " + result);
    JSONArray apps = new JSONArray(result);
    Log.i("LOG", "log = " + apps.length());
    for (int i = 0; i < apps.length(); i++) {
    JSONObject object = apps.getJSONObject(i);
    StructApplication application = new StructApplication();
    application.id = object.getString("app_id");
    application.name = object.getString("app_name");
    application.price = object.getInt("app_price");
    application.logoUrl = object.getString("app_logoUrl");
    application.description = object.getString("app_description");
    applications.add(application);
    }


    adapter.notifyDataSetChanged();
    }
    catch (JSONException e) {
    e.printStackTrace();
    }
    }







  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1393
    پست
    32

    نقل قول: خطای android.os.NetworkOnMainThreadException

    البته از ترد بخاطر رفع خطای NetworkOnMainThreadException استفاده کردم.خطا رفع شده ولی چیزی نمایش داده نمیشه

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1393
    پست
    32

    نقل قول: خطای android.os.NetworkOnMainThreadException

    من قسمت های مختلف چاپ زدم.داخل ترد که چاپ زدم اطلاعات را درست نشون میده ولی بیرون ترد و داخل تابع هر جا چاپ میزنم خالی نشون میدهمن زیاد ترد را نمیفهممآیا ترد بعد از کارش همه متغییرها را خالی میکنهوای ممنون میشم راهنمایی بفرمایید

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1393
    پست
    32

    نقل قول: خطای android.os.NetworkOnMainThreadException

    دوستان درست شد کارم .مرسی

  5. #5

    نقل قول: خطای android.os.NetworkOnMainThreadException

    • خب لااقل راه حل رو بنویس تا افرادی که بعد از یه مدت به همچین مشکلی میخورن ، این راه کمکشون کنه.
    • :)

  6. #6

    نقل قول: خطای android.os.NetworkOnMainThreadException

    بابا چرا راه حل نذاشتی!
    مام همین مشکل رو داریم خب....

  7. #7

    نقل قول: خطای android.os.NetworkOnMainThreadException


تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: سه شنبه 04 فروردین 1394, 17:57 عصر
  2. رفع خطای (بی ربط) !Out of memory
    نوشته شده توسط ع.م.خ در بخش برنامه نویسی در 6 VB
    پاسخ: 9
    آخرین پست: یک شنبه 21 فروردین 1384, 12:09 عصر
  3. خطای calss dose nat support
    نوشته شده توسط کم حوصله در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 3
    آخرین پست: جمعه 21 شهریور 1382, 17:24 عصر
  4. خطای برنامه در جایی که sql serverنصب نیست
    نوشته شده توسط jannati در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 3
    آخرین پست: پنج شنبه 06 شهریور 1382, 01:21 صبح
  5. خطای Cgi TimeOut در دلفی(روش زیاد کردنTimeOut سرور در دلفی؟)
    نوشته شده توسط anoush در بخش توسعه نرم افزارهای تحت شبکه
    پاسخ: 1
    آخرین پست: سه شنبه 10 تیر 1382, 20:01 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •