AbsentLiveData とは?

あちこちで見かける AbsentLiveData。

ViewModel の中で以下のように使われています。


val game: LiveData<RefreshableResource<GameEntity>> = Transformations.switchMap(_gameId) { gameId ->
    when (gameId) {
        BggContract.INVALID_ID -> AbsentLiveData.create()
        else -> gameRepository.getGame(gameId)
    }
}

調べてみると、

どうやら、null の入った LiveData のようです。


/**
 * A LiveData class that has `null` value.
 */
class AbsentLiveData<T : Any?> private constructor(): LiveData<T>() {
    init {
        // use post instead of set since this can be created on any thread
        postValue(null)
    }

    companion object {
        fun <T> create(): LiveData<T> {
            return AbsentLiveData()
        }
    }
}

👉 android-architecture-components/AbsentLiveData.kt at master · googlesamples/android-architecture-components 

うん、揃う。

これは、コピペで使っていきましょう。


今なら「Pixel3a」より「Pixel3」を買ったほうが良くね?

追記: 2019-07-12

Pixel3/XL が値下げ他特典を付けてGoogleより販売されています。

👉 Google Pixel 3 - 日本 - ナイトサイトで光を見る - Google Store 

--- 追記ここまで ---

「Pixel3 vs Pixel3a」 に関して、あちこちの比較を見ていますが。

5万円以下の最新Android OSスマホ「Google Pixel 3a」をPixel 3と比べながら使って見えてきた違いとは? - GIGAZINE

性能の面で、プロセッサーのスペック差はでかいような気がします。

基本的には、

「フツーに使うならPixel3a。ゲームとかヘビーな使い方するなら、Pixel3。」

という意見が多いように思います。

私が今、どちらかを買うとして、日本で、例えばドコモで買う場合を考えてみました。

👉 Pixel3 を買った人の正しい悔しがり方

料金

Pixel3a

月額1,296円x36回
(総額 46,656円)

2019年夏 新商品のご予約・ご購入手続きについて(更新) | お知らせ | ドコモオンラインショップ | NTTドコモ

Pixel3

月額1,134円×24回
(総額 27,216円)

Google Pixel 3 | ドコモオンラインショップ | NTTドコモ

支払総額では 19,440円の差、期間は Pixel3で2年、Pixel3aで3年です。

保証期間

最低保障期間で、7ヶ月の差です。

Pixel スマートフォンと Nexus 端末で Android アップデートが提供されるタイミング - Nexus ヘルプ

まとめ

Google直販 Pixel3の一括価格を調べてみると以下。

価格.com - Google Pixel 3 64GB SIMフリー 価格比較 

Google Pixel 3 - 日本 - ナイトサイトで光を見る - Google Store 

私なら、間違いなく「Pixel3」をドコモの機種変で購入します。

オンラインでは、今現在は、「在庫なし」で、今日(2019-05-28)入荷予定とのこと。

きっと、最寄りの店舗に在庫状況を含め、電話で確認するのが良いのではないかと思います。

👉 Pixel3 を買った人の正しい悔しがり方
👉 今後、Huawei端末ユーザ ができること 


【公式 2018-05-07】Android Pie のバージョンシェア がひそかに 10%超えている件

前回の2018年10月からひさびさの更新となります公式 Android Developers のこのページ。

Android Pie の割合が10%を超えたようです。

しかし、更新日付が以前のままです。

ダッシュボード  |  Android Developers

英語版を見てみます。

Distribution dashboard  |  Android Developers

「日本語版の更新日付部分」のみが古いまま。

このページに関しては、どうやら英語版のページを確認したほうがよさそうです。