一个android 游戏数据库的设计疑点

一个android 游戏数据库的设计疑问?
做一个android 简单的游戏, 有多个关卡,现在只做了一关, 出的兵的数量和种类是定义在 数组中 。
还有其他很多 属性的数组,每一关肯定会有不同 ,如下
C/C++ code
private int enemyArray[][] = {{1},{1} ,{1,2} }


多个关卡,那么肯定要定义在数据库中,那么数据库如何设计 ,表中的对应 enemyArray 。

我最初的想法是每一维 固定3个值。比如下面的enemyArray的定义,第一维是1个数 ,第三维有2个数,假设以后每一维固定为3个值。
原来的private int enemyArray[][] = {{1},{1}, ,{1,2} 就可以变为 private int enemyArray_t[][] = {{-1,1,-1},{-1,1,-1},,{-1,1,2}, -1表示为空,此处不出任何士兵 。
那么在数据库对应 enemyArray 的字段就可以表示为*1**1*12 ,类型是字符串型,*对应-1 ,这样一个字符一个字符的读入,就可以完成对 enemyArray的赋值。

第一次做 ,请大家指教

------解决方案--------------------
Android是基于Java的,其开发的时候设计了SQLLite作为它的一个轻量级数据库,适合储存一些静态的信息。不过貌似每个应用程序对于数据库的使用大小是有限制的,你可以自己查一查。

既然是基于Java,建议你用类来定义你的游戏数据吧。这样操作起来会更方便一些。如果可能,可以专门建一个类,使用静态(static)字段来储存这种关卡定义,这样直接从外部调用类方法而不用新建类实例。这是我个人的一点看法。

比如
Java code


/*   数据类定义  */
package XXX;

import java.util.*;
import ....;

public class Dataset{
   private ArrayList<GameData> gamedata = null;
   public static ArrayList<GameData> getGameData(){
       return gamedata;
   }
   public static void init(){
       gamedata = new ArrayList<GameData>();
       GameData level_1 = new GameDate();
       /*  Do something with level 1 data */
       gamedata.add(level_1);
   }
}


/*   数据类调用  */
package XXX;

import java.util.*;
import ....;

public class Console{
    ArrayList<GameData> gamedata = null;
    public static void main(String argv[]){
       Dataset.init();
       gamedata = Dataset.getGameData();
       /*  Do something you like */
    } 
}