nashcft's blog

時々何か書く。

2020年振り返り

去年もやってたし今年も。 転職 nashcft.hatenablog.com 前職を辞めた理由の9割は前職全く関係ないし、残りの1割も (会社側にとって) 殆どとばっちりのようなものなので、大変な時期に突然辞めるねってなってしまったことは申し訳なく思う。一方転職後は割と…

Material Components for Android: ボタンテキストの色

前提として以下の記事がある: y-anz-m.blogspot.com 大雑把にまとめると Material Components for Android を 1.0.0 から 1.1.0 に上げたら AlertDialog のナビゲーションボタンの文字色が変わってて、コードを比較したらデフォルトカラーの参照先が colorAc…

Cast SDK の KTX ライブラリを作っている

github.com 夏頃から社のアプリの Cast 機能まわりを触り始めてて、しばらくして本格的に機能開発に関わるようになったところで一旦きちんとAPIさらっておくかーと思ったのと、ついでに Kotlin サポート欲しいけどすぐ出てこなそうだから自分で作るかーって…

FlexiSpot 買って組んだログ

引越したのでデスクを新調した。会社では okamura の Swift を使っていて体験がとても良く、自宅にもスタンディングデスクを導入したいと思っていたのでこれを機に FlexiSpot E3 を購入。天板はかなでもののラバーウッドにした。 完成後に適当にものを配置し…

Android Studio 4.2 から組み込まれる JDK のバージョンが 11 になるっぽい

現在最新の 4.2 Canary 13 で以下のようになっている。 Android Studio 4.2 Canary 13 の "About Android Studio" のキャプチャ 前回書いた記事では当時の最新バージョンに組み込まれていたのが JDK 8 だったっぽいのと、手元にある記録からすると Canary 8 …

CircleCI の Android Docker Image でJDKが11にアップデートされた件のまとめ

私は今回の件より前から CircleCI を使っておらず、最近は主に GitHub Actions でCIを構築していてこの件で被害は被っていないのだけど、軽く調べてみたところ Android project を JDK 9+ でビルドすることに強い興味をを持っている自分には結構興味深いこと…

Android Gradle Plugin 4.1.0 から library module の BuildConfig に VERSION_CODE と VERSION_NAME が生えなくなりそう (なった)

Android Gradle Plugin 4.0.0 までは library module にも生えていた BuildConfig.VERSION_CODE と BuildConfig.VERSION_NAME が 4.1.0-alpha05 から生えなくなってた issuetracker: https://issuetracker.google.com/issues/154275579 Library module にと…

CircleCI to GitHub Actions 移行日記

追記 (2020-06-13) この件その後ログを精査してみたら、メモリの問題じゃなくて実行しているテストの1つにあった非同期処理の実装がまずくて処理が迷子になったまま帰ってこないのが原因だった。 追記終わり 職場の Android アプリのCIに CircleCI を使って…

Groupie に View Binding サポートが追加された

先月出してた groupie-viewbinding を追加する pull request が今日 merge された。 github.com 早速これの入った v2.8.0 のリリースもされた模様。 Release v2.8.0 · lisawray/groupie · GitHub ものとしては groupie-databinding ほとんどそのままという感…

******

From: CyberAgent (2019/03~2020/03) To: U-NEXT (2020/03~) 出戻りです。 CyberAgent では Android アプリの開発をしたり Bitrise で CI を良い感じにしたり GitHub Actions で CI を良い感じにしたりしていました。U-NEXTでも引き続き Android アプリの開…

Android: Data Binding 3.6.0 から ViewDataBinding の定義が変わった

今日 Android Studio 3.6.0 stable がリリースされた。 android-developers.googleblog.com 3.6 から導入された機能の一つに view binding という、data binding の layout 中の要素にアクセスする機能だけを抜き出したようなものがある。 developer.android…

DroidKaigi 2020 アプリ開発 contribute の思い出

私が Android アプリ開発に携わるようになったのが2017年後半からで、それから迎えた DroidKaigi は 2018, 2019, 2020 と今年で3度目になる。今年は残念ながら中止になってしまった*1けど、自分にとっては公式アプリに初めて contribute した年でもあるので…

bitrise.io における workflow の差分管理

昨年末に Bitrise Advent Calendar 2019 を眺めてたら、以下の記事で bitrise.io 上で bitrise.yml の差分管理ができるって書いてあって、気になって調べてみた話。 qiita.com 記事には差分管理の機構について紹介がなかったので、"bitrise yml diff" とか "…

2019年振り返り

記録として 転職した nashcft.hatenablog.com Twitter でみるような人たちと面白おかしく Android アプリ開発をやっている。 一つだけ悩みを挙げるとするなら、前職では途中からフルフレックス制になって、電車の混雑を避けるために11~12時出勤みたいなこと…

Android: アプリからメールアプリを開く時の Intent の設定とメールアプリの挙動について

以下の tweet に関する話。 アプリからメール作成しようとした時に URI 指定すると Gmail では件名と本文が消えてしまう?— nash (@nashcft) December 26, 2019 ACTION_SENDTO の Intent の食べ方が Gmail と Outlook で違うのなんなの...— nash (@nashcft) D…

Bitrise で Android instrumentation test を実行させるための調査メモ

最近 Android アプリの instrumentation test を実行する workflow を構築する機会があったので、そのために当たった情報やついでに気になって調べたことなどを覚書も兼ねて記事にすることにした。 目次 Steps Virtual Device Testing for Android で instru…

Deploy to Bitrise.io で生成した artifact のインストールページの QR code を作る

社内に需要があったので 調べればこれについて言及のある記事がいくつも出てくるけど、だいたいが一連のビルドフローに関する解説記事の一部で触れられているという感じで目的の情報に辿り着くのが手間な状況なので QR code だけにフォーカスした記事を作ろ…

Bitrise Test Reports について調べてみた記録

先週 Bitrise の build log に "Test Reports" って項目が増えてて、JUnit とかのテスト結果をアップロードしたらGUIでいい感じにみられるようにしてくれる機能が追加されたことを知った。公式のドキュメントを読んだ感じだと Bitrise から提供されてるいく…

Bitrise: Repository で bitrise.yml を管理している場合の Bitrise Start Build による workflow の並列実行を行う

Bitrise は基本的に1つのトリガーに対して1つの workflow しか実行させられないが、 Bitrise Start Build という step を用いることで、複数の workflow を並列に実行できるようになっている。以下では主に GitHub などの repository で bitrise.yml を管理…

Android で unidirectional data flow で設計することについてのメモ

Android と Flux とか unidirectional data flow とよばれるものの関係についてかんがえていることのメモ書きのために自分の過去の tweet をまとめる場所 “UseCase: similar to a Redux reducer, it creates a new state (or one or more actions to create …

******

From: U-NEXT (2016/05~2019/02) To: CyberAgent (2019/03~) 2/15が最終出社日でした。 U-NEXTのみなさまには大変お世話になりました。火曜に退職決まって金曜に最終出社という唐突ムーヴ失礼しました。タイミングが良かったんです。結局挨拶もそこそこみた…

DroidKaigi 2019 感想

DroidKaigi 2019 に参加してきた。 droidkaigi.jp セッションのノートとかは Scrapbox にまとめてある。これを書いている時点でまとめきれていないものがあって #WIP ってついてるのがそれ。 scrapbox.io 感想 聴いたセッションで特に印象的だったもの Deep …

Redux に関する昨日の出来事

前提: 当時の私の Redux に対する認識や知識 Flux: MVC, MVP, MVVM などと同じレイヤーで扱われるアーキテクチャパターン Redux: Flux を実現するための具体的な実装、ライブラリ つまり https://github.com/reduxjs/redux のこと Flux については 2014年末…

Kotlin Android Extensions の view binding に関する知識の整理

Kotlin Android Extensions の解説記事、Kotlin のリファレンスとか英語ソースだったらよくまとまってるのがあるけど日本語ソースだとあんまりいい感じのないなーという印象なので自分でまとめてみる。ただし view binding の方だけ。英語が読めるなら以下の…

Ergo42 を買った

動機と購入までの経緯 一昨年前くらいに購入した ErgoDox EZ がチャタリングを起こすようになったのと、 ErgoDox の形状に100%満足していたわけではないので別のも試してみるかーと思って探してみたけど近頃の流行りは自作で電子工作力も道具もない私にはち…

最近もやもや考えてる事

DroidKaigi 2018 が終わり続く三連休も過ぎ去って体調が低空飛行なりに業務に復帰しつつ考えてる事: スプリント期間の短縮をしたい 今のチームというか会社では全体的に1スプリント2週間で回しているのだけど、土日を挟む事で勢いがリセットされてしまって2…

年明けから今日まで

継続的に文章を書くという試みとはなんだったのかという様子ですね。とりあえず年が明けてからのことを書きます。 1月上旬〜中旬 年末年始休暇が終わっていきなり気分が沈み始め、業務の進捗も出なかったことが追い打ちになって完全に精神が終了していました…

Kotlin で『テスト駆動開発』を進める

記事のまとめ Part I 1~4章 5~7章 8~11章 12~13章 14~16章 Part II まだ

Kotlin で『テスト駆動開発』を進める (第14章 - 第16章)

前回 さて Kotlin で『テスト駆動開発』を写経するシリーズも Part I が今回で終わるので一区切りとなる。前回で書籍のコードから設計方針を転換しているので、1つ1つのタスクに対してどのように方針を立て実装していくか、きちんと過程を残すように書きたい…

Kotlin で『テスト駆動開発』を進める (第12章 - 第13章)

前回 前回までは通貨を表すクラスをシンプルにしていくタスクが中心だったが、今回からやっと本題である通貨の足し算に手を着け始める。 現在のコード: MoneyTest.kt class MoneyTest { @Test fun testMultiplication() { val five = dollar(5) assertEquals…