LoginSignup
1
2

More than 1 year has passed since last update.

【Kotlin】端末UUIDを任意で生成してPreferenceに保存する

Posted at

概要

端末UUIDを端末から取得するのが厳しそうだったのでUUIDを自動生成してPreferenceに保存していくことにしました。
実装時の備忘録になりますが、ベストプラクティスが他にあればコメントいただけますと嬉しいです

やり方

import android.os.Bundle
import android.preference.PreferenceManager
import android.webkit.WebView
import androidx.appcompat.app.AppCompatActivity
import java.util.*


class MainActivity : AppCompatActivity() {
    val UUID_KEY_NAME: String = "uuid";
    var uuid: String = "";
    var url: String = "";

    /**
     * preferencesから直近のUUIDを取得する
     */
    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        // 保存した値を取得する
        val preferences = PreferenceManager.getDefaultSharedPreferences(this);

        // Preference 値の読み取り
        var preferencesUuid: String? =
            preferences.getString(UUID_KEY_NAME, UUID.randomUUID().toString());

        // Preferenceになければ自動生成
        uuid = if (preferencesUuid.toString() == "") {
            UUID.randomUUID().toString();
        } else {
            preferencesUuid.toString();
        }

        // 共有環境設定に書き込む
        val editor = preferences.edit();

        // 書き込み後保存する
        editor.putString(UUID_KEY_NAME, uuid.toString()).apply();

        // アクティビティにテキストやボタンといった部品を配置
        setContentView(R.layout.activity_main)
    }

    /**
     * スタッフ一覧画面を表示する
     * 
     */
    override fun onStart() {
        super.onStart()

        // アクティビティのレイアウト XML ファイルに追加
        val webView: WebView = findViewById(R.id.webView)

        // JavaScript を有効にする
        webView.settings.javaScriptEnabled = true

        // URLを読み込む
        webView.loadUrl("http://www.google.co.jp/");
    }
}
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2