Android Observer Design Pattern
13.02.2014 - 11:56
Merhaba arkadaşlar non ui class ile activity arasında haberleşme sağlamak için observer design pattern olduğunu gördüm bi kaç exampleye baktım kendim uygulamaya çalıştım fakat olmadı.Hatam nerede var anlayamadım.
[code]public class ConnListener extends Observable implements ConnectionListener { public ConnListener() { } /* bağlantı benim tarafımdan disconnect edilirse */ @Override public void connectionClosed() { // bağlantıyı kendim kapattığım için yapılacak bir işlem yok } /* bağlantı benden bağımsız disconnect edilirse */ @Override public void connectionClosedOnError(Exception e) { setChanged(); notifyObservers(); System.out.println("observer bilgilendirdi"); } /* belli bir saniyede reconnect olursa */ @Override public void reconnectingIn(int s) { Log.d("eylem", "reconnectingIn " + s); } /* servere yeniden bağlanma başarısız olursa */ @Override public void reconnectionFailed(Exception e) { Log.d("eylem", "reconnectionfailed " + e.getMessage()); } /* servere yeniden bağlanma başarılı olursa */ @Override public void reconnectionSuccessful() { Log.d("eylem", "reconnectionsuccesfull"); } } [/code]
bu class sunucu bağlantılarını dinliyor ve bağlantı koparsa connectionclosedonerror methoduna düşüyor bende burda observer ile bilgilendirme yapıyorum ve register ettiğim activityde bağlantı düştü tarzı loglamaya çalışıyorum.Activityde şu şekilde:
[code] public class MainList extends ActionBarActivity implements SearchView.OnQueryTextListener, LocationListener, Observer { ConnListener connListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); connListener = new ConnListener(); connListener.addObserver(this); ... .... ... .... } @Override protected void onDestroy() { connListener.deleteObserver(this); super.onDestroy(); } @Override public void update(Observable observable, Object data) { Log.d("observer", "bağlantı düştü"); } } [/code]
208
Görüntülenme
0 Beğeni