你能帮我写一份Android SP存储帮助类吗?
当然可以,以下是一个简单的Android SP存储帮助类:
import android.content.Context;
import android.content.SharedPreferences;
public class SPHelper {
private static final String FILE_NAME = "my_sp_file";
private SharedPreferences mSharedPreferences;
public SPHelper(Context context) {
mSharedPreferences = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
}
public void put(String key, Object value) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
if (value instanceof String) {
editor.putString(key, (String) value);
} else if (value instanceof Integer) {
editor.putInt(key, (Integer) value);
} else if (value instanceof Boolean) {
editor.putBoolean(key, (Boolean) value);
} else if (value instanceof Float) {
editor.putFloat(key, (Float) value);
} else if (value instanceof Long) {
editor.putLong(key, (Long) value);
}
editor.apply();
}
public <T> T get(String key, T defaultValue) {
Object value = null;
if (defaultValue instanceof String) {
value = mSharedPreferences.getString(key, (String) defaultValue);
} else if (defaultValue instanceof Integer) {
value = mSharedPreferences.getInt(key, (Integer) defaultValue);
} else if (defaultValue instanceof Boolean) {
value = mSharedPreferences.getBoolean(key, (Boolean) defaultValue);
} else if (defaultValue instanceof Float) {
value = mSharedPreferences.getFloat(key, (Float) defaultValue);
} else if (defaultValue instanceof Long) {
value = mSharedPreferences.getLong(key, (Long) defaultValue);
}
return (T) value;
}
public void remove(String key) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.remove(key);
editor.apply();
}
public void clear() {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.clear();
editor.apply();
}
}
使用方法:
// 创建SPHelper对象
SPHelper spHelper = new SPHelper(context);
// 存储数据
spHelper.put("key", value);
// 获取数据
String value = spHelper.get("key", "");
// 删除数据
spHelper.remove("key");
// 清空数据
spHelper.clear();
此类可以存储String、int、boolean、float和long类型的数据,并且可以根据key获取对应的默认值
原文地址: https://www.cveoy.top/t/topic/fvBZ 著作权归作者所有。请勿转载和采集!