java - 如何从 Activity 正确启动 libgdx 游戏并向其传递数据?

标签 java android android-intent libgdx

我想在用户“登录”/“登录”后从我的 Android 应用程序向 libgdx 游戏传递一些凭据数据。

首先我想问你 - 使用 Intent 开始我的游戏是一个好的做法吗?

我已在manifest.xml 文件中将我的启动 Activity 声明为.LoginActivity(例如),然后在用户执行一些操作后 - Android 端使用下一个代码启动游戏:

private void initializeListeners(){

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getBaseContext(), AndroidLauncher.class);
                startActivity(intent);
            }
        });
    }

是否有一些如何从 Activity 开始游戏的最佳实践?

另一个相关问题是 - 如何将数据从 android acitivity 传递到 libgdx 游戏?

我在此链接中看到了一些建议:https://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-code .

我还没有使用 Swarm 框架(也许稍后),我想使用我自己的接口(interface)将数据传递到游戏中。

我已经声明了下一个接口(interface):

public interface DataPasser {
    void passData(String userName);
}

并在游戏核心部分的 Screen 实现中实现它,如下所示:

@Override
    public void passData(String userName) {
        font.draw(batch, userName, 0, 450);
    }

我只是用传递的数据绘制一个字符串。

主要问题是 - 我什么时候应该在我的 android 部分中调用这个方法?

我正在调用 Intent ,游戏开始时没有在 Intent 内传递数据 - 这就是我问的原因 - 开始游戏的最佳方式是什么。

我应该如何传递数据并开始游戏 - 请提出建议。

最佳答案

您没有太多代码,因此其中很多都是一般性提示。

在核心模块中,您添加一个带有所需参数的构造函数(LibGDX 游戏本身,假设您使用项目生成器)。

您添加一个构造函数,在其中接收两个字符串:用户名和密码。

您使用 Intent 将数据从一个 Activity 传递到游戏 Activity ,然后游戏 Activity 将字符串发送到游戏的构造函数。

关于java - 如何从 Activity 正确启动 libgdx 游戏并向其传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46524448/

相关文章:

Java - 启动时读出系统环境

java - 如何使用 android studio 以编程方式记录 Android 设备的所有入站和出站连接

android - ActionBar 只显示文本

android - 单击回调后的新 Intent

java.lang.NullPointerException : Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference 异常

android - 我的程序在 android 中的第二个 Intent 后停止

java - 使用二维数组查找列中的最大数字

java - Android 使用 ArrayList 添加和删除到不同的 ListView

java - 如何创建类似 Android Google Plus App 的按钮

android - 从 android 帐户管理器 "add account"中删除我的应用程序