2012年11月27日 星期二

Java ArrayList<Object>的用法,Android 寫法

ArrayList<Object>是一種還蠻方便的定義存放資料的方法,可支援存放不同屬性的物件在裡面

首先先設定一個類別存放資料


class Object_list{
// TODO 設定 List Object
String first_string;
String second_string;
int first_number;
}

設定好了之後,可撰寫一個呼叫此類別的方法,之後會比較方便


class Object_list_example {

public List<Object_list> call_list_example(){
// TODO 存值入 List<Object_list_example>

List<Object_list> li = new ArrayList<Object_list>();

Object_list ob;  //如果class Object_list不是在同一個頁面的話記得要new Object_list 出來                              

for(int i = 0; i< 5 ; i++){
ob = new Object_list();          //NEW 一個物件,如果不寫在迴圈裡便會重複寫入
ob.first_string = " "+i;             //將資料存入 Object_list 裡的 first_string
ob.first_number = i;                //將資料存入 Object_list 裡的 first_number
li.add(ob);                              //將資料塞進 List<Object> 裡
}
return li;
}
}

設定好資料內部屬性以及呼叫方法之後,接下來便是實作


public class Call_list_object{

public void call_list_object(){
// TODO 呼叫 List<Object_list_example>
Object_list_example li_example = new Object_list_example();
List<Object_list> li = li_example.call_list_example();

for(int i =0; i<li.size(); i++){
// 印出 li 裡的 first_string 字串,這會出現在Logcat裡,如果是Java可直接print出來
Log.d("List print first_string value", li.get(i).first_string);
}
}
}


印出結果為
     List print first_string value 0
     List print first_string value 1
     List print first_string value 2
     List print first_string value 3
     List print first_string value 4

PS.前面有提過的,如果不把這段 ob = new Object_list(); 加在程式碼裡,便會重複寫入最後一個數字印出結果為
     List print first_string value 4
     List print first_string value 4

     List print first_string value 4
     List print first_string value 4
     List print first_string value 4

與資料庫的搭配用法之後會再繼續寫