"Design Patterns" Android design mode-observer mode self-insight

Source: Internet
Author: User

The observer pattern is widely used in Android. Now combine your own understanding and write a simple demo.

When the teacher lectures, the teacher is an observer, he should inherit from the Observer

When a student attends a class, it is the observer who should implement the observer's interface.

In this way, when the teacher lectures, the students can receive the news


package com.ferris.observice;import java.util.observable;import java.util.Observer; Import Android.content.context;import android.widget.toast;//Observer public class Student implements Observer{private Teacher teacher;private Context context;private listeming listeming;public listeming getlisteming () {return Listeming;} public void setlisteming (listeming listeming) {this.listeming = listeming;} Public Context GetContext () {return context;} @Overridepublic String toString () {return "Student [<pre name=" code "class=" java ">teacher 
= "+ Girl +", context= "+ context +"] ";} public void SetContext (context context) {This.context = context;} Public Teacher Getgirl () {return girl;} public void Setgirl (Teacher girl) {this.girl = girl;} Public Student () {} @Overridepublic void update (Observable Observable, Object data) {//TODO auto-generated method Stubthis . Girl = (Teacher) observable; Toast.maketext (context, "good teacher! ", 1). Show ();} public interface listeming{public void Lisetem (String sss);}

Package Com.ferris.observice;import Java.util.observable;import Java.util.observer;import android.content.Context; Import android.widget.toast;//Observer public class Student implements Observer{private Teacher girl;private context context; Private listeming listeming;public listeming getlisteming () {return listeming;} public void setlisteming (listeming listeming) {this.listeming = listeming;} Public Context GetContext () {return context;} @Overridepublic String toString () {return "Student [girl=" + Girl + ", context=" + context + "]";} public void SetContext (context context) {This.context = context;} Public Teacher Getgirl () {return girl;} public void Setgirl (Teacher girl) {this.girl = girl;} Public Student () {} @Overridepublic void update (Observable Observable, Object data) {//TODO auto-generated method Stubthis . Girl = (Teacher) observable; Toast.maketext (context, "good teacher! ", 1). Show ();} public interface listeming{public void Lisetem (String sss);}

Package Com.ferris.androidpattern;import Android.app.activity;import Android.os.bundle;import Android.view.View; Import Android.view.view.onclicklistener;import Android.widget.toast;import Com.ferris.observice.student;import Com.ferris.observice.student.listeming;import Com.ferris.observice.teacher;public class StrategyActivity extends Activity {private Teacher Teacher; @Overrideprotected void OnCreate (Bundle savedinstancestate) {super.oncreate ( Savedinstancestate); Setcontentview (r.layout.strategy); teacher=new teacher (); The Observer Student Student=new Student (); Student.setcontext (this); Student.setgirl (teacher);// Add Observation Object Student.setlisteming (new Listeming () {@Overridepublic void Lisetem (String sss) {//TODO auto-generated method Stubtoast.maketext (Strategyactivity.this, "received", 1). Show ();}); Teacher.addobserver (student); Findviewbyid (R.id.button1). Setonclicklistener (New Onclicklistener () {@ overridepublic void OnClick (View v) {//TODO auto-generated method Stubteacher. Speak ("Hello everyone, I am a teacher!") ");}} );}}




"Design Patterns" Android design mode-observer mode self-insight

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.