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

وب سرویس  و listener

perin  10 سال پیش  10 سال پیش
+1 0

سلام وقتتون بخیر

دوستان من واقعا عذرخواهم که دارم با سوالام وقت شما عزیزان و میگیرم .خیلی شرمنده ام

اگه امکانش و دارین راهنماییم کنید

من یه مشکل دارم تو استفاده از listener  ماژول وب سرویس

  private static String        result;
 
public static void read_Adv(ArrayList<NameValuePair> param) {

result = null;

Webservice.listener listener = new listener() {

@Override
public void onReceived(String data) {

result = data;

Log.i("main", "result : " + result);// اینجا اطلاعات و درست نشون میده
}


Webservice.readUrl(Command.URL + "index.php?action=read_Adv", param, listener);

Log.i("main", "result 2 :" + result); // ابنحا نتیجه نال هست

if (result != null) {
try {
G.Advs.clear();
JSONArray tasks = new JSONArray(result);

این نتیجه است . چرا ترتیب نمایش log ها اینطوریه من فک می کردم باید برعکس باشه و حالا من باید چیکار کنم چون تو این شرایط لیست ویو ی من هیچی نشون نمیده دیگه

ممنونم از لطفتون

 

 

+1 0
من نمیدونم به چه علت میخواید از لیستنر در وب سرویس استفاده کنید میشه اینو اول توضیح بدید ؟ (10 سال پیش)
+2 0
درسته اونجا باید نال باشه دیگه ٬ اونجا وقتی لاگ می گیرید هنوز دیتایی نیامده on reived جای خوبی یعنی دیتارسید ..... ٬ میتونید onPageFinished. هم داشته باشی یعنی وقتی لود صفحه تمام شد . (10 سال پیش)
0 0
من اول بدون لیستنر نوشته بودم ولی وقتی رو هاست بردم سرعت حرکت لیست ویو بس نهایت پایین بود این شد که از ترد و لیستنر استفاده کردم. (10 سال پیش)
0 0
خب مگه اول کلاس وب سرویس اجرا نمیشه که اطلاعات و میفرسته واسه لیسنر بعد من میریزم تو ریزالت (10 سال پیش)
0 0
دوستان خیلی ببخشید من متوجه نشدم چی کار کنم (10 سال پیش)
0 0
(10 سال پیش)
0 0
من واسه اینکه وب سرویس و با ترد بنویسم می بایست از لیستنر ها استفاده میکردم (10 سال پیش)
+1 0
اصلا لازم به این کار نبود : | براحتی میتونستید فقط با ترد انجام بدید (10 سال پیش)
0 0
چه طوری؟ من تو ترد نمی تونستم return result بزارم خب . (10 سال پیش)
0 0
ممنونم واسه پیگیریتون (10 سال پیش)
+1 0
وب سرویس استاد دیگه کارایی نداره و بعدا به مشکل بر میخورید! توصیه میکنم از کتابخونه ی volley استفاده کنید (10 سال پیش)
+1 0
میشه بگید بعدا به چه مشکلی بر میخوریم ؟ و چرا کارایی نداره ؟ (10 سال پیش)
0 0
علی اقا من هم سوال اقای admirallam برام پیش امده در مورد نداشتن کارایی وب سرویس ممنون می شم توضیح بفرمایید. (10 سال پیش)
+2 0
مشکل شما در اینجا هست که شما Result2 را زمانی چاپ میکنید که هنوز اطلاعات از وب سرویس گرفته نشده و Result که داخل listener قرار داره زمانی نشون داده میشه که مقدار از وب سرویس دریافت بشه درواقع برای اینکه بفهمیم کی وب سرویس جواب مارو میده از Listener استفاده میکنیم . (10 سال پیش)
0 0
ممنون آقای کاشی زاده. خب الان من واسه اینکه بتونم از اطلاعاتی که listener بهم میده اینجا استفاده کنم باید چی کار کنم؟ (10 سال پیش)
0 0
چون برای نمایش تو لیست ویو نیاز دارم result2 نال نباشه دیگه. (10 سال پیش)
+1 0
به نظرم شما آموزش های استاد رو کامل گوش ندادید ، پیشنهاد میکنم مجددا آموزش ها رو مطالعه کنید همه چیز توضیح داده شده ، شما باید با استفاده از یک متد اطلاعات دریافتی رو به درخواست دهنده بفرستید تا روش پردازش کنه . (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Hossein Lamei Ramandi  10 سال پیش
+2 0

اینم یه نمونه کد

    new Thread(new Runnable() {

@Override
public void run() {
try {
result = WebService.readUrl("URl");
}
catch (Exception e) {}

if (result != null) {
G.handler.post(new Runnable() {

@Override
public void run() {
try {
JSONArray classes = new JSONArray(result);
for (int i = 0; i < classes.length(); i++) {
JSONObject object = classes.getJSONObject(i);
StructClass classInfo = new StructClass();
classInfo.name = object.getString("name");
classInfo.makan = object.getString("makan");
classInfo.date = object.getString("date");
classInfo.ostad = object.getString("ostad");
classInfo.zarfiyat = object.getString("maximum");
classInfo.status = object.getString("status");
classInfo.id = object.getInt("id");
G.classes.add(classInfo);
}
}
catch (JSONException e) {
e.printStackTrace();

}
adapter.notifyDataSetChanged();
}
});

}

}
}).start();
0 0
ممنونم یکی از لیست ویو هامو با این کد نشون دادم سرعتش خوب بود. (10 سال پیش)
+1 0
خواهش میکنم قابلی نداشت بازم اگه سوالی بود در حد توان در خدمتم (10 سال پیش)
پاسخ به سوال 
perin  10 سال پیش
0 0

سلام دوستان وقتتون بخیر

از اینکه وقتتونو در اختیار من قرار میدین واقعا ممنونم

اول از همه از همه دوستانی که راهنماییم کردن سپاسگزارم

دوستان من دچار یه مشکل اساسی شدم از وقتی پروژه و رو هاست بردم  یه جاهایی از پروژم اصلا درست اجرا نمیشه

در صورتی که وقتی آفلاین بود هیچ مشکلی نداشتم و همه جاش درست کار میکرد

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

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

من فردا باید پروژه و تحویل بدم نمی دونم باید چی کار کنم.

خب پروژ ه ای که آفلاین ایرادی نداشته چرا رو هاست ایراد داره.

ممنون میشم راهنماییم کنید.

 

+1 0
من خودم از اون کد ها توی پروژه هام استفاده میکنم و مشکلی باهاش نداشتم لاگ کتتون رو بررسی کنید و با لاگ تیکه تیکه کد هاتون رو بررسی کنید (10 سال پیش)
0 0
ممنون آره دارم همون کارو میکنم (10 سال پیش)
+1 0
امشب چه شبی بشه شب تحویل پروژه :D (10 سال پیش)
+1 0
اگه وب سرویس کار نمیکنه بهتر از کتابخانه های مثل volley استفاده کنید (10 سال پیش)
+1 0
مشکلتون احتمالا به خاطر همون لیستنر هستش که تعریف نشده و الزامیه که تعبیه کنید با توجه به اینکه من از وب سرویس استاد استفاده نمیکنم نمیتونم بیشتر راهنماییتون کنم و با نظر HoCoder کاملا موافقم :) (10 سال پیش)
0 0
آقای شرافت من اصلا از لیستنر استفاده نمیکنم و به مشکلی تا الان بر نخوردم احتمالا کد ها مشکل داره (10 سال پیش)
0 0
مشکلتون حل شد جناب perin ؟ (10 سال پیش)
0 0
نه دوست عزیز.ممنون بابت پیگیریتون (10 سال پیش)
0 0
گفتید بعضی جاها فقط مشکل داره درسته ؟ کد های اونجا ها رو بزارید ببینم میتونم مشکل رو پیدا کنم (این جور مواقع من کل کد هارو بصورت کامت در میارم و بعد قسم به قسمت از حالت کامت خارج میکنم ) (10 سال پیش)
0 0
ممنون شما خیلی لطف دارین. یه سوال این کدی که گزاشتین و باید واسه همه تابع هام بزارم .یا فقط اونهایی که به لیست ویو ربط دارن. (10 سال پیش)
+1 0
فقط لیست ویو (10 سال پیش)

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