91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用sharedpreferences可以存儲什么數據類型

發布時間:2021-06-03 15:44:21 來源:億速云 閱讀:537 作者:Leah 欄目:編程語言

使用sharedpreferences可以存儲什么數據類型?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。


可保存的類型:

string,int,float,long,boolean

		//獲取sharedPreferences對象
        SharedPreferences sharedPreferences = getSharedPreferences("zjl", Context.MODE_PRIVATE);
        //獲取editor對象
        SharedPreferences.Editor editor = sharedPreferences.edit();//獲取編輯器
        //存儲鍵值對
        editor.putString("name", "周杰倫");

        editor.putInt("age", 24);
        editor.putBoolean("isMarried", false);
        editor.putLong("height", 175L);
        editor.putFloat("weight", 60f);

        editor.putStringSet("where", set);
        //提交
        editor.commit();//提交修改





        SharedPreferences sharedPreferences = getSharedPreferences("zjl", Context.MODE_PRIVATE);
        //getString()第二個參數為缺省值,如果preference中不存在該key,將返回缺省值
        String name = sharedPreferences.getString("name", "");
        int age = sharedPreferences.getInt("age", 1);

存儲對象:

方法一:fastJson/Gson/Jackson將對象轉換成字符串,然后再保存。

方法二:ObjectOutputStream將對象轉化成流,base64將流轉成字符串,然后再保存。

package com.example.draggridview;

/**
 * Created by Administrator on 2017/6/19.
 */

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Base64;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

/**
 * SharedPreferences工具類,可以保存object對象
 */
public class SharedPreferenceUtil {

    /**
     * 存放實體類以及任意類型
     *
     * @param context 上下文對象
     * @param key
     * @param obj
     */
    public static void putBean(Context context, String key, Object obj) {
        if (obj instanceof Serializable) {// obj必須實現Serializable接口,否則會出問題
            try {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ObjectOutputStream oos = new ObjectOutputStream(baos);
                oos.writeObject(obj);
                String string64 = new String(Base64.encode(baos.toByteArray(), 0));
                SharedPreferences.Editor editor = getSharedPreferences(context).edit();
                editor.putString(key, string64).commit();
            } catch (IOException e) {
                e.printStackTrace();
            }

        } else {
            throw new IllegalArgumentException("the obj must implement Serializble");
        }

    }

    public static Object getBean(Context context, String key) {
        Object obj = null;
        try {
            String base64 = getSharedPreferences(context).getString(key, "");
            if (base64.equals("")) {
                return null;
            }
            byte[] base64Bytes = Base64.decode(base64.getBytes(), 1);
            ByteArrayInputStream bais = new ByteArrayInputStream(base64Bytes);
            ObjectInputStream ois = new ObjectInputStream(bais);
            obj = ois.readObject();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return obj;
    }
    
}

參考:

使用SharedPreference保存list數據,其實可以保存Object對象

Android開發筆記——SharedPreferences 存儲實體類以及任意類型

Android數據持久化之SharedPreference

AIDL支持的數據類型

  1. 所有基礎類型(byte/short/int/long/float/double/boolean/char 等)

  2. String,List,Map,CharSequence等類

  3. 其他AIDL接口類型

  4. 所有Parcelable的類

bundle可傳遞數據類型:

1、byte/short/int/long/float/double/boolean/char等八種基本類型或它們對應的數組

2、String、charsequence或對應的數組,也可以是對象()或對象數組。

3、Bundle.putSerializable(Key,Object); //實現Serializable接口的對象

4、Bundle.putParcelable(Key, Object); //實現Parcelable接口的對象

使用sharedpreferences可以存儲什么數據類型

使用sharedpreferences可以存儲什么數據類型

使用sharedpreferences可以存儲什么數據類型

使用sharedpreferences可以存儲什么數據類型

intent可傳遞數據類型:

intent傳遞類型(abcd)

A、Serializable    B、charsequence    C、Parcelable    D、Bundle

1、八種基本數據類型 及其對應數組

2、String/Charsequence 及其對應數組

3、Parcelable 及其對應數組 /Serializable

4、bundle/intent

使用sharedpreferences可以存儲什么數據類型

使用sharedpreferences可以存儲什么數據類型

使用sharedpreferences可以存儲什么數據類型

關于使用sharedpreferences可以存儲什么數據類型問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪雅县| 邯郸市| 驻马店市| 石柱| 通州市| 万州区| 昭平县| 营山县| 出国| 正宁县| 镇远县| 开远市| 民权县| 那坡县| 巢湖市| 乌恰县| 鲁山县| 奎屯市| 龙井市| 高邑县| 德兴市| 昆明市| 麻阳| 厦门市| 青田县| 揭阳市| 册亨县| 卓资县| 中阳县| 阿拉善盟| 莆田市| 镇沅| 色达县| 青川县| 青岛市| 方山县| 绵竹市| 曲阜市| 买车| 武夷山市| 芒康县|