2013-05-17 172 views
1

我想將List<HashMap<String,String>>保存到我的小數據庫中。如何實現它..我想在我的應用程序的許多活動中使用此列表。是否有任何其他可能的方式訪問此特定列表,因爲它在我的其他活動中。如何將List <HashMap <String,String >>保存到SQLite db

+1

轉換它作爲'jsonstring'並將其保存在數據庫 – Pragnani

+0

您也可以嘗試使用[XStream]將其解析爲XML(http://xstream.codehaus.org/)。它內置了[MapConverter](http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/converters/collections/MapConverter.html)。 – James

+0

檢查:[如何在SharedPreferences中存儲ArrayList ](http://stackoverflow.com/questions/15629355/how-can-i-store-an-arraylisthashmapstring-string-in -sharedpreferences) –

回答

0

您可以使用「ContentValues」創建條目

ContentValues content = new ContentValues; 

,然後在某些時候,你填充它的表:

_sqlDataBase.insert(tableName, null, content); 

有了這個,你只需要建立ContentValue與你的HashMap列表,然後填充一個表格。

這樣做很好,只有在您的應用程序第一次啓動時,然後才用於刷新操作。當你的SQLite數據庫被填充時,你通常只想訪問數據。您可以將這些數據存儲在應用程序的Application實例中。

public class SomeApplication extends Application { 

public List<HashMap<String,String>> datas; 

@Override 
    public void onCreate() { 

     super.onCreate(); 

    } 
} 

聲明它在你的清單,然後你可以在每一個活動訪問它(this.getApplication())和片段(與getActivity()。getApplication())

...

<application 
     android:name="com.package.app.SomeApplication" 

...

希望它可以幫助

相關問題