Google Pixel3 をネットで購入できるページ

売り切れとかあるのかもしらんが。

機種をさがす | ドコモオンラインショップ | NTTドコモ

しかし、2年縛りとかある場合は、Google直で買えるかも。

Google Pixel - 新しいスマートフォンがやってくる。

海外から個人輸入で買うか。

検索結果: "pixel3" - EXPANSYS 日本

ソフバンや1shopmobileは知らんが。

Google Pixel3 を最速で購入する方法

購入後の Android Pie の新しい基本操作は以下 (動画あり) から。

Android 9 Pie 使ってみた
【Android Pie】Google Digital Wellbeing を使う
【Android Pie】ナビゲーションバー の ホームボタン を ピル型 にする方法
【Android Pie】Auto-rotate (自動回転) OFF のときの挙動
【Android Pie】使いやすくなった音量設定
【Android Pie】スクリーンショット取得→編集 は「電源ボタン長押し」から

追記: 2018-10-10 1:32 Google直販はここかも?

store.google.com で Pixel3 が直販されるか?!


防災速報をアプリの通知で取得するかブラウザのアクセスで取得するか - Yahoo自治体向け 災害協定

私の場合、アプリの通知など受動的に待ってられません。

そんな「防災速報」や「災害情報」。

官公庁のサイトよりヤフーのサイトやサービスが利用しやすく間違いないように思います、

Yahoo!天気・災害 - 天気予報 / 防災情報

実際、インターネットを知り尽くしたYahooが作成するサービスです。

官公庁や地方自治体のセミプロが外注して作成するものとは、機能性、利便性で違いすぎますし、リアルタイムなデータを持っている地方自治体と協定を結んでいるので元々のデータ自体も間違いありませんし、最速でしょう。

Yahoo! JAPAN - 自治体様向け 災害協定

例えば、ある河川の水位情報も10分ごとに取れます。

河川水位情報 - Yahoo!天気・災害

自分の欲しい場所を表示したらブラウザショートカットをホームにアイコンとして置いておけば、ワンタップでいつでも見ることができます。

井野川の水位情報 - Yahoo!天気・災害

スマホが苦手なおじいちゃんやおばあちゃんにも最適です。

[Chrome]
|
[右上の3ドットボタン]
|
[ホーム画面に追加]

通知は全アプリOFFでもいいように思ったりします。

知らない番号からの電話や覚えのないインターホンなど意図せずアクセスしてくる情報にアクションしてもろくなことはありませんよね。

あと、おすすめは、ドコモユーザなら、無料で docomo Wifi を利用できるようにしておくべし。

ドコモユーザーが無料「docomo WiFi」を契約すべき3つの理由


Google Pixel3 の日本上陸のパターン

素のまま国内キャリアが販売

ドコモやソフバンの料金プランだけでの値引き競争になる?

日本国でのiPhone優勢な空気にGoogleの強制的なムチが入るか?

キャリアカスタムの Pie を載せて販売

NexusやPixelシリーズのAndroidのフラッグシップ端末で、これまで国内各キャリアは「素」でAndroidを出したことがあったか?

Galaxy Nexus のときは、ブロートなアプリをプレインストールしてドコモから販売された。

Nexus5(X) は1-2年後にイオンか知らんがマイナーSIMキャリアから販売された。

各キャリア開発陣が複雑になりすぎたAndroid OSを短期間にフォローできるか。

ベンダーカスタムで不具合頻発のソニエリ端末の衰退とかな。

GoogleのサイトからWEB直接販売されるか

割引なしの一括8-10万円程度で売るか?

売れると思う。

Google Pixel - 新しいスマートフォンがやってくる。

まとめ?

素のSIMフリー的なAndroidフラッグシップな端末Nexus/Pixel シリーズを使い続けてから、ベンダー&キャリアの手が入ったGalaxyを購入してみたときのクソ感。

明らかに、無駄な機能やアプリでユーザーを混乱させてる。

シンプルで洗練されたAndroid OSを日本国内で見せてやれよ。

なんつってな。

プレインストールアプリを削除する


Kotlin 1.3 で CoroutineScope

Kotlin 1.3 RC is Here: Migrate Your Coroutines! | Kotlin Blog

新しくこんなの出てます。


public interface CoroutineScope {

  /**
   * Returns `true` when this coroutine is still active (has not completed and was not cancelled yet).
   *
   * Check this property in long-running computation loops to support cancellation:
   * ```
   * while (isActive) {
   *   // do some computation
   * }
   * ```
   *
   * This property is a shortcut for `coroutineContext.isActive` in the scope when
   * [CoroutineScope] is available.
   * See [coroutineContext][kotlin.coroutines.experimental.coroutineContext],
   * [isActive][kotlinx.coroutines.experimental.isActive] and [Job.isActive].
   *
   * @suppress **Deprecated**: Deprecated in favor of top-level extension property
   */
  @Deprecated(level = DeprecationLevel.HIDDEN, message = "Deprecated in favor of top-level extension property")
  public val isActive: Boolean
    get() = coroutineContext[Job]?.isActive ?: true

  /**
   * Returns the context of this scope.
   */
  public val coroutineContext: CoroutineContext

}

新しいコルーチンのスコープです。

すべてのコルーチンビルダーは CoroutineScope の拡張となり、これを継承したコルーチンコンテキストは自動的にすべての要素にキャンセルを伝えることができます。

これを使って、アクティビティのライフサイクル周りを実装します。


class MyActivity : AppCompatActivity(), CoroutineScope {

  lateinit var job: Job

  override val coroutineContext: CoroutineContext
      get() = Dispatchers.Main + job


  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    job = Job()
  }


  override fun onDestroy() {
    super.onDestroy()

    // すべての子ジョブが destroy されたあと
    // 自動的にキャンセル
    job.cancel() 
  }


  // Activity が destroy されるか、このメソッド内で、例外が
  // 発生すると、すべてのネストしたコルーチンはキャンセルされる

  fun loadDataFromUI() = launch { // メインスレッドで起動

    val ioData = async(Dispatchers.IO) { // IOコンテキストで起動
      // ブロッキング I/O 処理
    }

    //  I/O の結果を wait
    val data = ioData.await()

    // メインスレッドで描画
    draw(data) 
  }
}

簡単な記述で、ネストしたコルーチンすべてを自動的にキャンセルしてくれるのです。

Kotlin 1.3 RC is Here: Migrate Your Coroutines! | Kotlin Blog

Using Kotlin Coroutines in your Android App


11月1日に迫った「targetSdkVersion は 26以上」に向けての対応の目処

メール来てますよね。

Hello Google Play Developer,

This is a reminder that starting November 1, 2018, updates to apps and games on Google Play will be required to target Android Oreo (API level 26) or higher. After this date, the Play Console will prevent you from submitting new APKs with a targetSdkVersion less than 26.

Configuring your app to target a recent API level ensures that users benefit from significant security and performance improvements, while still allowing your app to run on older Android versions (down to the minSdkVersion).

Action required

Please ensure that your apps are configured to target at least Android 8.0 (API level 26) by November 1, 2018. For technical advice on how to change your app's target API level to meet these requirements, refer to the migration guide.

Affected apps

The apps included below have one or more APKs—in production or testing tracks—that aren't currently targeting API level 26 or higher. Apps are listed with the maximum version code and corresponding targetSdkVersion. If you have more than 20 apps that could be affected in your account, please check the Play Console for a full list.

動くとはいうものの、GoogleサービスAPIの仕様や各サービス/プラットフォームのポリシーの変更が頻繁なことを考えると、放置しているアプリは一掃されていくと思われます。

メールには、以下が「マイグレーションガイド」として案内されています。

Meet Google Play's target API level requirement  |  Android Developers

おおまかに、影響しそうなキーワードを拾っておきます。

API 23 (6.0) 未満

「Runtime Permission」
実行時のパーミッション リクエスト  |  Android Developers

API 24 (7.0) 未満

「Doze」
Doze と App Standby 用に最適化する  |  Android Developers

「Firebase Cloud Messaging (FCM)」
Firebase Cloud Messaging  |  Firebase

「file://」
Setting up file sharing  |  Android Developers

API 26 (8.0) 未満

「startService()」
「startForeground()」
「startForegroundService()」
「Firebase Cloud Messaging (FCM)」
「Google Play services SDK」
「JobScheduler」

バックグラウンド実行制限  |  Android Developers

「Notification」
Create and Manage Notification Channels  |  Android Developers

「ANDROID_ID」
Settings.Secure  |  Android Developers

「multiple window/display」
マルチ ウィンドウのサポート  |  Android Developers
Android 8.0 の機能と API  |  Android Developers

「Camera API」
android.hardware.camera2  |  Android Developers

まとめ

Gradle周りやライブラリ同士の依存関係などもあって簡単には終われないですよね。

保守的に古いSDKにスティックしていた開発陣はモヤモヤ一掃のチャンスと思うべし。

あと、オプトインしといたほうがいいよ、と以下リンクがありました。

http://g.co/play/monthlynews