回调机制的实现.
简单回调机制的建立主要分为下面几步:
1.写一个回调类,写出需要的构造方法
2.定义一个接口,里面写一个抽象方法,方法体(String data)为所需要回调的数据
3.定义一个设置接口的方法,里面得到接口对象
4.定义一个发送数据的方法,当调用这方法时,数据自动发送及接受
如下:
1 package com.lixu.huidiao; 2 3 public class SendData { 4 5 private OnSendDataListener mOnSendDataListener = null; 6 7 //1.写出所需要的构造方法 8 public SendData() { 9 10 } 11 12 //2.定义一个接口,里面写一个抽象方法,方法体(String data)为所需要回调得到的数据 13 public interface OnSendDataListener { 14 public void onAcceptData(String data); 15 } 16 17 //3.定义一个设置接口的方法,里面得到接口对象 18 public void setOnSendDataListener(OnSendDataListener mOnSendDataListener) { 19 this.mOnSendDataListener = mOnSendDataListener; 20 } 21 22 //4.定义一个发送数据的方法,当调用这方法时,数据自动发送及接受 23 public void send(String data) { 24 mOnSendDataListener.onAcceptData(data); 25 } 26 27 }
使用的时候,只需new出这个方法的对象,然后使用setOnSendDataListener()的方法得到监听,在调用send()方法即可触发监听得到回调的数据
如下代码:
1 package com.lixu.huidiao; 2 3 import com.lixu.huidiao.SendData.OnSendDataListener; 4 5 import android.app.Activity; 6 import android.os.Bundle; 7 import android.util.Log; 8 9 public class MainActivity extends Activity { 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 16 SendData mSendData = new SendData(); 17 mSendData.setOnSendDataListener(new OnSendDataListener() { 18 19 @Override 20 public void onAcceptData(String data) { 21 Log.d("通过回调收到的数据", data); 22 23 } 24 }); 25 26 mSendData.send("通过回调类对象调用send方法发送的数据"); 27 28 } 29 }
结果如下: