使用模块中的接口



我正在尝试在libgdx核心模块中使用firebaseddatabase。我做了界面,但我不知道我将如何使用。我的意思是,我没有看到使用这样的界面。我想要一个示例代码。例如,我想从menusscreen类发送一个mesaj到firebas数据库。

Core中的接口

public interface FirebaseInterfaceInCore {
public void sendMessage(String mesaj);
}

类在android实现接口

public class FirebaseAndroid implements FirebaseInterfaceInCore {
@Override
public void sendMessage(String mesaj) {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue(mesaj);
}
}

android模块Louncher类

public class AndroidLauncher extends AndroidApplication {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();

initialize(new ColorKeeper(new FirebaseAndroid()), config);
}
}

Class I am working on game in Core

class MenuScreen :Screen() {
override fun show() {}
override fun render(delta: Float) {}

在你的应用程序是主类ColorKeeper和唯一的地方,你可以得到引用的接口是从这个类的构造函数。然后你需要在某个地方存储对这个引用的引用,然后当你创建你的MenuScreen时,把它传递到那里。然后你可以调用它

class ColorKeeper {
private FirebaseInterfaceInCore firebaseInterface;
private createMenuScreen() {
new MenuScreen(firebaseInterface);
}
public ColorKeeper(FirebaseInterfaceInCore firebaseInterface) {
this.firebaseInterface = firebaseInterface;
}
}
class MenuScreen {
public MenuScreen(FirebaseInterfaceInCore firebaseInterface) {
firebaseInterface.sendMessage("message");
}
}

最新更新