• 回调机制的实现。


    回调机制的实现.
     
    简单回调机制的建立主要分为下面几步:

    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 }

    结果如下:

  • 相关阅读:
    抖动代码
    WSAWaitForMultipleEvents()
    udp 不需要 listen
    WSAEventSelect
    C++ Win32控制台应用程序捕捉关闭事件
    玩转Win32开发(2):完整的开发流程
    win32线程池代码(WinApi/C++)
    又线程类封装
    Win2 Socket(套接字)相关 API
    Win32函数Sleep的精度测试
  • 原文地址:https://www.cnblogs.com/andlp/p/5072958.html
Copyright © 2020-2023  润新知