2012-09-17 89 views
0

我有一个数组从进入sqlite数据库的函数中的游标。我想向数组中添加多个项目,以便从其他页面中轻松导入数据。即我想做mArray(“ID”),mArray(“Name”)(我将从该函数的数组中填充一个列表视图,并想从ID轻松访问名称)Android:Multiple Dimensional array - java

这是我现在的代码,它只保存阵列中的ID:

public static Array GetRooms(String StationID) { 

    File dbfile = new File(Global.currentDBfull); 
    SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null); 
    Cursor c = db.rawQuery("select * from StationObjects where ObjectID = 0 and StationID = " + StationID , null); 

     c.moveToFirst(); 
     Log.e("TomDebug", c.getString(c.getColumnIndex("SubGroupName"))); 

    ArrayList<String> mArrayList = new ArrayList<String>(); 
     c.moveToFirst(); 
     while(!c.isAfterLast()) { 
      mArrayList.add(c.getString(c.getColumnIndex("SubGroupName"))); 
      c.moveToNext(); 
     } 


    return null; 

} 

编辑:为了清楚一点;

在psudocode我希望能够做到:

while(!c.isAfterLast()) { 
      mArrayList.name.add(c.getString(c.getColumnIndex("Name"))); 
      mArrayList.type.add(c.getString(c.getColumnIndex("Type"))); 
      mArrayList.ID.add(c.getString(c.getColumnIndex("ID"))); 
      c.moveToNext(); 
     } 

所以在代码的任何地方,我可以做

Array curRooms = GetRooms("1234") 

String name = curRooms.Name 
String type = curRooms.Type 

(我知道数组和字符串不会工作之间的组合那里,但只是一个例子)

+0

你能举个例子吗?目前还不清楚这个数据结构应该如何工作... – Tudor

+0

为你增加了一些信息 – TMB87

+0

为什么不创建一个自定义对象来保存所需的字段? – Luksprog

回答

0

这听起来像你想要一个实际的数据结构,而不是一个字符串。有几种方法可以做到这一点,使用ORM和其他方法,但是一个基本的例子会是这样的,您可以从数据库中填充字段。

public class StationObject 
{ 
    public String name; 
    public String type; 
    public String id; 
} 

//pseudocode 
for each result in resultset 
    fill temp StationObject with fields 
    add temp to list