2017-01-25 41 views
0

我有一個列表(3列表),其包含的的Android數組列表保存和調用最佳方法

  1. 名稱,電話,代碼
  2. 要保存的陣列召回並選擇應用程序被關閉後也。
  3. 該代碼迄今爲止,它創建列表。

    final EditText et=(EditText)findViewById (R.id.telephone_number_reference_entry); 
    final EditText et1=(EditText)findViewById(R.id.telephone_number_entry); 
    final EditText et2=(EditText)findViewById(R.id.access_code_entry); 
    final ListView new_text_number=(ListView) findViewById(R.id.new_text_number); 
    final ListView telephone_number_reference=(ListView)findViewById(R.id.telephone_number_reference); 
    final ListView access_code_reference=(ListView)findViewById(R.id.access_code_reference); 
    
    final ArrayList<String> list = new ArrayList<String>(); 
    final ArrayAdapter<String> aa; 
    aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list); 
    new_text_number.setAdapter(aa); 
    
    final ArrayList<String> list2 = new ArrayList<String>(); 
    final ArrayAdapter<String> aa2; 
    aa2 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list2); 
    telephone_number_reference.setAdapter(aa2); 
    
    final ArrayList<String> list3 = new ArrayList<String>(); 
    final ArrayAdapter<String> aa3; 
    aa3 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list3); 
    access_code_reference.setAdapter(aa3); 
    
    
    add_number_button.setOnClickListener(new View.OnClickListener() { 
    
        @Override 
        public void onClick(View view) { 
    
         if(et.getText().length()>0 && et.getText().length()>0 && et2.getText().length()>3 && et2.getText().length()<=7) { 
    
          list.add(0,et.getText().toString()); 
          aa.notifyDataSetChanged(); 
          et.setText(""); 
          list2.add(0,et1.getText().toString()); 
          aa2.notifyDataSetChanged(); 
          et1.setText(""); 
          list3.add(0,et2.getText().toString()); 
          aa3.notifyDataSetChanged(); 
          et2.setText("");  } 
    
        } 
    }); 
    

感謝所有幫助了轉圈圈就這一個,我目前的其他數據保存爲共享PREF

SharedPreferences settings = getSharedPreferences(Settings_Pref, 0); 

這工作得很好,在改變他們,記得他們,但需要做清單,所有清單都是要回收的數據,並用於不同的短信系統,而不是記住所有不同的系統並手動輸入,希望能夠回憶起來。

不知道我看着這個正確的方式,任何幫助tinyDB選項可能大大收到。

感謝

回答

0

您可以通過使用GSON保存數據:如果您使用Android Studio的

,你需要以下依賴添加到您的應用程序的build.gradle:

dependencies { 
    ... 
    compile 'com.google.code.gson:gson:2.8.0' 
} 

保存ArrayList:

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); 
Editor editor = sharedPrefs.edit(); 
Gson gson = new Gson(); 

String json = gson.toJson(arrayList); 

editor.putString(YOUR_PREFERENCE_KEY, json); 
editor.commit(); 

要讀取的ArrayList(記住,你需要添加import java.lang.reflect.Type):

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); 
Gson gson = new Gson(); 
String json = sharedPrefs.getString(YOUR_PREFERENCE_KEY, null); 
Type type = new TypeToken<ArrayList<ArrayObject>>() {}.getType(); 
ArrayList<ArrayObject> arrayList = gson.fromJson(json, type); 
+0

謝謝,還有沒有其他的辦法,看起來像在intellj我需要添加gradle這個或導入gradle這個項目從來沒有使用過它以前並沒有按不直觀地整合? – MadWayne

+0

oww ..從不嘗試與intelliJ。也許這應該會對你有所幫助:https://www.jetbrains.com/help/idea/2016.3/configuring-module-dependencies-and-libraries.html –

+0

真的很難爲gradle添加依賴項,至少可以看到gradle我有一個android和java gradle可用,但似乎無法在依賴關係選項卡中獲得...... – MadWayne

相關問題