我有一个包含4个项目的LibGDX项目:libGDX,Proyecto-android,Proyecto-core和Proyecto-desktop。我的问题是我想使用SQLite来拥有一个数据库,但我在我的核心项目(Proyecto-core)中拥有所有的分支,所以我无法扩展SQLiteOpenHelper。 Proyecto-android中唯一的类是AndroidLauncher.java:
package ort.nico.Proyecto.android;
import android.os.Bundle;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import ort.nico.Proyecto.Proyecto;
public class AndroidLauncher extends AndroidApplication {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
initialize(new Proyecto(), config);
}
}
答案 0 :(得分:1)
您必须使用平台特定代码来连接代码。
1)在你的核心项目中,用initDB(),getMyObject(),storeMyObject(myObject)等方法创建一个接口......想想你与数据库交互所需的所有方法。
2)在核心项目中调用需要与DB交互的方法。首先将新界面添加为游戏构造函数的参数。在你的情况下:新的Proyecto(myInterfaceImplementation)
3)对于您的每个项目,实现此新界面。那就是你在android中使用SQLiteOpenHelper,在你的initDB()的android实现中启动数据库
libGDX wiki中的更多信息:https://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-code