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

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

先定义一个接口:

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

在定义一个接口管理类:

public class ConnectionStateListenerManager {
    private ConnectionStateListener mListener;

    private ConnectionStateListenerManager() {
    }

    private static final ConnectionStateListenerManager manager = new ConnectionStateListenerManager();

    public static ConnectionStateListenerManager getInstance() {
        return manager;
    }

    public void setConnectionStateListener(ConnectionStateListener mListener) {
        this.mListener = mListener;
    }

    public void connected() {
        if (mListener != null) {
            mListener.onConnected();
        }
    }

    public void connecting(){
        if (mListener!=null){
            mListener.onConnecting();
        }
    }

    public void disconnected(){
        if (mListener != null){
            mListener.onDisConnected();
        }
    }
}

注意上面的接口管理类必须用单例模式,否则会空指针异常.
最后在扫描界面得到管理类对象,并调用其中的方法,在连接界面调用setConnectionStateListener()方法,并实现接口中的方法,这就可以了.

本人菜鸟一个,欢迎大家指正.谢谢!

你可能感兴趣的:(android)