interface 接口回调简单模板

1、功能简介

方便在不同类,不同activity之间进行数据传递

文件结构:

在这里插入图片描述

Mainactvity 向 Message 里面传数据,Message 处理后,通过接口将处理过后的数据返回到 MainActivity

2、MainActivity 文件

package com.example.ubuntu.myinterface;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity implements Message.MessageChagneCallBackListening {

    private  String TAG = "MainActivity: ";
    private Message message;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        message = new Message();  //实例化 message 对象
        message.setOnMessageChangeListening(this); //传递监听示例对象,结果回调到这个类里面的方法

        Log.i(TAG,"传递原始数据");
        message.changeMesaage("Hello word"); //传递 数据处理
    }

    @Override
    public void sendMessage(String msg) {
        Log.i(TAG , "接口回调返回结果: " + msg);
    }
}

3、Message 文件

package com.example.ubuntu.myinterface;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

public class Message {

    private String TAG = "Message: ";

    private MessageChagneCallBackListening messageChagneCallBackListening;

    public Message(){

    }

//主要就是 这一点 将实例化的 对象,传递进来
    public void setOnMessageChangeListening (MessageChagneCallBackListening messageChangeListening ){
        this.messageChagneCallBackListening = messageChangeListening;
        Log.i(TAG,"传递监听的实例化对象: " + messageChangeListening);
    }


    public void changeMesaage(String msg){
        Log.i(TAG,"传进来的 msg : " + msg);

        String msgResult = "数据处理:`````" + msg;

        Log.i(TAG,"返回的处理结果:" + msgResult);
        messageChagneCallBackListening.sendMessage(msgResult);
    }

    //定义及一个接口用来传递数据   接口可以单独写在一个文件里
    interface MessageChagneCallBackListening{
        void sendMessage(String msg);
    }


}

4、log 打印

在这里插入图片描述

文件参考:

接口回调基础理解
https://blog.csdn.net/qq_39085422/article/details/78453788

JAVA接口回调详解
https://blog.csdn.net/hbyh632/article/details/78592242

Java接口回调一般用法
https://blog.csdn.net/jonsnoww/article/details/68932292

猜你喜欢

转载自blog.csdn.net/qq_27061049/article/details/84338639