Android 학습 의 디자인 모델 의 관찰자 모델
관찰자 모드 가 뭐 죠?예 를 들 어 밤, 예 를 들 어 공유 의 예 이다. 만약 에 사장 이 모든 공유 SDK 가 통합 되 고 기능 을 개방 해 야 한다 면 웨 이 보 와 위 챗 공유 기능 은 관찰자 이다. 그들 은 시기 가 성숙 되 어야 만 사용 할 수 있다. 그러면 이 시 기 는 바로 피 관찰자 이다.예약 기능 에 해당 해 제품 이 출시 되면 본 격 적 으로 구 매 할 수 있다.
아니면 가장 간단 한 예 를 보 자.
먼저 인 터 페 이 스 를 써 서 웨 이 보 와 위 챗 에서 자주 사용 하 는 방법 을 추출 합 니 다.
/** * * * @author yuzhentao */ public interface ShareListener { /** * */ void share(); }
이 인터페이스 가 있 으 면 웨 이 보 와 위 챗 은 이 를 실현 함으로써 호출 자의 수 요 를 만족 시 킬 수 있다.
/** * * * @author yuzhentao */ public class Weibo implements ShareListener { @Override public void share() { Log.e("yuzhentao", " "); } }
/** * * * @author yuzhentao */ public class Weixin implements ShareListener { @Override public void share() { Log.e("yuzhentao", " "); } }
그리고 피 관찰자:
/** * * * @author yuzhentao */ public class ShareObserver {
private ArrayList<ShareListener> shareListenerList = new ArrayList<>(); public void integrateShareSDK(ShareListener shareListener) {
shareListenerList.add(shareListener); Log.e("yuzhentao", " " + shareListenerList.size() + " SDK"); }
public void share() {
Log.e("yuzhentao", " "); for (ShareListener shareListener : shareListenerList) {
shareListener.share(); }
}
}
때 가 되면 share () 방법 으로 웨 이 보 와 위 챗 을 공유 합 니 다.
마지막 으로 메 인 인터페이스 입 니 다. 먼저 피 관찰자 에 게 가서 '예약' 을 한 다음 에 2 초 지연 으로 이 기다 리 는 과정 을 모 의 한 다음 에 share () 방법 을 호출 합 니 다.
/** * * * @author yuzhentao */ public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ShareObserver shareObserver = new ShareObserver(); shareObserver.integrateShareSDK(new Weixin()); shareObserver.integrateShareSDK(new Weibo()); new AsyncTask<Void, Void, Void>() {
@Override protected Void doInBackground(Void... params) {
try {
Thread.sleep(2000); } catch (InterruptedException e) {
e.printStackTrace(); }
return null; }
}; shareObserver.share(); }
}
모두 에 게 도움 이 되 기 를 바 랍 니 다.
데모 주소:http://download.csdn.net/detail/qq_23940659/9489845
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.