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();//獲取編輯器 //存儲(chǔ)鍵值對 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()第二個(gè)參數(shù)為缺省值,如果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 { /** * 存放實(shí)體類以及任意類型 * * @param context 上下文對象 * @param key * @param obj */ public static void putBean(Context context, String key, Object obj) { if (obj instanceof Serializable) {// obj必須實(shí)現(xiàn)Serializable接口,否則會(huì)出問題 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

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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)

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

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

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

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

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.

Titel: Grundlegende Datentypen enthüllt: Verstehen Sie die Klassifizierungen in g?ngigen Programmiersprachen. Text: In verschiedenen Programmiersprachen sind Datentypen ein sehr wichtiges Konzept, das die verschiedenen Datentypen definiert, die in Programmen verwendet werden k?nnen. Für Programmierer ist das Verst?ndnis der grundlegenden Datentypen in g?ngigen Programmiersprachen der erste Schritt zum Aufbau einer soliden Programmiergrundlage. Derzeit unterstützen die meisten gro?en Programmiersprachen einige grundlegende Datentypen, die zwischen den Sprachen variieren k?nnen, aber die Hauptkonzepte sind ?hnlich. Diese grundlegenden Datentypen werden normalerweise in mehrere Kategorien unterteilt, einschlie?lich Ganzzahlen

Welche Grundkenntnisse müssen Sie wissen, bevor Sie Python lernen? Mit der kontinuierlichen Weiterentwicklung von Technologien wie künstlicher Intelligenz, Big Data und Cloud Computing ist Programmieren zu einer immer wichtigeren F?higkeit in der modernen Gesellschaft geworden. Als einfache, leicht zu erlernende und leistungsstarke Programmiersprache wird Python zunehmend von Programmierern und Anf?ngern bevorzugt. Wenn Sie auch vorhaben, Python zu lernen, müssen Sie einige Grundkenntnisse beherrschen, bevor Sie beginnen. Verstehen Sie die Grundkonzepte der Programmierung Bevor Sie mit dem Erlernen einer Programmiersprache beginnen, müssen Sie zun?chst einige Grundkonzepte verstehen.

Die C-Sprache ist eine weit verbreitete Computerprogrammiersprache, die effizient, flexibel und leistungsstark ist. Um die Programmiersprache C beherrschen zu k?nnen, müssen Sie zun?chst die grundlegende Syntax und die Datentypen verstehen. In diesem Artikel werden die grundlegende Syntax und Datentypen der C-Sprache vorgestellt und Beispiele gegeben. 1. Grundlegende Syntax 1.1 Kommentare In der Sprache C k?nnen Kommentare zur Erl?uterung des Codes verwendet werden, um das Verst?ndnis und die Wartung zu erleichtern. Kommentare k?nnen in einzeilige Kommentare und mehrzeilige Kommentare unterteilt werden. //Dies ist ein einzeiliger Kommentar/*Dies ist ein mehrzeiliger Kommentar*/1.2 Schlüsselwort C-Sprache
