gpt4 book ai didi

java - 在 Android 上使用来自 libGDX 的 SQLite

转载 作者:IT王子 更新时间:2023-10-29 06:20:47 26 4
gpt4 key购买 nike

有没有人有关于在 SQLite 中从 Android 上的 libGDX 存储数据的任何提示。我非常熟悉 Android SDK 中使用的技术,但我不知道如何从 libGDX 调用这些 Android 数据库函数。我知道从 libGDX 调用函数会使我的游戏无法在桌面上使用,但我可以处理。

最佳答案

一种方法是始终在您的主项目中创建一个接口(interface),我们称它为 NativeFunctions。然后让您的桌面和 Android 应用程序/Activity 实现此接口(interface)。在创建主项目时,您将传递应用程序/Activity 。在您的主应用程序中,您保留对传递接口(interface)的引用并使用它来调用 native 函数,您可以分别为桌面和 Android 实现这些函数(不要让您的游戏在桌面上无法使用,您也可以在那里使用 SQLite ;)。

好吧,这很复杂,所以让我们看看它的实际应用(定义一个打开 URL 的函数):

界面:

public interface NativeFunctions {
public void openURL(String url);
}

主类:

public class MyGame extends Game/ApplicationListener {
public NativeFunctions mNativeFunctions;

public MyGame(NativeFunctions nativeFunctions) {
mNativeFunctions = nativeFunctions;
}
// Exemplary function call, of course this doesn't make sense in render() ;)
public void render() {
mNativeFunctions.openURL("http://www.example.com");
}
}

Android 实现:

public class MyGameActivity extends AndroidApplication implements NativeFunctions {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initialize(new MyGame(this), false);
}
public void openURL(String url) {
Intent viewIntent = new Intent("android.intent.action.VIEW",
Uri.parse(url));
startActivity(viewIntent);
}
}

桌面实现:

public class MyGameDesktop implements NativeFunctions {
public static void main(String[] args) {
MyGameDesktop game = new MyGameDesktop();
new LwjglApplication(new MyGame(game), "MyGame", 800,
480, false);
}
public void openURL(String url) {
// Your implementation to open URL on dekstop
}
}

就是这样,您使用 SQLite 的实现可能应该遵循相同的方式。顺便提一句。我认为这也是集成广告框和与系统对话的一般方式。

关于java - 在 Android 上使用来自 libGDX 的 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9584959/

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