Coroutine Flow + Retrofit (+ Dagger Hilt) で 安全なAPIコールを実現する

Coroutine FlowとRetrofitを組み合わせて、ランタイムエラーを極力発生させない安全なAPIコールを実装してみました。

完全なサンプルコードは chmod644/coroutine-flow-example を参照してください。

f:id:xterm256color:20210130090809j:plain

目次

  • 目次
  • アーキテクチャ
  • DataSource(API)
    • APIコールのインタフェース
    • Future : APIコールの返り値
    • APIコールをFlowに変換
  • Dagger HiltでAPIサービスを注入
  • Repository
  • ViewModel
  • View(Fragment)
    • ViewModelの注入
    • LiveDataを監視
  • まとめ
続きを読む

Android Jetpack Compose を試す

昨日 2020/08/26 に Jetpack Compose の 1.0.0-alpha がリリースされていました。

公式のサンプルアプリをサクッと試す方法を書いていきます。

f:id:xterm256color:20200827060730j:plain

最新の情報や公式チュートリアルは以下のページを参考にしてください。英語版で見たほうが情報の更新が早いのでおすすめです。

developer.android.com

developer.android.com

続きを読む

AndroidXの生体認証(BiometricPrompt)の使い方

TL; DR

  • AndroidXの生体認証コンポネントBiometricPromptが正式リリースされてv1.0になった!
  • サポート対象はAndroid6.0以上!
  • FingerPrintManagerは非推奨になった!
  • ↓みたいな画面が簡単に作れる!

f:id:xterm256color:20191202215111p:plain

続きを読む

GCP AI Platformで画像認識してみる(学習編)

Google Cloud PlatformのML EngineがAI Platformという名前に変わってリリースされました。

ちょっと僕も触ってみようか、ということでCIFAR-10の画像分類モデル (w/ TensorFlow 2.0a, Python 3.5) をGCPのAI Platformで学習してみました。

クラウド初心者なので回りくどい説明だったり誤記もあるかもしれません。個人用メモの転載ということで容赦してください。

f:id:xterm256color:20190505031523j:plain

続きを読む

PyCharmにShebang(シバン)つきのテンプレートを追加する方法

LinuxなんかでPythonコードを書いているときにShebang(シバン; #!/usr/bin/env pythonとか)をいちいち書くの面倒ですよね。

PyCharmのユーザー向けに、Shebang付きのテンプレートの作成方法を紹介します。

ちなみにIntelliJAndroid StudioなどJetBrains提供のIDEなら何でも同じ方法で設定できます。

f:id:xterm256color:20181028172118j:plain

続きを読む