はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『satoshun.github.io』

  • 人気
  • 新着
  • すべて
  • fitsSystemWindowsの話をつらつらと

    6 users

    satoshun.github.io

    fitsSystemWindowsの話をつらつらと Created at Sun, Jan 26, 2020 fitsSystemWindowsについてマスターしつつあるので、つらつらと学んだことをまとめておきます。 SystemUiVisibilityの詳細な設定については説明を割愛するのでご了承ください。 そもそもfitsSystemWindowsとは? Android端末には、status bar、navigation barなどのSystem UIと総称されるViewがあります。 デフォルトでは、System UIにコンテンツの要素が被ることはありません。そこには制約があります。 しかし、SystemUiVisibilityの設定を変えることで、コンテンツの要素をSystem UIの裏側描くことが可能になります。 右の図がSystemUiVisibilityの設定を変更したものです

    • テクノロジー
    • 2020/01/27 11:19
    • Android
    • FragmentでViewの参照を持つとメモリリークする話と実装

      26 users

      satoshun.github.io

      FragmentでViewの参照を持つとメモリリークする話と実装 Updated at Sat, Jan 18, 2020 View Bindingのドキュメントが更新され、onDestroyViewのタイミングで保持しているBindingの参照を解放する節が追記されました。 Use view binding in fragments Fragment自体のライフサイクルのほうが、FragmentのViewのライフサイクルより長いので、FragmentでBindingの参照を保持するとリークしてしまうためです。 この記事では、メモリリークをしないために、どのような実装が考えられるかを紹介していきます。 1. onDestoryViewで解放する 公式ドキュメントに載っている方法です。 // onCreatedViewで初期化 private var _binding: ResultProf

      • テクノロジー
      • 2020/01/19 00:29
      • fragment
      • android
      • メモリ
      • あとで読む
      • UI
      • ブログ
      • ViewModelとKotlin Coroutinesの書き方あれこれ

        7 users

        satoshun.github.io

        ViewModelとKotlin Coroutinesの書き方あれこれ Updated at Wed, Dec 18, 2019 ViewModel + Kotlin Coroutineを使う場合、どんな感じでViewModelでCoroutineを表現するかについてあれこれ書いてみました。 MVVM + Repositoryを想定しており、UIに反映する部分はLiveDataを考えています。 環境はandroidx.lifecycle:lifecycle-viewmodel-ktxは2.2.0-rc03、Coroutineは1.3.3です。 この記事は次の順序で進んでいきます。 viewModelScopeとは? suspend関数をコールするとき Flowをコール/購読するとき viewModelScopeとは? androidx.lifecycle:lifecycle-viewmod

        • テクノロジー
        • 2019/12/16 11:21
        • dev
        • android
        • あとで読む
        • Android マルチモジュール: Gradle周りで便利だと思う設定

          3 users

          satoshun.github.io

          Android マルチモジュール: Gradle周りで便利だと思う設定 Created at Mon, Nov 11, 2019 マルチモジュールなアプリを作ることをテーマにブログを書いていこうの、2本目です。 1本目はこちらになります。 Android マルチモジュール: ライブラリのバージョン管理について 今回は、マルチモジュール環境における、Gradle周りの便利であろう設定について、次の4つを紹介します。 モジュール内のリソース名にルールを持たせる BuildConfigを作らない モジュール内でProGuard/R8の設定をする Rファイルを小さく保つ モジュール内のリソース名にルールを持たせる resourcePrefixは、リソース名のプレフィックスにルールを設けるプロパティです。 例えば、次のように書くと、このモジュール内のリソース(レイアウト、Drawable、Strin

          • テクノロジー
          • 2019/11/11 10:46
          • android
          • Android Studio: Firebaseなどのクラッシュログから関数ジャンプできるようにする

            4 users

            satoshun.github.io

            Android Studio: Firebaseなどのクラッシュログから関数ジャンプできるようにする Created at Tue, Oct 29, 2019 Android Studio: Debugging Tips n’ Tricks (Android Dev Summit ‘19)で、便利な機能があったので、それの紹介です。 テキスト形式のクラッシュログを、Android Studio上で関数ジャンプ出来るようになります。 Firebaseのクラッシュログを例にして説明してきます。 まず、 Firebaseからクラッシュログをコピーします。 次に、Android StudioのAnalyze Stack Trace or Thread Dumpを使い、さきほどコピーしたクラッシュログをペーストします。 そうすると、Android Studio上で、関数ジャンプが出来るようになります

            • テクノロジー
            • 2019/10/29 13:41
            • Android
            • あとで読む
            • RxJava 3.xの開発が本格的に始まりました

              5 users

              satoshun.github.io

              RxJava 3.xの開発が本格的に始まりました Updated at Tue, Jun 25, 2019 現状での差異をまとめておきます。 RxJava2との差異 READMEから README.md RxJava2 との差分は以下のようになっています。 fixed API mistakes and many limits of RxJava 2 RxJava2のいくつかのAPIのミス、制限を直している intended to be a replacement for RxJava 2 with relatively few binary incompatible changes APIに多少の変更があり、バイナリ互換がない test and diagnostic support via test schedulers, test consumers and plugin hooks テ

              • 学び
              • 2019/06/26 14:24
              • Dagger2: 2.23に入ったHasAndroidInjectorについて

                3 users

                satoshun.github.io

                Dagger2: 2.23に入ったHasAndroidInjectorについて Updated at Sun, Jun 2, 2019 Dagger 2.23に新しく、HasAndroidInjectorインターフェースが入りました。 これは、従来のHasActivityInjectorやHasFragmentInjectorなどを置き換えるために作られました。 この記事では、どのように置き換えるかを説明していきたいと思います。 また、DaggerApplicationやDaggerActivityなどの基底クラスは使っていないものとします。 置き換えていく AppComponent AndroidSupportInjectionModuleを使っているなら、AndroidInjectionModuleに置き換えます。 今後は、AndroidSupportInjectionModuleを使

                • テクノロジー
                • 2019/06/02 21:51
                • Android
                • ViewModel SavedState + Dagger

                  3 users

                  satoshun.github.io

                  ViewModel SavedState + Dagger Created at Sat, May 25, 2019 ViewModel + SavedStateでDaggerを使う方法を考えてみました。 前提知識・課題 SavedStateを使う場合、ViewModelにSavedStateHandleインスタンスを渡さなければいけません。 class MyViewModel( private val state: SavedStateHandle ) : ViewModel() { ... } SavedStateHandleインスタンスを作るために、SavedStateVMFactoryもしくは、AbstractSavedStateVMFactoryを使う必要があります。 生成したいViewModelのコンストラクタの引数がSavedStateHandleのみなら、SavedStat

                  • 暮らし
                  • 2019/06/01 16:54
                  • Data Binding 3.5と3.6のまとめ/感想

                    6 users

                    satoshun.github.io

                    Data Binding 3.5と3.6のまとめ/感想 Created at Thu, May 16, 2019 Google I/O 2019でDataBindingについて少し話されていたので感想とまとめを。 動画だとここらへんになります。 改善系 ビルドの高速化! 20%くらいビルドが早くなった distributed build cache対応 Incremental annotation processing対応 android.databinding.incremental=true を設定にすると使えます Android Studioとの連携強化!! Live Class Generation XMLを変更したら、コンパイルせずともクラス、フィールドにアクセスすることが出来る リファクタリング系 フィールド名の変更リファクタリングなどをしたときに、XML、コードの両方に反映さ

                    • テクノロジー
                    • 2019/05/16 11:47
                    • Android
                    • DataBindingとActivityのコンストラクタ Layout Id指定を一緒に使う

                      8 users

                      satoshun.github.io

                      DataBindingとActivityのコンストラクタ Layout Id指定を一緒に使う Created at Thu, Apr 4, 2019 JetpackのActivityとFragmentのコンストラクタに、Layout Idが指定できるようになりました。 Activity Version 1.0.0-alpha06 Fragment Version 1.1.0-alpha06 これは、次のように使うことが出来ます。 class MainActivity : AppCompatActivity(R.layout.main_act) class MainFragment : Fragment(R.layout.main_frag) Activityの場合は、setConentViewが。Fragmentの場合はonCreateViewがそれぞれ省略することが出来ます。 ここからが

                      • テクノロジー
                      • 2019/04/04 10:38
                      • android
                      • あとで読む
                      • OkHttp: Java to KotlinのPRを見て勉強する

                        6 users

                        satoshun.github.io

                        OkHttp: Java to KotlinのPRを見て勉強する Created at Sun, Mar 24, 2019 OkHttpがKotlin化をするというISSUEが立てられました。 Upgrade OkHttp 3 to Kotlin and call it OkHttp 4 これの是非についてはさておき。現状、いくつかのJavaコードがKotlinへと置き換わっているので、それらのレビューで気になったこと、知らなかったこと、忘れがちなことを勉強がてらまとめたいと思います。 checkNotNullを使うかどうか could also be code no preference myself Kotlinの標準ライブラリに、checkNotNullがあります。 これは、値がnullならIllegalStateException例外を投げるものです。 以下のコードは同じ意味を持ち

                        • テクノロジー
                        • 2019/03/25 23:00
                        • Java
                        • FragmentとgetViewLifecycleの話

                          8 users

                          satoshun.github.io

                          FragmentとgetViewLifecycleの話 Created at Fri, Dec 21, 2018 この記事ではFragmentでLiveDataにObserverを登録するときはFragment#getViewLifecycleを使うと良いという話をします。 まず、Fragmentのおおまかなライフサイクルは次のようになっています。 onAttach onCreate onCreateView onViewCreated … onDestoryView onDestroy onDetach ここで重要なのは、onDestroyが呼ばれることなく、複数回onCreateViewが呼ばれる可能性がある点です。 例えば、次のコードは間違っている可能性があります。 class MainFragment: Fragment() { ... override fun onViewCre

                          • テクノロジー
                          • 2019/02/11 19:41
                          • android
                          • でかいappモジュールがあるときに、中間モジュールを入れることで差分ビルドを上手く効かせる

                            3 users

                            satoshun.github.io

                            でかいappモジュールがあるときに、中間モジュールを入れることで差分ビルドを上手く効かせる Updated at Mon, Feb 11, 2019 マルチモジュール構成のメリットに差分ビルドの効率化というものがあります。しかし、モノシリックなappモジュールから、マルチモジュール構成に変更していく過程ではappモジュールがでかいままなので、差分ビルドによる恩恵が受けにくいという問題があります。(最終段階まで進めばappモジュールは十分に小さくなるので、差分ビルドの恩恵を受けられます) 例えば、以下のモジュール構成を考えます。 頑張って2つのモジュールを切り出しました。ただし、これではどこのモジュールを変更してもかなりのビルド時間がかかります。なぜなら、Gradleでは依存関係にあるモジュールが変更されたときに、自分自身も(ある程度?)再ビルドされるためです。なので、上記のモジュール構成だ

                            • テクノロジー
                            • 2019/02/11 11:44
                            • android
                            • あとで読む
                            • マルチモジュールの遷移について考える Part1

                              3 users

                              satoshun.github.io

                              マルチモジュールの遷移について考える Part1 Created at Mon, Dec 31, 2018 Androidのトレンドの1つにマルチモジュール構成があります。 マルチモジュールによるメリットとして、 ビルド時間の短縮 依存関係を各モジュールに閉じ込めることでコードをクリーンに保つことが期待できる などがあります。大規模なプロジェクトでは上記のメリットは大きいため、マルチモジュールに移行していくことになると思います。 この記事は、マルチモジュールにした際のActivity間の遷移について考えたいと思います。目指すゴールとしては、 型安全にしたい、もしくはコンパイル時にチェックする機構が欲しい コード量を減らしたい Part1では、遷移専用のモジュールを作る方法を考えてみます。 サンプルコード: satoshun-android-example/MultiActivityRout

                              • テクノロジー
                              • 2019/02/06 10:08
                              • Android
                              • R8/Proguard: JarファイルからProGuard設定ファイルを読み込んでくれるようになりました

                                5 users

                                satoshun.github.io

                                R8/Proguard: JarファイルからProGuard設定ファイルを読み込んでくれるようになりました Updated at Mon, Jan 28, 2019 AGP3.3.0ProGuardはAGP3.3.0、R8は導入されたAGP3.2.0から、JarファイルのProGuard設定ファイルを組み込めるようになりました。その機能紹介です。 今まで、aarではconsumerProguardFilesで、ライブラリのProGuard設定を指定できました。それのJar、Javaバージョンとなります。 ライブラリ開発者側の設定 RetrofitなどのSquare社のライブラリでは、早くもこの機能に対応しているので、それを例にして説明します。 まず、resources/META-INF/prougardディレクトリの中にProGuardの設定ファイルを置きます。 square/retrof

                                • テクノロジー
                                • 2019/01/28 09:39
                                • Android
                                • R8/Proguard: Daggerの生成コードがR8でどのように変わるかを見る

                                  7 users

                                  satoshun.github.io

                                  R8/Proguard: Daggerの生成コードがR8でどのように変わるかを見る Created at Sun, Jan 20, 2019 コードの最適化の話です。この記事では実践に寄せて、Daggerの生成コードがR8によってどのように変化するかを見ます。 まずはサンプルコードです。 @Component( modules = [ AppModule1::class, AppModule2::class ] ) interface AppComponent { @Component.Builder interface Builder { fun build(): AppComponent } fun inject(activity: MainActivity) } @Module class AppModule1 { @Provides fun provideService(): Ap

                                  • テクノロジー
                                  • 2019/01/21 09:51
                                  • dagger
                                  • android
                                  • Dagger + ViewModelの基本編 + 実例編

                                    6 users

                                    satoshun.github.io

                                    Dagger + ViewModelの基本編 + 実例編 Updated at Fri, Jan 18, 2019 この記事はDaggerとJetpackのViewModelをある程度知っている前提で進んでいきます😃 基本編 一緒にDagger + ViewModelを使うのはツラミがあります。それは、ViewModelのインスタンス生成はViewModelProviderを介して行う必要があるためです。 例えば、次のコードは間違っています。 class MainViewModel @Inject constructor(...): ViewModel() class MainActivity { @Inject lateinit var viewModel: MainViewModel ... } class MainViewModel(...): ViewModel() @Modul

                                    • テクノロジー
                                    • 2019/01/12 00:17
                                    • android
                                    • Coroutine + AutoDisposeを作ってみた - stsnブログ

                                      3 users

                                      satoshun.github.io

                                      Coroutine + AutoDisposeを作ってみた Created at Sun, Dec 23, 2018 Coroutine + AutoDisposeの実装について考えてみました。結論から言うと、ContinuationInterceptorを使えば上手くいきそうです。 ContinuationInterceptorとは? ContinuationInterceptorは次のようなインターフェースです。 /** * Marks coroutine context element that intercepts coroutine continuations. * The coroutines framework uses [ContinuationInterceptor.Key] to retrieve the interceptor and * intercepts all

                                      • テクノロジー
                                      • 2018/12/23 21:45
                                      • Android
                                      • GradleのMatching repositories to dependenciesを使ってライブラリのダウンロード先を指定する - stsnブログ

                                        24 users

                                        satoshun.github.io

                                        GradleのMatching repositories to dependenciesを使ってライブラリのダウンロード先を指定する Updated at Fri, Dec 14, 2018 JitPackからライブラリをインストールしたかったところ、JCenterからライブラリをインストールしてしまう事件がありました。 詳しくは次のリンクを参照してください。A Confusing Dependency 従来のGradle4系ではおそらく、上記の問題を解決することは出来ない、もしくは非常に困難でした。しかし新しくGradle5.1に Matching repositories to dependencies が導入され、上記の問題を解決できます。(Gradle5.1はまだrcです) まず最初に従来の書き方を説明して、次に新機能を使った書き方を紹介します。今回は例として、cloudflare

                                        • テクノロジー
                                        • 2018/12/13 22:47
                                        • gradle
                                        • security
                                        • あとで読む
                                        • Retrofitでカスタムアノテーションを使う

                                          5 users

                                          satoshun.github.io

                                          class AuthInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { var request = chain.request() val invocation = request.tag(Invocation::class.java) val authAnnotation = invocation?.method()?.getAnnotation(RequireAuth::class.java) if (authAnnotation != null) { request = request .newBuilder() .addHeader("Authorization", "Basic AAAAA").build() } return chain.proceed(

                                          • テクノロジー
                                          • 2018/11/24 18:33
                                          • android
                                          • library
                                          • Activity、Fragment、Viewにコンストラクタインジェクションする · stsnブログ

                                            27 users

                                            satoshun.github.io

                                            Activity、Fragment、Viewにコンストラクタインジェクションする Created at Fri, Nov 16, 2018 Daggerライブラリを使い、Androidフレームワークが提供するActivityなどのクラスにコンストラクタインジェクションしたい、 そんな夢をみたAndroidエンジニアは数多くいると思います。 この記事ではそんな夢を叶える方法を紹介します。 サンプルコードはここにあります。 FragmentFactory Fragmentに依存関係を注入する時、普通にやると以下のコードになると思います。 class MainFragment : Fragment() { @Inject lateinit var userHandler: UserHandler ... }

                                            • テクノロジー
                                            • 2018/11/16 10:03
                                            • android
                                            • あとで読む
                                            • RxAndroidのasyncパラメータを試してみた

                                              3 users

                                              satoshun.github.io

                                              RxAndroidのasyncパラメータを試してみた Created at Tue, Aug 21, 2018 RxAndroid 2.1.0で新しくasyncパラメータが追加されました。これはMessage#setAsynchronousを使うことで、UIのパフォーマンス向上を狙った機能です。 下のリンクに詳細な内容が書かれています。 RxAndroid’s New Async API この記事では、asyncがfalseの場合とtrueの場合でどれくらいの差が出るかを検証してみました。 検証に使用したサンプルプロジェクトは以下になります。 https://github.com/satoshun-android-example/RxAndroidExample サンプルプロジェクトをかいつまんで説明します。 まず2つのスケジューラを作成し、 private val mainSchedul

                                              • テクノロジー
                                              • 2018/08/21 23:30
                                              • DroidKaigi2018で「なんとなく動いているProguardから脱出するために」というテーマで発表しました

                                                4 users

                                                satoshun.github.io

                                                DroidKaigi2018で「なんとなく動いているProguardから脱出するために」というテーマで発表しました Created at Fri, Feb 9, 2018 DroidKaigi2018でセッションが採択されたので発表しました。 https://goo.gl/S95MJs 正直、Proguardは目新しいトピックでないのでそんなに聞きに来てくれないだろうなと思っていました。 しかし、Room3という広い部屋が割り当てられて、さらに当日はかなりの人が聞きに来てくれました。本当に聞きに来てくれた人ありがとうございます😊😊😊 Twitterの反応を見る限りだと、分かりやすいと言っている人が多くいたので嬉しかったです。 Proguardは苦手意識を持っている人が多いと思っていて、なのでstep by stepで順序良く聞けるような発表を心掛けたのでその効果が少しは出たのかなと思

                                                • テクノロジー
                                                • 2018/06/13 04:42
                                                • Android
                                                • Android: Navigationのsafeargs Gradle pluginだけを使ってもいいかもしれない

                                                  7 users

                                                  satoshun.github.io

                                                  Android: Navigationのsafeargs Gradle pluginだけを使ってもいいかもしれない Created at Sun, May 20, 2018 Google I/O 2018でJetpackが登場し、新たにNavigationライブラリが導入されました。 ざっくりと説明すると、画面の遷移の実装を助けるライブラリになっています。実装的には、FragmentTransactionを直接いじることがなくなるといったメリットがあります。 このライブラリの機能に、safeargsというものがあります。これが便利で、最初はこの機能だけを使うのもいいのでは? と思っているのでその紹介です。 safeargsを使ってみる 一般的にFragmentに適当な値を渡すときはBundleを通して渡します。 // 呼び出し側 val bundle = Bundle() bundle.p

                                                  • テクノロジー
                                                  • 2018/05/20 11:44
                                                  • Android
                                                  • Android: Data Bindingを使っていると本当のエラーログが出ない話 + 対処法

                                                    5 users

                                                    satoshun.github.io

                                                    Android: Data Bindingを使っていると本当のエラーログが出ない話 + 対処法 Created at Thu, Apr 12, 2018 問題 Android開発でData Bindingを使っていて、さらにDaggerなどのkaptを必要とするライブラリを使っていると、エラーログが非常に見にくい or エラーログに本当の問題が出てこないことがあります。 理由としては、Data Bindingの生成が失敗すると、MainActivityBindingみたいなクラスが生成されないので、いたるところでBinding クラスの参照エラーが出ます。 デフォルトではエラーを100行?しか出さないようになっているため、参照エラーだけでデフォルトのエラー行数を超えてしまい、本当のエラーが出力されないケースがあります。(大規模なプロジェクトだと起こりがちだと思います) 解決法 全てのエラー

                                                    • テクノロジー
                                                    • 2018/04/18 17:54
                                                    • Android
                                                    • Android: ViewがどのFragmentに属しているかをViewから取得する

                                                      3 users

                                                      satoshun.github.io

                                                      Android: ViewがどのFragmentに属しているかをViewから取得する Created at Sun, Jan 28, 2018 ViewがどのFragmentに属しているかを取得する方法の紹介になります。 前々からtag、id以外の仕組みで取得出来ないかなと考えていたら、GlideでViewからFragmentを取得するコードがありました。 @Nullable private Fragment findSupportFragment(@NonNull View target, @NonNull FragmentActivity activity) { tempViewToSupportFragment.clear(); findAllSupportFragmentsWithViews( activity.getSupportFragmentManager().getFrag

                                                      • テクノロジー
                                                      • 2018/01/29 10:33
                                                      • Android
                                                      • あとで読む
                                                      • Android: MVP, Dagger2, Retrofitなどなどでアプリを作りました

                                                        12 users

                                                        satoshun.github.io

                                                        Android: MVP, Dagger2, Retrofitなどなどでアプリを作りました Created at Sun, Sep 6, 2015 イベントを検索するAndroidアプリを作成したので, 使った技術のまとめです. アプリの技術的機能, 特徴は以下になります. HTTPを介してイベントのデータを取得する 検索対象のサーバは複数あるため(今回は3つ), どこかでそれらのレスポンスデータを同期する必要がある それら複数のサーバーはJSONを返すが, 微妙にJSONの構造が異なる Data-Bindingライブラリを使う MVP(Model-View-Presenter)パターンを使う Activity(Fragment)に機能が集中しないようにしたい! 上記を中心にどのように実装をしたかを説明をしていきます. フルソースコードはここにあります. https://github.co

                                                        • テクノロジー
                                                        • 2015/09/15 07:58
                                                        • Android
                                                        • 開発
                                                        • programming
                                                        • Android: Dagger2でDIをする. 基本編 Part1

                                                          9 users

                                                          satoshun.github.io

                                                          Android: Dagger2でDIをする. 基本編 Part1 Created at Fri, May 8, 2015 概要 この記事では, 最初にDIとは何かについて説明します. DIを理解した後にDagger2の基本的な使い方を紹介します. Dagger2はDI(Dependency Injection)をするライブラリです. DIとは? DIとはDependency Injectionの略で, 訳すと「依存性の注入」です. ここでいう依存とは クラス同士の依存関係のことを表します. クラス同士の依存関係は, 委譲パターンの時に現れます. 例えば, 以下のコードがあったとします. class Blogger { public Blogger() { } public void post(String title) { // 何かメインの処理 // ... // fileにlogを取

                                                          • テクノロジー
                                                          • 2015/06/29 23:59
                                                          • Dagger2
                                                          • Android

                                                          このページはまだ
                                                          ブックマークされていません

                                                          このページを最初にブックマークしてみませんか?

                                                          『satoshun.github.io』の新着エントリーを見る

                                                          キーボードショートカット一覧

                                                          j次のブックマーク

                                                          k前のブックマーク

                                                          lあとで読む

                                                          eコメント一覧を開く

                                                          oページを開く

                                                          はてなブックマーク

                                                          • 総合
                                                          • 一般
                                                          • 世の中
                                                          • 政治と経済
                                                          • 暮らし
                                                          • 学び
                                                          • テクノロジー
                                                          • エンタメ
                                                          • アニメとゲーム
                                                          • おもしろ
                                                          • アプリ・拡張機能
                                                          • 開発ブログ
                                                          • ヘルプ
                                                          • お問い合わせ
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について

                                                          公式Twitter

                                                          • 公式アカウント
                                                          • ホットエントリー

                                                          はてなのサービス

                                                          • はてなブログ
                                                          • はてなブログPro
                                                          • 人力検索はてな
                                                          • はてなブログ タグ
                                                          • はてなニュース
                                                          • ソレドコ
                                                          • App Storeからダウンロード
                                                          • Google Playで手に入れよう
                                                          Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                          設定を変更しましたx