gpt4 book ai didi

java - Android 中的通知处理

转载 作者:行者123 更新时间:2023-12-01 14:04:09 25 4
gpt4 key购买 nike

我正在开发一款多人游戏,其中有一个基于服务器发送的通知工作的模块。例如:其他玩家的 Action 、分数更新、要做的 Action 等。

我收到 json 格式的通知。我想知道是否存在某种编码模式可以自动向相应的处理程序传递不同的通知。非常感谢您的帮助。

最佳答案

嗯,不能说这是否属于一种模式:

我的看法是简单地创建一个单独的类,我们称之为 JSONGameStateFilter,根据接收到的值加上游戏状态来过滤 JSON 对象

类似于:

public class JSONGameStateFilter() {

public interface GameInterface1 {
// callback methods for activity 1
// example: public void newPlayerArrived(String name, int score);
// ...
}

public interface GameInterface2 {
// callback methods for activity 2
}

public interface GameInterface3 {
// callback methods for activity 3
}

private GameInterface1 callback1;
private GameInterface2 callback2;
private GameInterface3 callback3;

private JSONGameStateFilter instance;

public static JSONGameStateFilter getInstance() {
if (instance != null) {
return instance = new JSONGameStateFilter();
}
}
private JSONGameStateFilter() {}

public void registerListener(GameInterface1 callback) {
// called by Activity1 implementing GameInterface1
// by JSONGameStateFilter.newInstance().registerListener(this);
this.callback1 = callback;
}

public void registerListener(GameInterface2 callback) {
this.callback2 = callback;
}

public void registerListener(GameInterface3 callback) {
this.callback3 = callback;
}

public void filterJSON(JSONObject object) {
// read JSON and gamestate
// depending on situation call the right callback
// example: if (callback1 != null) callback1.newPlayerArrived(name, score)
}
}

这种方法的设计是在每个 Activity 上实现不同的回调( fragment 与 Activity 进行通信的已知模式)。

这是未经测试和刚刚编写的,但我非常有信心它会很好地工作。

关于java - Android 中的通知处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19067291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com