言いたいことはそれだけか

KotlinとかAndroidとかが好きです。調べたことをメモします。٩( 'ω' )و

Android

Shared element transitionでリストの要素を並び替える

やりたいこと Fragmentを切り替えてReordering(要素を並び替え)する shared element transition の記事を見て楽しそうだったからやってみた。 medium.com 全く同じことをやっても楽しくないので、Fragment <-> Activityでやってみる。 できた いきなりだけ…

Android Frameworkのコードにbreakpointを止めるメモ

Android開発をしていると、Frameworkがどういう挙動をしているか調べたくなる時がある。そういう時はFrameworkのコードにbreakpointを置くんだけど、止まってくれたり止まらなかったりすることがあるので困っていた。 完全に理解した!と言いたいけど、ViewR…

StateListAnimatorを使ってXMLだけでAnimationをつける

こちらの記事を読んで「<selector> の中にobject animator埋め込めるの知らなかった!!すげー!!!!」となったので遊んでみたメモ。 android.jlelse.eu StateListAnimator AndroidにはStateListAnimatorというクラスがあって、Viewのdrawable stateによってAnimatio</selector>…

kotlin.concurrent.threadは新規threadが作成されるけどcurrent threadのgroupで動く

[2018.7.15 ご指摘いただき記事の最後に追記しました] あらまし 先日おもしろいTweetを見つけたのでちょっと調べてみたメモ。 別ActivityでUI操作の必要なマルチスレッド処理をしたいとき、runOnUiThreadを使わないとMarshmallowならクラッシュするけど、Ore…

RxTextView#textChanges()でdistinctUntilChangedする時にeventが流れない時がある

みんな大好きRxBinding1 ですが、ちょっとハマることがあったのでメモ。 RxTextView#textChanges() で EditText の入力イベントを監視する。その時に重複した入力をdistinctUntilChanged()で削ろうとしたら以降何もeventが流れない現象に遭遇した。 RxTextVi…

TransitionのShowcaseアプリを作って公開しました

はじめに 先日droid girls meetupに参加し、Animationのハンズオンを楽しんできた。 GoogleのオフィスでGooglerの方(Support libraryを作っている方)が講師というなんとも贅沢な回だった。 droidgirls.connpass.com そういえば業務でがっつりtransitionを…

Toolbarにセットしたheightが無視されるケース

まずはこちらのコード、どのような表示になるか考えながら読んでみてください。 (タイトルでネタバレしている気がするけど気にしないで!)

NestedScrollViewの中のRecyclerViewを配置すると要素全てメモリ上にallocateされて困った話

長いタイトルが全てを表していて、NestedScrollViewの中にRecyclerViewを配置した場合、要素全てメモリ上にallocateされて困った話。そのまんま。 こんな感じでNestedScrollViewの中にRecyclerViewを置いた場合 <NestedScrollView> <RelativeLayout> .... <RecyclerView /> </RelativeLayout> </NestedScrollView> 例えば30個RecyclerViewが表示すべ…

DroidKaigi公式アプリにRTL周りのPull Request出した時にやったことまとめ

DroidKaigiお疲れ様でした!公式アプリでRTL周りのPull Requestを出したので何をしたのか備忘録のメモを残しておきます。 Issue github.com Pull Request github.com やったこと Left / Right をgrepして適切なものに置き換え ConstraintLayout周りとかLint…

AndroidのMVIについて勉強した時のメモ

AndroidのMVIについて勉強した時のメモです。自分用のメモなので雑です。 MVIとは 「MVCを元にして、jsのreduxやreactの思想を取り入れた何か」のようなもの。リアクティブで関数型プログラミングを採用している。 MVCだとViewを操作するのがControllerかも…

[海外対応] AndroidのLocale周りまとめ [多言語対応]

はじめに 複数の国や地域、あるいは言語に対応する場合に避けられないMulti Locale対応ですが、Android Frameworkのバージョンによってできること・しなくてはならないことが変わって来ます。 各APIでの大きな変化を時系列でまとめてご紹介します。 また、実…

Kotlin 1.1以降をAndroidで安全に使いたかった話

はじめに この記事は「Kotlin 1.1以降をAndroidで安全に使いたかった話」です。本当は会社のAdvent Calendar向けに書くはずだったのですが、色々あってお蔵入りになったのでこちらで供養。 ちなみにこれはボツネタ第2弾で、第1弾はこちら。 muumuutech.haten…

小規模もくもく会運営についての知見とポエム

この記事は勉強会運営 Advent Calendar 2017の19日目の記事です adventar.org はじめに 会社でもくもく会を運営しているが今年はついに20回を超え、ありがたいことに他社からも「御社のもくもく会を パクリ 参考にしてうちでももくもく会はじめました 」と言…

Custom View を作るときに気をつけること

Custom Viewの背景画像を変えたいときにちょっとやらかしたのでメモる٩( 'ω' )و 何が起こったか Custom Viewを作って動的に背景画像を変えようとして切り替わらない(ように見える)現象に遭遇。 レイアウトファイルで指定していた背景をコードから動的に切…

KotlinとReduxをAndroidアプリに導入した話をしました。

先日自社のエンジニアイベントで「KotlinとReduxをAndroidに導入したら」という話をしてきました。質疑応答や懇親会でいろんな質問をいただいたのでここに残しておきます。 イベント 登壇したのはこちらのイベント。アプリだけでなくバックエンドやインフラ…

localeに繁體中文を設定してもvalues-zhが選択されない

今回もマニアックなトピックです。 タイトルの通り。ちょっと困ったので調べて見た。 何が起こったか 下記どちらかに当てはまる場合、 端末で繁體中文を言語設定で選択している アプリ独自のlocale設定でzh_HK(中国語-香港)を設定している res 下の values…

Kotlin初心者から抜け出したい?それなら、

Land of Lispを読んだらどうだろう。 (すみません。9割ネタです。) Land of Lisp作者: M.D. ConradBarski,Conrad Barski,川合史朗出版社/メーカー: オライリージャパン発売日: 2013/02/23メディア: 大型本購入: 1人 クリック: 18回この商品を含むブログ (1…

Dexopenerを使ってKotlinで書かれたfinalなclassをmockする話

[2017.7.27 追記あり] 4ヶ月以上前の話の続きです。下書きにずっと眠っていたのですが、諸事情により公開が遅くなってしまった… こちらの記事でAndroidでKotlinのmockつらい〜〜〜 って話をしたら、 muumuutech.hatenablog.com id:tmurakami さんがコメント…

Intentを使って複数枚画像を取得するときのメモ

Intentを使ってPhotoとかいい感じの(=ユーザが選択した)アプリから画像を選択したいときに、1枚なのか複数枚なのかで色々違うのでメモ。 複数枚画像を選択する場合 選択させるアプリを起動するとき ポイントは Intent.EXTRA_ALLOW_MULTIPLE のextraをtrue…

MediaStoreのThumbnailsの罠

先日参加したCA.apk #2 で前川さんが発表されていた「やさしい画像ギャラリー改善tips」がいい感じだったので、試してみた結果と気になった部分のメモ書きです。 発表の概要 画像ギャラリーを作る時に、MediaStore.Images.Media.EXTERNAL_CONTENT_URI だと画…

BottomNavigationViewのコード読んでみた

このエントリは先日参加した「まったりAndroid Framework Code Reading #5」の成果です٩( ‘ω’ )و Support LibraryのBottomNavigationViewのコード読んできたのでまとめるよ! mandroidfcr.connpass.com BottomNavigationViewとは Support Library 25.0.0から…

SearchViewの詰まったところ備忘録

久しぶりにSearchViewをさわると忘れているポイントが結構あったので、今更感がありますがメモ書きを残します。サンプルコードはKotlinです。 SearchViewをactionbarいっぱいに表示したい SearchViewをAction Barに配置するとデフォルトで左側に謎の余白がで…

DroidKaigi 2017で登壇しました

3月9日、10日と二日間に渡って開催されたDroid Kaigi 2017にスピーカーとして参加してきました。 私のトークテーマはパフォーマンス改善について。オーディエンスの対象を初心者から中級者としていたため、わかりやすく丁寧に伝えるように心掛けたのですが、…

Android + Kotlin + Mockito のメモ書き

Kotlin大好きで、Korlin最高だよって言いまくってるんですけど、Kotlinのつらみみたいな部分も残しておかないとフェアじゃないかなと思ったので残しておきます。 Instrument Testがつらい 実機だったりエミュレータ上で実行するAndroid Instrument Testがつ…

SnackbarでCustom Content を表示する

Support library revision25.1.0からSnackBarにCustom Contentを表示できるようになったらしいので試してみました٩( 'ω' )و 今回の変更概要 さて、release noteをよく読んでみましょう。 Snackbar has been refactored to allow apps to display custom cont…

Android/Kotlin関連の情報収集とか。

最近Android周りの情報をどうやって追っているか?について質問されることが何度かあったのでまとめました。自分向けに2016年末時点でのスナップショットも兼ねて。 Twitter 知り合いのエンジニアさんや勉強会であった方とTwitterで繋がる機会が多いせいか、…

Activity#getTitle()はActivity/Applicationのresourcesを使わない

このエントリは先日参加した「まったりAndroid Framework Code Reading #4」の成果です٩( 'ω’ )و mandroidfcr.connpass.com 知りたかったこと AppCompatActivity#setSupportActionBar()した時に、Frameworkのバグと思しき挙動を見つけてしまいました。 setす…

開発者オプションメニューの値は3rd partyのアプリから書き換えるのが難しい

[2016.10.19 追記しました] 前回の続きです。 Quick Settings にTileを表示するところまで実装したので、次はそのTileをタップした時に何か便利な挙動をするのを目指してみます。 具体的には下記の二つどちらかできたら便利だなぁと思って調べてみました。 …

Quick SettingsにCustom Tileを追加する

Android N からQuick Settingsに3rd Partyが好きな物を置けるようになりました。 これを使うと簡単にデバッグツール作れるのでは?と思ってやってみました٩( 'ω' )و 右下のやつ やりたかったこと Quick SettingsにTileを追加する Tileをタップした時に何か便…

Android N Easter Egg (neko) に見るアンチパターン

が70匹を超えたあたりから挙動がめちゃめちゃ重くなってきたAndroid N Easter Egg (neko) アプリ。 コードを読んで何が悪そうか調べてみました。 あくまで静的解析の結果なので検証してません。ごめんなさい。「ふーん」くらいに思ってください。ツッコミ大…