بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

سوال در مورد ModuleWebservice

مدیریت گفتگو
شهریار توکلی 11 سال پیش
آخرین تغییر: 11 سال پیش

من تمام حالت هایی که بلد بودمو تست کردم تنها حالتی که ModuleWebservice استاد درست اجرا میشه فراخوانی از کلاس G هست.من راه دیگه ای بلد نیستم.یه سوالی که تو ذهنمه ؟ آیا فراخوانی ماژول از کلاس G  کاره درستیه  و بعدا مشکل ساز نمیشه ؟

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

نظرات

کاشی زاده 11 سال پیش
ماژول استاد ایرادی نداره احتمالا کد شما نقص داره من بارها تست کردم و مشکلی نداشته
شهریار توکلی 11 سال پیش
جالب اینه آقای کاشی زاده من با AsynkTask و اولین وب سرویسی که استد معرفی کردن تست کردم که بار اول راحت اجرا میشه ولی وقتی با مازول تست میکنم بار اول لیست خالیه بعد برنامه رو میبندم دوباره اجرا میکنم لیست پر شده به من نمایش داده میشه

پاسخ‌ها 2

شهریار توکلی 11 سال پیش

این کد Main در این حالت اجرا میکنم لیست خالیه نمایش داده میشه ولی به کلاس G منتقل میکنم بدون مشکل اجرا میشه.

 public class ActivityApps extends ActivityEnhanced implements LazyListView.LazyListener {

private static LazyListView list;
public static AdapterSerials adapter;
public static ArrayList<StructApps> apps= new ArrayList<StructApps>();
private static int part = 0;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_serialsdb);

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

list = (LazyListView) findViewById(R.id.listfav);
list.setListener(this);





boolean online = isOnline();
if (online) {


populateFromServer2();


} else {

Toast.makeText(G.context, "No Internet", Toast.LENGTH_SHORT).show();
}

adapter = new AdapterApps(apps);
list.setAdapter(adapter);
adapter.notifyDataSetChanged();

View actionBarView = G.inflater.inflate(R.layout.action_bar, null);

ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(actionBarView, new ActionBar.LayoutParams
(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
}

نظرات

شهریار توکلی 11 سال پیش

اینم کد populateFromServer2 :

  public static void populateFromServer2() {
ModuleWebservice module = new ModuleWebservice();
ModuleWebservice.Listener listener = new ModuleWebservice.Listener() {

@Override
public void onDataReceive(String data) {
Log.i("LOG", "Webservice Data: " + data);
if (data != null) {
try {


JSONArray programs= new JSONArray(data);
for (int i = 0; i < programs.length(); i++) {
JSONObject object = programs.getJSONObject(i);
StructApps app= new StructApps();
app.id = object.getLong("app_id");
app.name = object.getString("app_name");
app.ratingValue = (float) object.getDouble("app_rating");
app.logoUrl = object.getString("app_logourl");
app.genre = object.getString("app_genre");
app.votes = object.getString("app_vote");


apps.add(app);



}
if (adapter != null) {
adapter.notifyDataSetChanged();
}
part++;
list.setIsLoading(false);

}

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


@Override
public void onFail(int statusCode) {
switch (statusCode) {
case ModuleWebservice.IO_EXCEPTION:
Log.i("LOG", "IO Exception");
break;

case ModuleWebservice.PROTOCOL_EXCEPTION:
Log.i("LOG", "PROTOCOL Exception");
break;

case ModuleWebservice.UNKNOWN_EXCEPTION:
Log.i("LOG", "UNKNOWN Exception");
break;
}
}
};

ArrayList<NameValuePair> input = new ArrayList<NameValuePair>();
input.add(new BasicNameValuePair("part", "" + part));
module.url("http://192.168.1.51/app-server/service.php?action=read", input)
.inputArguments(input)
.listener(listener)
.cacheDir(G.DIR_CACHE)
.enableCache(true)
.cacheExpireTime(300)
.connectionTimeout(3000)
.socketTimeout(5000)
.read();

}

نظرات

ba2ever 11 سال پیش
دلم براتون میسوزه که کسی جوابتونو نمیده :( امیدوارم که هرچی سریع تر مشکلتون حل شه دوست عزیز ♥

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