Android

ContentResolverでページングする

滅多なことでもない限りContentResolverを使った処理でページングする必要性なんてないでしょうが、滅多なことがあったので書きました。 fun get(page: Page): Pair<Items, Page> { val items = mutebleListOf() val hasNext: Boolean contentResolver.query( HogeHoge.CO</items,>…

Androidで手動でDIして遊んだ

なんかちょっと作ってるAndroidアプリがDIコンテナ使うほどの規模じゃないんですけどDIはしたいって感じだったのでこんな感じで遊んだよまる 遊んだ言うてそんな面白いことはしてません。 object Dependencies { inline fun <reified T> AppCompatActivity.inject(varar</reified>…

雑に見るKoinの内部実装

この間諸用があってKoinの内部実装を見ないと親友のセリヌンティウスが邪智暴虐の王ディオニスに処刑されちゃう運びだったのでKoinをのぞいて見ました。 みなさんのアプリはみなさんの子供です。そこに出どころのわからない謎の物体(オブジェクト)が注入さ…

Yo, Yo, 俺らVector xml手書き部

この記事はAndroid 初心者向け Advent Calendar 2019の15日目の記事として登録させていただいています。寝なければまだ今日なのでセーフです。 プロローグ さて、みなさんはAndroidアプリのリソースになにを使用していますか?pngですか?pngですよね。そう…

[お気持ち] Androidアプリのデザインは組み合わせ最適化の問題ではなく解釈の問題だと2019年末頃の僕は思っていました。

前回、[お気持ち] Androidアプリでtoolbarって気軽に置くものじゃない気がしてきた - ハヤシライスに入ってるマッシュルームが好きに続いてデザインへのお気持ちエントリです。 デザイン無知無知マンの僕がイキり散らすので不快だったらごめんなさい。 個人…

[お気持ち] Androidアプリでtoolbarって気軽に置くものじゃない気がしてきた

タイトルの通りです。 Android StudioでNew ProjectしてEmpty Activityを選んでもtoolbarはついてきます。Emptyじゃないじゃん。 そんな印象が関係しているかどうかはわかんないですが、個人でアプリ作る時にも僕は割とまずtoolbarを置いて、そこからコンテ…

Danger「Unused import」僕「ウザ!ww」

CIでktlintCheckを実行してからその結果をDangerでコメントさせていたのですが、報告するだけじゃなくてお前が直してくれという気持ちになったのでCIに修正させようという少年少女の物語である。 背景 Dangerでlintの結果をコメントさせると、unusaed import…

AndroidアプリのCIをGitHub Actionsに移行した話他

個人で作っているAndroidアプリのCIをBitriseからGitHub Actionsに乗り換えた話などをしていきます。 GitHub Actionsで使ってるyamlはこんな感じです。 name: Android CI on: [pull_request] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/ch…

出会って即注入!〜Koinのsingleを一瞬でインスタンス生成する裏技に専門家も驚きを隠せない!?〜

男には泣いていい瞬間が3つある ひとつ目は 生まれたとき ふたつ目は 大切な人を失ったとき みっつ目はTokyo 7th シスターズ EPISODE.1.0-001、Episode.KARAKURI、EPISODE.3.0-014、EPISODE.4.0 AXiS 12話、13話を見たとき、Koinでsingle { Hoge() }したク…

mHogeHugaをhogeHugaにしたいよね

何番煎じか分かりませんがmHogeHugaみたいなあれを正規表現で一発で直したいなあと 正規表現で置換できるIDEなどで ([^A-Za-z0-9,\n])m([A-Z]) -> $1\l$2 でいけそう。 でかいプロジェクトで一括でやったら挙動は予想通りでしたがmContextがcontextになって…

AndroidでViewをくるっと裏返す【ワクワクさん】

Gmailアプリなんかでよく見るくるっと裏返るViewを実装していこうという回です。 Aと書いてある丸いViewが裏返ってます どうやったか コードを示す前に簡単な指針を説明したいと思います。 裏返る前のViewと裏返った後のViewを同じ位置に用意する 裏返る前の…

RecyclerView.ItemDecorationの表示、非表示をスクロール状態によって切り替える回

はじめに RecyclerView.ItemDecorationを表示するかどうか、スクロールの状態によって切り替えたかったというお話です。 僕がDroidKaigi 2019の公式アプリのissueと、それに対して僕が提出したプルリクに基づく投稿です。*1 *2 やりたかったこと 具体的なiss…

Extended FABを作る回

前回のブログに続きMaterial Components for Androidのお話です。 material.ioを参考にUIデザインをしてると意外と自力で作らなきゃいけない部品とかが出てくるので、作ってみようと。 やりたかったこと 下のリンクに出てくるExtended FAB (= アイコン以外に…

Material Components for Android、Chipに色をつけたりしてみる

これに色をつけてみたかったお話 やりたかったこと ChipのChoiceモード (選択が可能なモード)において、選択されてる項目にだけ色をつけたかった。 何が問題だったか 最初はxmlの属性から一発指定するだけでいけるべえと思ってたけどどうやらそううまくは行…