2012-09-17 59 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