Android, Kotlin, Python, Go, Developer
Android
-
Jetpack Composeライブ編集(Live Edit)でPrintデバッグをする
-
Android at Scale(with Circuit)の感想
-
Android: Eng modeの紹介
-
Android: Wireless debuggingでうまく繋がらない時にadb connectを使う
-
naptを使って、ビルドを高速化する
-
Gradle: Javaのバージョン差異によるビルド速度の変化
-
Androidビルド速度改善雑記 その2
-
Androidビルド速度改善雑記 その1
-
dev版のJetpack Composeを使って、新しいKotlinに対応する
-
マルチモジュール環境の開発改善について雑談
-
Dagger2: 拡張関数を使い、@Bindsの定義をシンプルにする
-
Android: Gradle Build Scanで、マルチモジュール環境のビルド改善
-
Jetpack Compose: debugInspectorInfoを使って、デバッグを少し楽にする
-
Gradle: Typesafe project dependencies
-
Gradle Profilerを使って、ビルドを最適化する
-
Gradle: 様々なバージョン管理の方法
-
moleculeライブラリで感動したところ
-
Android: non-transitive Rの導入と、ビルド時間の変化について
-
GitHub Actions: Composite Run Stepsの簡単な使い方
-
Testifyを使って、Jetpack Composeのスクリーンショットテストをする
-
Android: Dagger Hiltで推移的な依存を解決する
-
JetBrains Toolbox Appのススメ
-
Android: BuildConfigの生成をoffにする
-
Gradle: 新しいバージョン管理方法 Central declaration of dependenciesの紹介
-
Paparazziを使って、実機を使わずにスナップショットを取る
-
Android: 公式でAssisted Injectがサポートされそう
-
マルチモジュール環境での、dummyモジュール導入によるビルドの高速化
-
Android: 既存のDagger AndroidからHiltへの移行について
-
Android: RIP AsyncTask
-
Jetpack Compose: IOSchedをJetpack Composeで書く part1
-
Jetpack Compose: PreviewParameterアノテーションを使っていろいろなプレビューを作る
-
Android: Dagger HiltとDagger Androidの生成コードの違いについて
-
Android: エミュレータでFreeformモードを使う
-
Android: ActivityResultContractを使ってRuntime Permissionsを実装する
-
avocadoとGitHub Actionsを使って、Vector Drawableを最適化する
-
Android: ConstraintLayoutの子にRecyclerViewを配置して、Match Constraintsを設定すると良くない挙動をする
-
GitHub Actions: AndroidプロジェクトのGradle周りの設定メモ
-
ちょっと複雑なレイアウトをConstraintLayoutで組んでみるpart2
-
ちょっと複雑なレイアウトをConstraintLayoutで組んでみるpart1
-
Dagger2: Dagger2.27の新しいエラーメッセージを少し試してみる
-
Jetpack Compose: Ambientを使ってインスタンスを注入、取得する
-
Jetpack Compose: Modelとstate
-
Android: findViewTreeLifecycleOwnerでViewからLifecycleOwnerを取得する
-
Gradle: BOMを使って依存を指定する
-
doOnNextLayout、doOnLayout、doOnPreDrawの違いと、Coroutineでこれらを動かしてみる
-
Dagger2: 2.26時点でのKotlinサポート状況
-
fitsSystemWindowsの話をつらつらと
-
FragmentでViewの参照を持つとメモリリークする話と実装
-
Material Components: ShapeableImageViewで丸く切り抜かれた画像を表示する
-
ViewModelとKotlin Coroutinesの書き方あれこれ
-
メモ Android: Navigation Component + Toolbar(ActionBar)周りのコードを読んで見る
-
Material Components: ShapeとBottomSheetDialogとMaterialButton
-
Android: Groupieの内部でやっている差分更新周りの話
-
Android マルチモジュール: Gradle周りで便利だと思う設定
-
Android: Navigationのdialogタグ周りのコードちょっと読んでみた
-
Android Studio: Firebaseなどのクラッシュログから関数ジャンプできるようにする
-
Android Gradle Plugin 4.0でjava.timeがバックポートされるようになりました
-
ViewPager2で要素をループさせる
-
Android マルチモジュール: ライブラリのバージョン管理について
-
ViewPager2でカルーセルっぽいものを実装する
-
GitHubのNotificationsで、androidxライブラリのリリースの通知を受け取れるリポジトリを作りました
-
Material Components: MaterialTextViewでlineHeightがTextAppearanceから指定出来るようになりました
-
Android: RestrictToアノテーションのIDE上での振る舞い
-
Retrofit: Coroutineを使うときの、Response<T>と生のTの使い分け
-
Google I/O'19: Build a Modular Android App Architectureのまとめ・感想
-
Dagger2: 2.23に入ったHasAndroidInjectorについて
-
ViewModel SavedState + Dagger
-
雑メモ: ViewModel SavedStateのコードリーディング
-
ViewPager2 with TabLayout
-
Data Binding 3.5と3.6のまとめ/感想
-
CameraX: CameraView触ってみた
-
MvRxの雑な感想
-
Material Components: MotionSpecを使ってアニメーションをカスタマイズする
-
ConstraintLayout Flowの紹介
-
Kotlin: プロパティの変更を検知する
-
ConstraintLayoutのImageFilterViewって単体でも使えるんやなって
-
Dagger 2.22にFactoryクラスが導入されました
-
DataBindingとActivityのコンストラクタ Layout Id指定を一緒に使う
-
OkHttp: Java to KotlinのPRを見て勉強する
-
Android: JetpackのCoroutine Supportについて
-
Dagger2: ProvidesはKotlin extension methodと一緒に使うことが出来る
-
RxAndroidにPull Requestを出した話
-
Robolectric + JetpackでActivityのonActivityResultメソッドをテストする
-
マルチモジュールの遷移について考える Part2
-
でかいappモジュールがあるときに、中間モジュールを入れることで差分ビルドを上手く効かせる
-
DroidKaigi2019で「R8/ProGuard 徹底比較」というテーマで発表しました
-
R8/Proguard: JarファイルからProGuard設定ファイルを読み込んでくれるようになりました
-
FluxのDispatcherをRoomのin memoryで実装するのは、冗長なコードが多くなるので良くない
-
R8/Proguard: Daggerの生成コードがR8でどのように変わるかを見る
-
R8/Proguard: Kotlinのlambda最適化について
-
R8/Proguard: KotlinのCompanion objectとobjectについて
-
R8/Proguard: Class Mergingについて
-
Dynamic Feature ModuleでDagger Androidを使う
-
dexdumpメモ
-
マルチモジュールの遷移について考える Part1
-
Coroutine + AutoDisposeを作ってみた
-
FragmentとgetViewLifecycleの話
-
Dagger + ViewModelの基本編 + 実例編
-
GradleのMatching repositories to dependenciesを使ってライブラリのダウンロード先を指定する
-
Truthのメリット、特徴について
-
Android: namespacedRClassフラグでRクラスを小さく保つ
-
Gradle: Dagger2でapiとimplementationどちらを使うか議論されている
-
Data Bindingのエラーログが3.4.0-alpha07から見やすくなる
-
Kotlin Coroutineを導入したらどれだけビルドタイムが増えそうか検証した
-
MutableなLiveDataを特定のクラス外から更新できなくする
-
Retrofitでカスタムアノテーションを使う
-
Activity、Fragment、Viewにコンストラクタインジェクションする
-
Android: デバッグ時にMoshi、Daggerリフレクションライブラリを使いビルド時間を短縮する
-
UnitテストでViewModelのonClearedをテストする
-
Inline classesとGsonでprimitive型をクラスで受けとる
-
Daggerでprivate valで依存関係を取得したかった
-
RxAndroidのasyncパラメータを試してみた
-
Android: Dagger 2.17のfastInitを試してみた
-
Kotlin: Inline Functionだけではメソッドカウントは減らない
-
Android: ContraintLayoutでネガティブマージンを実現する
-
Kotlin: typealiasを使ってめんどうなアノテーションを省略する
-
Dagger-AndroidでUserScopeのようなカスタムのScopeを使い、特定のActivity間のみで同一インスタンスを使う方法
-
Android: Navigationのsafeargs Gradle pluginだけを使ってもいいかもしれない
-
Android: 拡張関数でLiveDataのSingle Eventを扱う
-
CoroutineBindingライブラリを作りました
-
Kotlin: ローカルで明示的に型を宣言することについて
-
Android: Data Bindingを使っていると本当のエラーログが出ない話 + 対処法
-
ActivityやFragmentにコメントを書くことについて
-
感想: Androidアプリ設計パターン入門
-
DroidKaigi2018で「なんとなく動いているProguardから脱出するために」というテーマで発表しました
-
Android: ViewがどのFragmentに属しているかをViewから取得する
-
Kotlin: 拡張関数からprotectedメソッドにアクセスする
-
RxJava: as, toの違いについて
-
Dagger: MembersInjectorを使い依存を注入する
-
LiveDataのpostValueは全て流れてくるとは限らない
-
Android: Roomにおけるデータ変更通知の仕組みについて(InvalidationTracker)
-
Android: RxJava + OkHttpを使って401の処理をいい感じにする
-
RxJava multicastについて
-
RxJava 並行でリクエストをして, リクエストした順番で値を受け取る
-
RxJava: AutoDisposeで自動的にdisposeする
-
RxJava: Connectable Observableについて
-
RxJava: SubjectでonErrorを取り扱う時
-
Android: Dagger2のScopeについてあれこれ
-
Android: Repository層についてあれこれ
-
LeakCanary: ソースコードリーディング
-
Android: Fragmentを使って、画面の向きの変更時にデータを保持する
-
Android: MVPのPresenterの非同期周りのユニットテストの書き方
-
Android: テストメソッドの命名規則について
-
Android: MVP, Dagger2, Retrofitなどなどでアプリを作りました
-
Improving Android: 列挙にはenumではなくIntDef, StringDef annotationを使う
-
Android: Picassoで使われているデザインパターン
-
Android: Dagger2でDIをする. u2020から読み解く編 Part2
-
Android: Dagger2でDIをする. 基本編 Part1
-
Android: DroidKaigiまとめ
-
Android: FragmentPagerAdapterでハマった話
-
Android: strings.xmlのまとめ
-
Android: Pull to Refreshの実装(SwipeRefreshLayout)