概要
端末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/");
}
}