ورود

View Full Version : شکل در استفاده از HTTPCLient



CsharpNevisi
دوشنبه 14 دی 1394, 16:08 عصر
سلام خسته نباشید ...
میشه بفرمایید مشکل این کجاست ؟؟؟؟
ممنون

try {

HttpClient client = new DefaultHttpClient();

//http://androidservice.wenda.ir/Service1.svc/xml/GetData
HttpPost method = new HttpPost("http://www.google.com/");

HttpResponse res = null;

res = client.execute(method);

InputStream st = res.getEntity().getContent();

BufferedReader reader = new BufferedReader(new InputStreamReader(st));

StringBuilder bl = new StringBuilder();

String Line = "";
while((Line = reader.readLine()) != null)
{
bl.append(Line);
}
Toast.makeText(getActivity(),"Text!",Toast.LENGTH_LONG).show();

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

Nevercom
دوشنبه 14 دی 1394, 16:23 عصر
من مشکل خاصی نمیبینم، شاید بخواید در کد ;(bl.append(Line یک n\ هم اضافه کنید. (البته دارید از HttpPost استفاده می کنید اما عملاً داده ای رو POST نمی کنید، پاسخی که دریافت می کنید وابسته به سایتی هست که Request رو براش ارسال می کنید، اما در روند اجرای کد من مشکلی نمیبینم)

البته توجه داشته باشید که کلاس HttpClient الان Deprecate شده و در API 23 این کلاس ها وجود نداره.

راه حل ساده تر و بهینه تر این هست که از کتابخانه ای مثل OkHttp استفاده کنید (البته میتونید از کلاس AndroidHttpClient هم استفاده کنید، اما من کتابخانه رو توصیه می کنم).

به هرحال اگر برنامه رو با API 22 و پایینتر کامپایل کرده باشید، نباید مشکلی پیش بیاد.

CsharpNevisi
دوشنبه 14 دی 1394, 21:08 عصر
من رو گوشیم تست میکنم که اندرویدش لالی پاپ هستش یعنی اندروید 5.1 ... برای حل این موضوع چیکار باید بکنم ؟؟؟

msroid
دوشنبه 14 دی 1394, 22:10 عصر
من رو گوشیم تست میکنم که اندرویدش لالی پاپ هستش یعنی اندروید 5.1 ... برای حل این موضوع چیکار باید بکنم ؟؟؟

دوست عزیز این متدها و کلاس ها که مال Apache هستن در اندروید منسوخ شدن و احتمالا به همین دلیل داره از شما ایراد میگیره. بهتره از همون چیزی استفاده کنید که خود توسعه دهنده های اندروید توسعه دادن و توصیه میکنن یعنی HttpUrlConnection. چون HttpClient منسوخ شده احتمالا در اندروید نسخه 5.1 با ارور روبرو شدین.

pbm_soy
سه شنبه 15 دی 1394, 00:28 صبح
این کد شما مشکلش چیست؟ آیا خطا میدهد؟ چه خطایی؟
باتوجه به گفته دوستان در پستهای بالا باید بگم که httpclient را تحت یک thread باید اجرا کنید در غیراینصورت خطا خواهد داد

CsharpNevisi
سه شنبه 15 دی 1394, 08:45 صبح
دوست عزیز این متدها و کلاس ها که مال Apache هستن در اندروید منسوخ شدن و احتمالا به همین دلیل داره از شما ایراد میگیره. بهتره از همون چیزی استفاده کنید که خود توسعه دهنده های اندروید توسعه دادن و توصیه میکنن یعنی HttpUrlConnection. چون HttpClient منسوخ شده احتمالا در اندروید نسخه 5.1 با ارور روبرو شدین.


میشه بگید چطوری باید از این استفاده کنم ؟؟؟
یعنی نمونه کدی .. منبع آموزشی چیزی ممنون

CsharpNevisi
سه شنبه 15 دی 1394, 09:12 صبح
این تابع مشکلش کجاست ؟؟؟


private static String getUrlSource() throws IOException {
String url = "http://androidservice.wenda.ir/Service1.svc/xml/GetData";
URL yahoo = new URL(url);
URLConnection yc = yahoo.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null)
a.append(inputLine);
in.close();


return a.toString();
}

#root#
سه شنبه 15 دی 1394, 09:25 صبح
این تابع مشکلش کجاست ؟؟؟


private static String getUrlSource() throws IOException {
String url = "http://androidservice.wenda.ir/Service1.svc/xml/GetData";
URL yahoo = new URL(url);
URLConnection yc = yahoo.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null)
a.append(inputLine);
in.close();


return a.toString();
}




این کد شما مشکلش چیست؟ آیا خطا میدهد؟ چه خطایی؟
باتوجه به گفته دوستان در پستهای بالا باید بگم که httpclient را تحت یک thread باید اجرا کنید در غیراینصورت خطا خواهد داد

دوستمون هم گفتن، چه خطایی؟
این که این دو تا کد که در ظاهر درستن و هر دو با خطا مواجه میشن، لابد توی MainThread اجرا میشن.

CsharpNevisi
سه شنبه 15 دی 1394, 12:51 عصر
اره توی
MainThread اجرا میشن .. چجوری باید توی یه دونه ترد دیگه ایجراشون کنم ؟؟؟؟
میشه یه نمونه بفرستین ؟؟؟
ممنون میشم

CsharpNevisi
سه شنبه 15 دی 1394, 15:27 عصر
آقا OK شد ممنون از همه .. مشکل همون Thread بود :قلب: