两个Activity之间用接口回调进行通信

因为刚接触的一个项目是蓝牙连接,需求是要在扫描界面点击条目进行连接  
时,在跳转的另一个activity(姑且先叫它连接界面吧)上显示连接的过程,  
也就是弹出一个dialog,所以就需要用接口回调的方式实现它.但是我之前  
写接口回调没有在两个activity之间进行过接口回调,所以就自己想了下写  
了下面一段代码.

先定义一个接口:

public interface ConnectionStateListener {
    void onConnecting();
    void onConnected();
    void onDisConnected();
}

在定义一个接口管理类:

public class ConnectionStateListenerManager {
    private ConnectionStateListener mListener;

    private ConnectionStateListenerManager() {
    }

    private 
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Android 中,可以使用接口回调来实现两个 Activity 之间的数据传递和通信。下面是一个简单的示例: 首先,在定义接口时,创建一个名为 `DataListener` 的接口,用于定义数据传递的方法: ```java public interface DataListener { void onDataReceived(String data); } ``` 然后,在发送数据的 ActivityActivity A)中,需要持有一个 `DataListener` 类型的引用,并在某个操作时调用接口方法将数据传递给监听者: ```java public class ActivityA extends AppCompatActivity { private DataListener dataListener; public void setDataListener(DataListener listener) { this.dataListener = listener; } private void sendDataToActivityB(String data) { if (dataListener != null) { dataListener.onDataReceived(data); } } } ``` 在接收数据的 ActivityActivity B)中,需要实现 `DataListener` 接口,并在方法中处理接收到的数据: ```java public class ActivityB extends AppCompatActivity implements DataListener { // ... @Override public void onDataReceived(String data) { // 处理接收到的数据 // ... } } ``` 在 Activity B 中,可以通过以下方式将自身作为监听者注册到 Activity A 中: ```java ActivityA activityA = new ActivityA(); ActivityB activityB = new ActivityB(); activityA.setDataListener(activityB); ``` 当 Activity A 调用 `sendDataToActivityB()` 方法发送数据时,Activity B 实现的 `onDataReceived()` 方法将会被触发,并在该方法中进行相应的处理。 需要注意的是,在 Android 中,Activity 之间的启动和通信通常使用 `Intent` 或 `startActivityForResult()` 方法。接口回调通常用于 Activity 之间的松耦合通信,例如在两个独立的 Activity进行数据传递和通知。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值