在 Android 上使用来自 libGDX 的 SQLite
Posted
技术标签:
【中文标题】在 Android 上使用来自 libGDX 的 SQLite【英文标题】:Using SQLite from libGDX on Android 【发布时间】:2012-03-24 00:08:19 【问题描述】:有没有人有任何关于在 SQLite 中在 android 上存储来自 libGDX 的数据的提示。我非常熟悉 Android SDK 中使用的技术,但我不知道如何从 libGDX 调用这些 Android 数据库函数。我知道从 libGDX 调用函数会使我的游戏无法在桌面上使用,但我可以处理。
【问题讨论】:
【参考方案1】:一种方法总是在您的主项目中创建一个接口,我们称之为NativeFunctions
。然后让您的桌面和 Android 应用程序/活动都实现此接口。在创建主项目时,您将传递应用程序/活动。在您的主应用程序中,您保留对传递接口的引用并使用它来调用本机函数,您可以分别为桌面和 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 的实现可能应该遵循相同的方式。顺便提一句。我认为这也是整合广告框并与一般系统对话的方式。
【讨论】:
太棒了!工作完美!对于许多情况,这是一个很好的知识。谢谢您的帮助。你最近似乎在回答我所有的问题哈哈。 不客气!实际上,我经常使用 LibGDX,因为 *** 已经回答了我的很多问题,我很乐意回馈一些东西;)。以上是关于在 Android 上使用来自 libGDX 的 SQLite的主要内容,如果未能解决你的问题,请参考以下文章
在 android studio 上部署 libgdx 到 html5