wem*_*pps 3 java sqlite android
我需要找到一种方法来保存一个HashMap字符串以保存在我的SQLite数据库中以便在以后的阶段进行检索.
这是我的HashMap:
private Map<String, Bitmap> myMarkersHash new HashMap<String, Bitmap>();
Run Code Online (Sandbox Code Playgroud)
然后保存到SQlite数据库时:
contentValues.put(LocationsDB.FIELD_HASH, myMarkersHash);
Run Code Online (Sandbox Code Playgroud)
但问题是,在我得到一个错误put,在contentValues.put与此错误:
The method put(String, String) in the type ContentValues is not applicable for the arguments (String, Map<String,Bitmap>)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何将其转换为字符串,以便我可以将其保存到我的sqlite数据库?
谢谢
您可以使用Gson库将HashMap转换为String,从而将HashMap存储在数据库中.该库将您的对象转换为String,您可以随时获取该对象.
链接到下载库:https://code.google.com/p/google-gson/
将对象转换为字符串:
Gson objGson= new Gson();
String strObject = objGson.toJson(myMarkersHash);
Bundle bundle = new Bundle();
bundle.putString("key", strObject);
Run Code Online (Sandbox Code Playgroud)
将String转换为Object:
Gson gson = new Gson();
Type type = new TypeToken<Model>() {}.getType();
myMarkersHash = gson.fromJson(bundle.getString("key"), type);
Run Code Online (Sandbox Code Playgroud)
也请查看此示例:http://www.java2blog.com/2013/11/gson-example-read-and-write-json.html
| 归档时间: |
|
| 查看次数: |
1944 次 |
| 最近记录: |