ViewModel が画面回転しても保持される仕組み

この記事は Android Advent Calendar 2018 12/6 の記事です。 この記事は androidx をベースに書いてます。 compileSdkVersion 28 androidx.appcompat:appcompat:1.0.2 簡潔に説明するため、一部のコードを省略しています。 次のコードのように Android Arch…

自分を変えられるのは自分しかいない

自分への戒めの日記。採用と自分の将来について。 数十年の時間を経て形成される人格は、自分自身が強い意志を持って変えようとしない限り、そう簡単に変わらない こんな考えが、自分の中にある。 採用 自分以外の人とのフィーリングが極端に合わなかったら…

相談してよかったと感じる、相談にのる側の姿

ヒトは不完全な生き物で、だからこそ集団を形成し支え合って生きる生き物だ。 支え合って生きるために、時には、ヒトがヒトに対して、自身が考え持つネガティブな思考を共有し、解決方法を導き出すこともある。 ヒトはそれを「相d ... やめやめ 狙ったような…

Dagger によって Fragment に注入されるオブジェクトを Fragment.setUserVisibleHint の中で使う場合の注意

次のようなコードがあったとして、 class FooFragment : Fragment() { @Inject lateinit var bar: Bar override fun onAttach(context: Context) { AndroidSupportInjection.inject(this) super.onAttach(context) } override fun setUserVisibleHint(isVisi…

未婚の自分が「エンジニアとデザイナの夫婦 FM」 第 1 , 2 回目を聴いて

聴きながら感想を書きなぐろう パパエンジニアが日々どうやって家族と過ごしたり、仕事したり、子育てしたり、技術を磨いたりしてるのかなー知りたいなーってところから、そんなpodcastないなーってところで勢いでやってみました。 note.mu note.mu こうして…

セカンドキャリア

将来、何をしているのかわからない自分が「昔はこういうときがあったなあ」と、 過去を思い返してほしいがために、最近の心境を将来の自分へ向けて残しておく。 この業界に入りソフトウェアエンジニア職になってから丸6年が経とうとしています。 ノルマ未達…

Flutter Meetup Tokyo ♯1 で LT した

Flutter Meetup Tokyo #1 - connpass で LT した LT 要約 Flutter 公式ドキュメント の充実度が高い 豊富なサンプルコード コードレシピ集の Cookbook / flutter.io がよい これから Flutter を始める人は Cookbook を片手に始めてみるのがよいとおもった sp…

DroidKaigi 2018 スポンサー担当と撮影担当の舞台裏と心境

2018/02/08-09 に開催された DroidKaigi 2018 に、スタッフとして参加していた。 役割は、スポンサー担当と撮影担当。その舞台裏を記していこうと思う。 droidkaigi.jp スポンサー担当 時はさかのぼり 2017/05 。 DroidKaigi 2018 の第 1 回目 MTG が開催さ…

拡張関数の定義先ファイルのパッケージ

例えば android.content.res.Resources に対して次のような拡張関数を生やすとして、 fun Resources.isLandscape() = configuration.orientation == Configuration.ORIENTATION_LANDSCAPE 拡張関数の定義先を com.sample.app.extensions パッケージ配下に作…

com.google.gms:oss-licenses を使ってオープンソースライセンスを表示する

ライブラリのライセンス管理・表示を簡単に行えるツールが Google Play サービス 11.2.0 から含まれるようになり、とりあえず表示するだけなら非常に簡単だったので、導入方法と注意点を残します。 https://developers.google.com/android/guides/opensource…

MVP + Clean Architecture における DI 設計の一案

MVP + Clean Architecture っぽいプロジェクトで各レイヤーの依存関係を、 DI コンテナである dagger2 で表現する一案の備忘録。 結論 クラス数が多くなる。あまり現実的じゃない。 結局 ViewLayer から見れば、注入オブジェクトたちを ApplicationComponent…

スタートアップ企業に移って 5 ヶ月目の備忘録

以前の現場 大企業のモバイル開発グループの技術基盤 Android チーム 在籍期間は約 2 年半 現在の現場 スタートアップ企業の Android アプリ開発チーム アプリは正式リリースからまだ 1 年も経過していない 在籍期間 5 ヶ月目に入った スタートアップ企業に…

Dagger2 メモ

n 個の @Component から 1 個のインスタンスに inject 不可 public class Main { @Inject Red red; @Inject Blue blue; public Main() { DaggerBlueComponent.builder().blueModule(new BlueComponent.BlueModule()).build().inject(this); DaggerRedCompone…

Android で複数非同期処理のシーケンス制御をライブラリに依存せず Pure Java で実装しなければならない場合の一案

もし、 Android 開発において、ライブラリに依存せず Pure Java を前提とし、複数の非同期処理をシーケンス制御する必要が出てきた場合に、どう解決すればよいか、の問題に対する一案を残した記録文章です。 背景 直近の仕事で、 Android 向け社内ライブラリ…

DroidKaigi 2017 で良いキッカケを

@sho5nn です。 DroidKaigi 2017 運営メンバーの一人として、協賛企業さんへの連絡や調整などを担当しています。 DroidKaigi は今回で 3 回目の開催。 僕は 1 回目は一般参加者として、2, 3 回目は運営メンバーとして参加しています。この記事では、運営メン…