امروز : یکشنبه ۲۶ آذر ۱۳۹۶

شماره های تماس با ما

(10خط)     33333145 - 013



آشنایی با کتابخانه EventBus در اندروید


آشنایی با کتابخانه EventBus در اندرویدReviewed by هیات علمی پل گیلان on Jan 29Rating:

در ادامه مقالات آموزش برنامه نویسی اندروید از مجتمع آموزشی پل گیلان به آشنایی با کتابخانه EventBus میپردازیم. EventBus یک کتابخانه ای است که بسیار ساده ارتباط بین بخشهای مختلف برنامه اندروید را فراهم میکند . برای مثال،ارسال چیزی از یک فعالیت به سرویس در حال اجرا ، و یاتعامل آسان بین قطعات. دراینجا یک مثال ساده برای زمانی که ارتباط دستگاه با اینترنت قطع شده است را میبنیدکه نشان میدهد چگونه به اطلاع یک اکتیویتی می رسانیم:

 

 


publicclassNetworkStateReceiverextends BroadcastReceiver {

// post event if there is no Internet connection
publicvoidonReceive(Context context, Intent intent){
super.onReceive(context, intent);
if(intent.getExtras()!=null){
            NetworkInfo ni=(NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
if(ni!=null&& ni.getState()==NetworkInfo.State.CONNECTED){
// there is Internet connection
}elseif(intent
.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY,Boolean.FALSE)){
// no Internet connection, send network state changed
                EventBus.getDefault().post(new NetworkStateChanged(false));
}
}

// event
publicclassNetworkStateChanged{

private mIsInternetConnected;

publicNetworkStateChanged(boolean isInternetConnected){
this.mIsInternetConnected= isInternetConnected;
}

publicbooleanisInternetConnected(){
returnthis.mIsInternetConnected;
}
}

publicclassHomeActivityextends Activity {

@Override
protectedvoidonCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EventBus.getDefault().register(this);// register EventBus
}

@Override
protectedvoidonDestroy(){
super.onDestroy();
        EventBus.getDefault().unregister(this);// unregister EventBus
}

// method that will be called when someone posts an event NetworkStateChanged
publicvoidonEventMainThread(NetworkStateChanged event){
if(!event.isInternetConnected()){
            Toast.makeText(this,"No Internet connection!", Toast.LENGTH_SHORT).show();
}
}

}


منبع

تعداد مشاهده مطلب : 577 بار

لینک کوتاه مطلب : https://poulgilan.com/?p=17951


نام و نام خانوادگی ( الزامی)

ایمیل (الزامی)

وبسایت / وبلاگ (اختیاری)