検索
ホームページJava&#&ベース共有設定ではどのようなデータ型を保存できますか?

SharedPreferences は単純なタイプのデータのみを保存でき、string、int、float、long、boolean データ タイプのみを保存できます。クラスや画像などのより複雑なデータ型にアクセスする必要がある場合は、データをエンコードする必要があります。

共有設定ではどのようなデータ型を保存できますか?

このチュートリアルの動作環境: Windows7 システム、Java10 バージョン、Dell G3 コンピューター。

日々の開発では、データを保存する必要があることがよくあります。Android で一般的に使用される保存方法には、SQLite、sharedPreferences などが含まれます。もちろん、独自のアプリケーション シナリオもあります。前者は、より多くのデータを保存するのに適しており、特定のチェックボックスの選択状態、ユーザーのログイン状態、設定情報、パスワードを記憶する機能などのユーザー設定を保存するために、ファイルはキーと値のペアの形式で読み取られます。

しかし、データを保存するたびにキーを指定する必要があります。複数のデータを保存したい場合、複数のキーを記述する必要はありませんか?たとえば、ユーザーのニックネーム、個人の署名、ログイン時間などのユーザーのログイン情報を保存したいとします... ニーマ、データを 1 つ書き込めば、ルオのゲームがプレイできるのです。とにかく、我慢できません。そこで、ユーザー情報をカプセル化して 1 つのキーで保存するのはどうでしょうか?答えは「はい」です~
Java クラス ライブラリで提供されるバイト入力および出力ストリームを使用すると、任意の型から String への可逆変換を簡単に完了でき、それを Share~

SharedPreferences に保存できます。 4 つの基本タイプ (int、float、long、boolean) String などの単純なタイプのデータのみを保存できます。クラスやイメージなどのより複雑なデータ型にアクセスする必要がある場合は、データをエンコードし、通常は Base64 エンコードに変換してから、変換されたデータを文字列の形式で XML ファイルに保存する必要があります。

共有設定ではどのようなデータ型を保存できますか?

使いやすさ:

保存可能な型:

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);

ストレージ オブジェクト:

方法 1: fastJson/Gson/Jackson はオブジェクトを文字列に変換して保存します。

方法 2: 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 を使用してリスト データを保存します。実際、オブジェクト オブジェクトを保存できます

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/ などの 8 つの基本型char またはそれに対応する配列

2、文字列、charsequence、または対応する配列は、オブジェクト () またはオブジェクト配列にすることもできます。

3. Bundle.putSerializable(Key, Object); //Serializable インターフェイスを実装するオブジェクト

4. Bundle.putParcelable(Key, Object); //Parcelable インターフェイスを実装するオブジェクト

共有設定ではどのようなデータ型を保存できますか?

共有設定ではどのようなデータ型を保存できますか?

共有設定ではどのようなデータ型を保存できますか?

共有設定ではどのようなデータ型を保存できますか?##インテントの渡せるデータ型:

インテント配信タイプ (abcd)

A、シリアル化可能 B. 文字シーケンス C. パーセル可能 D. バンドル

1、8 つの基本データ型とその対応する配列

2、文字列/文字列とその対応する配列

3、Parcelable とそれに対応する配列/Serializable

4、バンドル/インテント

共有設定ではどのようなデータ型を保存できますか?

共有設定ではどのようなデータ型を保存できますか?

共有設定ではどのようなデータ型を保存できますか?## 関連する無料学習 推奨:

Java の基本チュートリアル

以上が共有設定ではどのようなデータ型を保存できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Java(シリアル、パラレル、CMS、G1、ZGC)のごみ収集アルゴリズムは何ですか?Java(シリアル、パラレル、CMS、G1、ZGC)のごみ収集アルゴリズムは何ですか?Mar 14, 2025 pm 05:06 PM

この記事では、さまざまなJava Garbage Collectionアルゴリズム(シリアル、パラレル、CMS、G1、ZGC)、そのパフォーマンスへの影響、および大きなヒープを持つアプリケーションの適合性について説明します。

Java Virtual Machine(JVM)とは何ですか?内部でどのように機能しますか?Java Virtual Machine(JVM)とは何ですか?内部でどのように機能しますか?Mar 14, 2025 pm 05:05 PM

この記事では、Java Virtual Machine(JVM)について説明し、さまざまなプラットフォームでJavaプログラムを実行する際の役割について詳しく説明しています。 JVMの内部プロセス、主要コンポーネント、メモリ管理、ガベージコレクション、およびパフォーマンスの最適化について説明します

JavaScriptを使用したスクリプトにJavaのナショーンエンジンを使用するにはどうすればよいですか?JavaScriptを使用したスクリプトにJavaのナショーンエンジンを使用するにはどうすればよいですか?Mar 14, 2025 pm 05:00 PM

Javaのナショーンエンジンは、Javaアプリ内でJavaScriptスクリプトを可能にします。重要な手順には、ナショーンのセットアップ、スクリプトの管理、パフォーマンスの最適化が含まれます。主な問題には、ナショーンのdeprecによるセキュリティ、記憶管理、将来の互換性が含まれます

自動リソース管理にJavaのリソース付きステートメントを使用するにはどうすればよいですか?自動リソース管理にJavaのリソース付きステートメントを使用するにはどうすればよいですか?Mar 14, 2025 pm 04:59 PM

Javaのリソースでの試行は、ファイルストリームやデータベース接続などのリソースを自動的に閉じることでリソース管理を簡素化し、コードの読みやすさと保守性を向上させます。

Javaの酵素を使用して固定値のセットを表すにはどうすればよいですか?Javaの酵素を使用して固定値のセットを表すにはどうすればよいですか?Mar 14, 2025 pm 04:57 PM

Java Enumsは、固定された値のセットを表し、カスタムメソッドとコンストラクターを介してタイプの安全性、読みやすさ、および追加の機能を提供します。それらはコード組織を強化し、効率的なバリューハンドリングのためにスイッチステートメントで使用できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター