Help us understand the problem. What is going on with this article?

kotlinでandroid入門 状態の確認

More than 1 year has passed since last update.

入門者が調べたことを、同レベルの人の参考になればと説明
自分が整理用に作ったコードをもとにしてます

地域(ロケール)

端末設定の取得

端末に設定してある地域情報を得るのは,Locale を使います

    // ロケールの取得
    val locale = Locale.getDefault()
    val language = locale.getLanguage()
    val country = locale.getCountry()
    Log.d("County", country)
    return if (language == "ja") {
        "日本"
    } else if (language == "en") {
        "英語"
    } else {
        "他"
    }

日本時の切替

また、メッセージを日本とそのほかに変えるのは strings.xml を使うと簡単にできます
普通に android studioでプロジェクトを作ると res\values\strings.xml が作られ
この文字を使いますが。
res\values-ja\strings.xml を作り、同じキーに日本語を設定しておけば、実行時に端末の設定が日本の場合 values-ja が使われ、それ以外の場合以前のまま values のが使われます.
プロジェクト内で使用する文字列はここに宣言しておくと、getString(R.string.key_xxx) とすると文字列として使えるので、修正忘れとかを防止できます

ネットワーク状況の確認

ネットワークに繋がっているか

ネットワークに接続しているかの確認

    val connMgr = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    val networkInfo = connMgr.activeNetworkInfo
    if ( networkInfo != null && networkInfo.isConnected ) {
        // 接続中
    }

wifiも含めてネットワークに繋がっているかの確認みたいです

Wifiか?

なので,wifiかはもう1回確認が必要

    val connMgr = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    val networkInfo = connMgr.activeNetworkInfo
    if ( networkInfo != null && networkInfo.isConnected
                && networkInfo.type == ConnectivityManager.TYPE_WIFI) {
        // Wifiか?
   }

エミュレータでの確認なので、ちょっと自信ないです。
すいません

folivora
androidとkotlinの初心者 独学なので正しいのかわからないので、コードをさらしてみました
https://folivoradesu.blogspot.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away