当然可以,以下是一个简单的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获取对应的默认值

你能帮我写一份Android SP存储帮助类吗?

原文地址: https://www.cveoy.top/t/topic/fvBZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录