Welche Datentypen können sharedpreferences speichern?
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.
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.
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);
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; } }
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.)
- String, List, Map, CharSequence und andere Klassen
- Andere AIDL-Schnittstellentypen
- All Parcelable Class
- bundle kann Datentypen übergeben: 1, acht Grundtypen wie Byte/Short/Int/Long/Float/Double/Boolean/Char oder die entsprechenden Arrays
Intent Transferable Data Type:
Intent Transfer Type (abcd)
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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.

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

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

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

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.

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

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.

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
