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

نمایش پیغام در صورت لود نشدن اطلاعات

mosafer  9 سال پیش  9 سال پیش
0 0

با سلام

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

حالا میخوام اگر به هر دلیلی اطلاعات نمایش داده نشد پیغام لازم داده بشه..

مثلا اگر نتونست به سرور وصل بشه و اطلاعات رو بگیره و یا محتوای اون صفحه اطلاعات سرور خالی باشه.

یا بهتر بگم چطور زمان باز کردن برنامه اگر به سرور وصل بود پیغام بده که اتصال به اینترنت با مشکل مواجه شده است.

یه چیز دیگه که خیلی برام مهمه اینه که هنگام رفتن به هر صفحه میخوام یه پروگراس بار دایره ای بذارم که هنگام وارد شدن به صفحه بسته بشه..

کسی هست راهنماییم کنه؟؟

0 0
میتونید از interface ها استفاده کنید برای کنترل خطا ها توی آموزش های استاد هم موجود هست. (9 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Amir  9 سال پیش
0 0

کدتون رو توی try catch قرار بدید و اگه کدتون درست اجرا نشه مطمئنا به بلاک catch میره و اونجا بگید که اتصال به اینترنت برقرار نیست.

بعضی از کدها هستند مثل کد اتصال وای فای دو گوشی که یه خط کد رو می نویسی و تا وقتی که دو گوشی به هم وصل نشن نمیره به خط بعدی و توی همون خط گیر می کنه. شما می تونید قبل از اینجور کدها بگید که ProgressBar نمایش داده بشه و بعدش بگید که مخفی بشه. اما اگه می خواید که بصورت fack و الکی مثلا یه ProgressBar دو ثانیه نمایش داده بشه و بعدش مخفی بشه می تونید از Thread استفاده کنید.

پاسخ به سوال 
hadighorbani  9 سال پیش
+1 0

1- حالا میخوام اگر به هر دلیلی اطلاعات نمایش داده نشد پیغام لازم داده بشه :

-  توصیه میکنم از کتابخانه ی Volley استفاده کنید هرچند توی اکلیپس کار میکنید، میشه از Volley استفاده کرد. چون اونجا به راحتی میشه خطاهارو مدیریت کرد و براشون لیسنر نوشت.

2- مثلا اگر نتونست به سرور وصل بشه و اطلاعات رو بگیره و یا محتوای اون صفحه اطلاعات سرور خالی باشه. :

-در کتابخانه ی Volley برای OnErrorListener میتونید بگید که اگه به سرور کانکت نشدی، فلان TextView رو Null نشون بده یا حتی کد خطارو نشون بده !

3- بهتر بگم چطور زمان باز کردن برنامه اگر به سرور وصل بود پیغام بده که اتصال به اینترنت با مشکل مواجه شده است. :

- از Handlerیی استفاده کنید که استاد توی آموزشا گفته. متدی وجود داره که میتونه چک بکنه که به اینترنت کانکت هستی یا نه، اگه کانکت بودی که هیچ اگه نبودی مثلا بره به صفحه ی خطا

4- قضیه ی پروگرس بارم با کد نویسی درست میشه که باید بین پروژه هام بگرم یکی خوبشو برات پیدا کنم

پاسخ به سوال 
atf  9 سال پیش
+1 0

شما باید از AsyncTask استفاده کنید


private class AsyncCaller extends AsyncTask<Void, Void, Void>{

    ProgressDialog pdLoading = new ProgressDialog(AsyncExample.this);

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        //این قسمت قبل از دریافت اطلاعات از سرور اجرا میشه
        pdLoading.setMessage("\tLoading...");
        pdLoading.show();
    }
    @Override
    protected Void doInBackground(Void... params) {

        //دریافت اطلاعات از سرور تو این قسمت باید انجام بشه


        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);

        //زمانی که اطلاعات از سرور دربافت میشه

        pdLoading.dismiss();
    }

    }

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