آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

Jason درس 12 استاد - خواهشا اگه بلدین کمک کنید ، گیر اینم

تیرداد  11 سال پیش  10 سال پیش
0 0

دقیقا کد های درس 12 استاد ،  واسه خوندن جسیون ، نمیدونم چرا کرش میشه

دقیقا همونه رو نوشتم ، لینک جیسون درسته ، با FireFox که میرم جیسون رو نشون میده

 

public class Webservice {
    public static String readUrl(String url) {
        try {
            HttpClient client = new DefaultHttpClient();
            HttpPost method = new HttpPost(url);

            HttpResponse response = client.execute(method);
            InputStream inputStream = response.getEntity().getContent();
            String result = convertInputStreamToString(inputStream);
            return result;
        }
        catch (ClientProtocolException e) {
            e.printStackTrace();
        }
        catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }
    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;
    }

---------------------------------------------------------------------

public class ActivityUpdate extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.update_layout);
        // TODO Auto-generated method stub
        String result = Webservice.readUrl("http://192.168.1.100/akaskhoone/");
        if (result != null)
        {
            try {
                JSONArray tasks = new JSONArray(result);
                for (int i = 0; i < tasks.length(); i++) {
                    JSONObject task = tasks.getJSONObject(i);
                    Log.i("LOG", task.getString("name"));
                }
            }
            catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}
}

0 0
مجوز دسترسی به اینترنت رو نوشتید؟؟ (11 سال پیش)
0 0
بله احتمال نداره از ویندوزم باشه ؟ Windowb-10 تازه ریختم (11 سال پیش)
0 0
احتمالا به خاطر اینکه از Thread استفاده نکردین کرش میکنه (11 سال پیش)
0 0
عزیز ارورای داخل لاگتو بذار (11 سال پیش)
+1 0
بجای HttpPost از HttpGet استفاده کن ببین درست میشه (11 سال پیش)
0 0
ضمن تشکر از همه دوستان عزیز که محبت کردن جواب دادن ، طبق دستوراتی که آقای hamedjj نوشتن عمل کردم ، درست شد - ممنون از همه (11 سال پیش)
0 0
آقا تیرداد ارورات بذار ببینیم چی بوده ، Network main thread Exception بود ؟ (11 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
حامد  11 سال پیش
0 0

برای اتصال به سرور در ورژن های بالاتر اندروید باید از Thread استفاده کنید :

 Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
HttpClient client = new DefaultHttpClient();
            HttpPost method = new HttpPost(url);             HttpResponse response = client.execute(method);
            InputStream inputStream = response.getEntity().getContent();
            String result = convertInputStreamToString(inputStream);
            return result;

} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}

}
});
thread.start();
0 0
سلام ببخشید تابع تو این ترد void است چیزی بر نمیگردونه اما شما مقدار result رو return کردین از من برا همین ایراد میگیره میشه بگین چیکار کنم (10 سال پیش)
پاسخ به سوال 
میرحسین  10 سال پیش
0 0

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());

کافیه فقط همین کد رو بعد

try {

متود readUrl در کلاس WebSrvice قرار بدی و اجرا کنی پروژت رو

موفق باشی

0 0
سلام، من اینو انجام دادم، ولی هنوزم به return result 'گیر میدهً!!!! (10 سال پیش)
0 0
سلام وقتتون بخیر دوستان.ببخشید تاپیک و میارم بالا. ولی من همینو انجام دادم ولی درست نشد (10 سال پیش)
پاسخ به سوال 
perin  10 سال پیش
0 0

من اینطوری نوشتم ببینید. منظور پاسخ بالا همین نبود

 public class Webservice {

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

Thread thread = new Thread(new Runnable() {

@Override
public void run() {

try {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());
HttpClient client = new DefaultHttpClient();
HttpPost method = new HttpPost(url);

if (params != null) {
// method.setEntity(new UrlEncodedFormEntity(params));
method.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}

HttpResponse response = client.execute(method);
InputStream inputStream = response.getEntity().getContent();
String result = convertInputStreamToString(inputStream);
return result;// اینجا ارور دارم بازم

}

catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (JSONException e) {
e.printStackTrace();
}

}

});
thread.start();
}
+1 0
به جای Return از Listener استفاده کن ، اگه اطلاعاتی در این خصوص نداری ،آموزش ماژول وب سرویس رو ببین. (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .