问题:如何管理共享首选项,当共享首选项存储大数据时,编辑需要很长时间?
当我将活动数据(如列表数据)存储在共享首选项中时。当我调用编辑器编辑共享首选项中的某些东西时。编辑需要很长时间。
如何在共享首选项中管理大数据。
答案 0 :(得分:1)
在SharedPreferences中管理大量数据的最佳方法是创建一个“Helper”类,其中包含许多方法来获取/设置SharedPreferences中的值。例如:
package com.example.your_app.helpers;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;
public class AssetLoader {
private static SharedPreferences prefs;
private static Context context1;
public static void load(Context context) {
context1 = context;
// Prefs
prefs = context.getSharedPreferences("YourApp", Context.MODE_PRIVATE);
}
public static void setTotalLocations(int totalLocations) {
prefs.edit().putInt("totalLocations", totalLocations).apply();
}
public static Integer getTotalLocations() {
if(prefs != null) {
return prefs.getInt("totalLocations", 1);
} else {
return -1;
}
}
public static void setItemName(String id, String name) {
prefs.edit().putString(gid, name).apply();
}
public static String getItemName(String id) {
return prefs.getString(id, "");
}
}
此代码只是从我的某个应用中复制/粘贴。它有一个load()方法,您需要在应用程序启动时调用该方法,该方法可用于加载任何必要的内容。其他所有内容都可以采用getter / setter方法,如示例setItemName
和getItemName
。
答案 1 :(得分:0)
我看到这个的方式。如果你真的需要存储大数据,你应该考虑使用SQLite进行共享偏好推荐使用(对我而言)应该仅适用于缓存应用程序设置之类的小值。