文章目录
- 1、功能简介
- 2、MainActivity 文件
- 3、Message 文件
- 4、log 打印
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 打印
文件参考:
接口回调基础理解
JAVA接口回调详解
Java接口回调一般用法