看到别人的项目中用到观察者模式,虽然没有完全理解到设计思想,但是知道了如何使用这种模式,该模式可以及时更新数据,以后再代码中,不需要在使用接口回调,或者intent传递数据以下为一个代码示例:
Observer管理者:
public class ObserverManage extends Observable{ private static ObserverManage myObserver=null; public static ObserverManage getMyObserver(){ if (myObserver==null){ myObserver=new ObserverManage(); } return myObserver; } public void setMessge(Object data){ myObserver.setChanged(); myObserver.notifyObservers(data); } }
implements Observer更新数据:
public class MainActivity extends AppCompatActivity implements Observer{ TextView textView; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=(TextView)findViewById(R.id.tv); btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this,SecondActivity.class)); } }); ObserverManage.getMyObserver().addObserver(this); } @Override public void update(Observable observable, Object data) { if (data!=null){ if (data instanceof String){ textView.setText((String)data); } } } }
通知数据更新:
本文介绍了一种无需使用接口回调或intent传递数据的方法——观察者模式。通过一个具体示例展示了如何利用观察者模式来实现数据的实时更新。这种方式简化了应用程序内部的数据同步流程。
2093

被折叠的 条评论
为什么被折叠?



