2014-10-05 89 views
0

我有一个LibGDX项目,里面有4个项目:libGDX,Proyecto-android,Proyecto-core和Proyecto-desktop。我的问题是我想用SQLite来创建一个数据库,但是我的核心项目(Proyecto-core)中拥有所有的类,因此我无法扩展SQLiteOpenHelper。 Proyecto-android中唯一的类是AndroidLauncher.java:核心项目中的SQLite - LibGDx

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); 
} 
} 

回答

1

您必须将代码与特定于平台的代码进行接口。

1)在你的核心项目,以创建像initdb的方法的接口(),getMyObject(),storeMyObject(myObject的)......认为你需要与你的数据库交互的所有方法。

2)在你的核心项目中调用你需要与数据库交互的方法。首先将您的新界面作为参数添加到您的游戏构造函数中。在你的情况:新Proyecto(myInterfaceImplementation)

3)对于你的每个项目,实现这个新的接口。这就是你会在android系统在你的Android实现initdb的()

更多信息在libGDX维基使用SQLiteOpenHelper,INITING的DB:https://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-code

+0

谢谢你的解决方案,但我改变存储信息的方式我需要。我没有使用SQLite,而是将所有信息保存在一个.txt文件中,并使用java Scanner类读取它 – Nicocoen97 2014-10-09 16:45:45