Android:多维数组 - java

时间:2012-09-17 16:11:24

标签: java android arrays

我从一个来自sqlite数据库的函数中的光标进来了一个数组。我想在数组中添加多个项目,以便更轻松地从其他页面引入数据。即我想做mArray(" ID"),mArray(" Name")(我将从函数数组中填充listview,并且会喜欢从ID轻松访问名称

目前我的代码只保存数组中的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 

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

1 个答案:

答案 0 :(得分: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