[英]Using SQLite from libGDX on Android
有沒有人有任何關於在SQLite中在Android上存儲libGDX數據的提示。 我非常熟悉Android SDK中使用的技術,但我不知道如何從libGDX調用這些Android數據庫函數。 我知道從libGDX調用函數會使我的游戲在桌面上無法使用,但我可以處理它。
一種方法是始終在主項目中創建一個接口,讓我們稱之為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的實現可能應該是一樣的。 順便說一句。 我認為這也是整合廣告盒和與系統交談的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.