Inhaltsverzeichnis
Einfach zu verwenden:
Speicherobjekte:
Referenz:
Heim Java JavaBase Welche Datentypen können sharedpreferences speichern?

Welche Datentypen können sharedpreferences speichern?

Jun 03, 2021 pm 02:51 PM
数据类型

SharedPreferences kann nur einfache Datentypen und nur die Datentypen String, Int, Float, Long und Boolean speichern. Wenn Sie auf komplexere Datentypen wie Klassen oder Bilder zugreifen müssen, müssen Sie die Daten kodieren.

Welche Datentypen können sharedpreferences speichern?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Java 10-Version, Dell G3-Computer.

Wir müssen in der täglichen Entwicklung häufig Daten speichern, darunter SQLite, SharedPreferences usw. Natürlich gibt es auch ihre eigenen Anwendungsszenarien, während letztere eher zum Speichern von Daten geeignet sind Speichern Sie Benutzereinstellungen wie den Auswahlstatus eines bestimmten Kontrollkästchens, den Anmeldestatus des Benutzers, Konfigurationsinformationen, die Implementierung der Passwortspeicherfunktion usw. werden alle aus Dateien in Form von Schlüssel-Wert-Paaren gelesen.

Aber jedes Mal, wenn ein Datenelement gespeichert wird, muss ein Schlüssel bereitgestellt werden. Wenn Sie mehrere Daten speichern möchten, müssen Sie dann nicht mehrere Schlüssel schreiben? Zum Beispiel möchten wir die Anmeldeinformationen eines Benutzers speichern, z. B. den Spitznamen des Benutzers, die personalisierte Signatur, die Anmeldezeit ... Nima, wenn ich ein paar Daten schreibe, kann ich eine Partie Luo spielen. Ich kann es sowieso nicht ertragen Können wir also Benutzerinformationen kapseln und in einem Schlüssel speichern? Die Antwort lautet „Ja“ ~
Die in der Java-Klassenbibliothek bereitgestellten Byte-Eingabe- und Ausgabeströme können uns leicht dabei helfen, die umkehrbare Konvertierung eines beliebigen Typs in einen String abzuschließen, und dann können wir ihn in Share speichern ~

SharedPreferences kann nur Daten einfacher Typen speichern , wie zum Beispiel vier Grundtypen (int, float, long, boolean) + String. Wenn Sie auf komplexere Datentypen wie Klassen oder Bilder zugreifen müssen, müssen Sie die Daten kodieren, normalerweise in die Base64-Kodierung konvertieren und die konvertierten Daten dann in Form einer Zeichenfolge in einer XML-Datei speichern.

Welche Datentypen können sharedpreferences speichern?

Einfach zu verwenden:

Speicherbare Typen:

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);
Nach dem Login kopieren

Speicherobjekte:

Methode 1: fastJson/Gson/Jackson wandelt das Objekt in einen String um und dann Nochmals speichern.

Methode 2: ObjectOutputStream konvertiert das Objekt in einen Stream, base64 konvertiert den Stream in einen String und speichert ihn dann.

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;
    }
    
}
Nach dem Login kopieren

Referenz:

Verwenden Sie SharedPreference, um Listendaten zu speichern. Tatsächlich können Sie Objektobjekte speichern.

Android-Entwicklungshinweise: SharedPreferences speichert Entitätsklassen und alle Typen

Alle Grundtypen (Byte/Short/Int/Long/Float/Double/Boolean/Char usw.)

  1. String, List, Map, CharSequence und andere Klassen

  2. Andere AIDL-Schnittstellentypen

  3. All Parcelable Class

  4. bundle kann Datentypen übergeben:

    1, acht Grundtypen wie Byte/Short/Int/Long/Float/Double/Boolean/Char oder die entsprechenden Arrays
2, String, Charsequenz oder entsprechendes Array, das auch ein object() oder ein Array von Objekten sein kann.

3. Bundle.putSerializable(Key, Object); //Objekt, das die Serializable-Schnittstelle implementiert

4. //Objekt, das die Parcelable-Schnittstelle implementiert

Welche Datentypen können sharedpreferences speichern?

Welche Datentypen können sharedpreferences speichern?

Welche Datentypen können sharedpreferences speichern?Intent Transferable Data Type:

Intent Transfer Type (abcd)Welche Datentypen können sharedpreferences speichern?

A, Serialisierbar B. Zeichenfolge C. Paketversand D. Bundle

1, acht grundlegende Datentypen und ihre entsprechenden Arrays

2, String/Charsequence und ihre entsprechenden Arrays

3, Parcelable und ihre entsprechenden Arrays/Serializable

4, Bundle/Intent

Welche Datentypen können sharedpreferences speichern?

Welche Datentypen können sharedpreferences speichern?

Verwandte kostenlose Lernempfehlungen:

Welche Datentypen können sharedpreferences speichern?

Java-Grundlagen-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Datentypen können sharedpreferences speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So konvertieren Sie PHP8-Datentypen So konvertieren Sie PHP8-Datentypen Nov 16, 2023 pm 02:51 PM

Zu den Methoden des PHP8-Datentyps gehören die Konvertierung von Zeichenfolgen in Ganzzahlen, die Konvertierung von Ganzzahlen in Zeichenfolgen, die Konvertierung von Zeichenfolgen in Gleitkommazahlen, die Konvertierung von Gleitkommazahlen in Zeichenfolgen, die Konvertierung von Arrays in Zeichenfolgen, die Konvertierung von Zeichenfolgen in Arrays, die Konvertierung von Booleschen Werten in Ganzzahlen und die Konvertierung von Ganzzahlen in Bestimmung und Konvertierung boolescher Werte und Variablentypen. Ausführliche Einführung: 1. Die Konvertierung einer Zeichenfolge in eine Ganzzahl umfasst die Funktion intval() und die erzwungene Typkonvertierung (int). 2. Die Konvertierung einer Ganzzahl in eine Zeichenfolge umfasst die Funktion strval() und die erzwungene Typkonvertierung (String). eine Zeichenfolge zu einem Gleitkommapunkt und so weiter.

Was ist der beste Datentyp für Geschlechtsfelder in MySQL? Was ist der beste Datentyp für Geschlechtsfelder in MySQL? Mar 15, 2024 am 10:24 AM

In MySQL ist der ENUM-Aufzählungstyp der am besten geeignete Datentyp für Geschlechtsfelder. Der Enumerationstyp ENUM ist ein Datentyp, der die Definition einer Menge möglicher Werte ermöglicht. Das Geschlechtsfeld eignet sich für die Verwendung des ENUM-Typs, da das Geschlecht normalerweise nur zwei Werte hat, nämlich männlich und weiblich. Als Nächstes werde ich anhand spezifischer Codebeispiele zeigen, wie man in MySQL ein Geschlechtsfeld erstellt und den Aufzählungstyp ENUM zum Speichern von Geschlechtsinformationen verwendet. Im Folgenden sind die Schritte aufgeführt: Erstellen Sie zunächst eine Tabelle mit dem Namen „users“ in MySQL, einschließlich

Welcher Datentyp sollte für das Geschlechtsfeld in der MySQL-Datenbank verwendet werden? Welcher Datentyp sollte für das Geschlechtsfeld in der MySQL-Datenbank verwendet werden? Mar 14, 2024 pm 01:21 PM

In einer MySQL-Datenbank können Geschlechtsfelder normalerweise im ENUM-Typ gespeichert werden. ENUM ist ein Aufzählungstyp, der es uns ermöglicht, aus einer Menge vordefinierter Werte einen als Wert eines Feldes auszuwählen. ENUM ist eine gute Wahl, wenn eine feste und begrenzte Option wie das Geschlecht dargestellt wird. Schauen wir uns ein konkretes Codebeispiel an: Angenommen, wir haben eine Tabelle namens „users“, die Benutzerinformationen, einschließlich Geschlecht, enthält. Jetzt wollen wir ein Feld für das Geschlecht erstellen, wir können die Tabellenstruktur so gestalten: CRE

Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Feb 21, 2024 am 09:00 AM

Python wird aufgrund seiner einfachen und leicht lesbaren Syntax in einer Vielzahl von Bereichen häufig verwendet. Es ist von entscheidender Bedeutung, die Grundstruktur der Python-Syntax zu beherrschen, um sowohl die Programmiereffizienz zu verbessern als auch ein tiefes Verständnis für die Funktionsweise des Codes zu erlangen. Zu diesem Zweck bietet dieser Artikel eine umfassende Mindmap, die verschiedene Aspekte der Python-Syntax detailliert beschreibt. Variablen und Datentypen Variablen sind Container, die zum Speichern von Daten in Python verwendet werden. Die Mindmap zeigt gängige Python-Datentypen, einschließlich Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, boolesche Werte und Listen. Jeder Datentyp hat seine eigenen Eigenschaften und Betriebsmethoden. Operatoren Operatoren werden verwendet, um verschiedene Operationen an Datentypen auszuführen. Die Mindmap deckt die verschiedenen Operatortypen in Python ab, z. B. arithmetische Operatoren und Verhältnisse

Was sind die Python-Datentypen? Was sind die Python-Datentypen? Dec 11, 2023 pm 04:17 PM

Python-Datentypen umfassen: 1. Ganzzahltyp; 3. Komplexe Zahl; Detaillierte Einführung: 1. Ganzzahltyp, der zur Darstellung von Ganzzahlen verwendet wird. In Python ist der Wertebereich, den Ganzzahlen darstellen können, plattformspezifisch. 2. Gleitkommatyp, der zur Darstellung verwendet wird Zahlen mit Dezimalteilen. Zahlen vom Typ Gleitkomma können positive Zahlen, negative Zahlen und Null darstellen. 3. Komplexe Zahlen werden zur Darstellung komplexer Zahlen verwendet, einschließlich Real- und Imaginärteilen.

Python-Einstieg in die Kenntnisse: von Null-Grundlagen bis zur Projektentwicklung Python-Einstieg in die Kenntnisse: von Null-Grundlagen bis zur Projektentwicklung Feb 20, 2024 am 11:42 AM

1. Einführung in Python Python ist eine universelle Programmiersprache, die leicht zu erlernen und leistungsstark ist. Sie wurde 1991 von Guido van Rossum entwickelt. Die Designphilosophie von Python legt Wert auf die Lesbarkeit des Codes und stellt Entwicklern umfangreiche Bibliotheken und Tools zur Verfügung, mit denen sie verschiedene Anwendungen schnell und effizient erstellen können. 2. Grundlegende Syntax von Python Die grundlegende Syntax von Python ähnelt anderen Programmiersprachen, einschließlich Variablen, Datentypen, Operatoren, Kontrollflussanweisungen usw. Variablen werden zum Speichern von Daten verwendet. Operatoren werden zum Ausführen verschiedener Operationen an Daten verwendet. 3.Python-Datentypen in Python

Was ist die beste Datentypauswahl für das Geschlechtsfeld in MySQL? Was ist die beste Datentypauswahl für das Geschlechtsfeld in MySQL? Mar 14, 2024 pm 01:24 PM

Beim Entwerfen von Datenbanktabellen ist die Auswahl des geeigneten Datentyps für die Leistungsoptimierung und Datenspeichereffizienz sehr wichtig. In der MySQL-Datenbank gibt es eigentlich keine sogenannte beste Wahl für den Datentyp zum Speichern des Geschlechtsfelds, da das Geschlechtsfeld im Allgemeinen nur zwei Werte hat: männlich oder weiblich. Aus Gründen der Effizienz und Platzersparnis können wir jedoch einen geeigneten Datentyp zum Speichern des Geschlechtsfelds auswählen. In MySQL ist der Aufzählungstyp der am häufigsten verwendete Datentyp zum Speichern von Geschlechtsfeldern. Ein Aufzählungstyp ist ein Datentyp, der den Wert eines Felds auf einen begrenzten Satz beschränken kann.

Ausführliche Erklärung zur Verwendung des booleschen Typs in MySQL Ausführliche Erklärung zur Verwendung des booleschen Typs in MySQL Mar 15, 2024 am 11:45 AM

Detaillierte Erläuterung der Verwendung boolescher Typen in MySQL MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem. In praktischen Anwendungen ist es häufig erforderlich, boolesche Typen zur Darstellung logischer wahrer und falscher Werte zu verwenden. In MySQL gibt es zwei Darstellungsmethoden vom booleschen Typ: TINYINT(1) und BOOL. In diesem Artikel wird die Verwendung boolescher Typen in MySQL ausführlich vorgestellt, einschließlich der Definition, Zuweisung, Abfrage und Änderung boolescher Typen, und anhand spezifischer Codebeispiele erläutert. 1. Der boolesche Typ ist in MySQL definiert und kann sein

See all articles