在Android上可以在Shared Prefs中存储SQLite表



我需要从表中取出大约100行,并将它们放入共享首选项中,然后删除数据库,安装一个新的并比较值。

我只需要从每行存储2个值。列A和列B,但我不知道这是否可能?

谢谢你的帮助

你不能存储一个表,但是如果你的表真的是那么简单(或者即使它不是…我认为你可以存储尽可能多的数据,你可以将其传输到JSON对象,将其字符串化并存储。然后,当您准备再次使用它时,将其打包回JSON并重新放入新表中。

我还可以建议使用泛型库来抽象本地存储。这里有一个例子:

使用android lib: https://github.com/wareninja/generic-store-for-android

import com.wareninja.opensource.genericstore.GenericStore;
// step.1: transfer data fromt able into GenericStore (aka cache)
String objKey = "mytable01";
int storeType = GenericStore.TYPE_SHAREDPREF;
//keep in mind that you can also use GenericStore.TYPE_MEMDISKCACHE
// which will store on disk cache, which can be faster and better for memory allocation
LinkedHashMap<String, Object> dataMap = new LinkedHashMap<String, Object>(); 
// fill in all the data from you table, e.g.
dataMap.put("row1", "val1");
GenericStore.saveObject(storeType, objKey, dataMap, mContext);
// now everything is on stored/cached
// step.2: get data back
dataMap = (LinkedHashMap<String, Object>) GenericStore.getObject(storeType, objKey, mContext);


社交编码@ Aspiro TV

最新更新