2012-09-13 95 views
1

你好我是Android開發新手,我決定使用AndroidPlot庫。要創建一個圖表,我需要在多個陣列像這樣Android Integer Arrays

Number[] seriesOfNumbers = {4, 6, 3, 8, 2, 10}; 

我需要在我的應用程序創建的數據幫助進入。我的應用程序每天運行一次服務,我希望它收集一定數量並將其添加到此數組中。舉例來說,像這樣的東西..

ArrayList<Integer> seriesOfNumbers = new ArrayList<Integer>(); 
seriesOfNumbers.add(5); 
// Save the array 

然後第二天檢索此數組並添加另一個數字,以此類推。我讀過,我應該使用SQLite,但我每天只能存儲一個數字。我不能每天創建一個新的數組,因爲我需要前幾天的數據。什麼是正確的方法來做到這一點?由於

編輯:

這是據我得到

public static void saveArray(Context ctx) 
{ 

    SharedPreferences sharedPreferences = PreferenceManager 
      .getDefaultSharedPreferences(ctx); 

    SharedPreferences.Editor sharedPreferencesEditor = sharedPreferences 
      .edit(); 


    Number[] list = new Number[10]; 

    StringBuilder str = new StringBuilder(); 

    for (int i = 0; i < list.length; i++) 
    { 

     str.append(list[i]).append(","); 

    } 


    sharedPreferencesEditor.putString("string", str.toString()); 

    sharedPreferencesEditor 
      .commit(); 

} 

public void getArray(Context ctx) 
{ 
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); 
    String savedString = prefs.getString("string", "1"); 

    StringTokenizer st = new StringTokenizer(savedString, ","); 

    for (int i = 0; i < 1; i++) 
    { 
     array[i] = Integer.parseInt(st.nextToken()); 

    } 


} 

我希望做的是能夠通過saveArray(上下文CTX)整數關口,並把它添加到陣列。然後它被解析成一個字符串存儲到共享首選項中,然後通過getArray(Context ctx)檢索,如果這有意義,它將被重新創建到數組中。任何幫助是非常讚賞注:上面的代碼會導致FC

+0

聽起來你可能需要的不僅僅是前一天的數字,對嗎?如果是這樣,Sqlite將是理想的。每天只需「插入」一個新行,由數字和日期組成。您可以根據需要從任何一天「選擇」任何行。這裏有一個很棒的教程:http://www.vogella.com/articles/AndroidSQLite/article.html – paulsm4

回答

1

嘗試是這樣的:

ArrayList<Integer> seriesOfNumbers = existsList() ? loadList() : new ArrayList<Integer>(); 
seriesOfNumbers.add(5); 
saveList(seriesOfNumbers); 

你一定要實現...列表() - 方法,也許是使用SQLite。