2013-05-17 128 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" 

...

希望它可以帮助

相关问题