Android

詳解MVIアーキテクチャ

Android Advent Calendar 2017の12日目の記事です。 この記事はMVIアーキテクチャの概要とその実装を紹介するものです。 概要については、MODEL-VIEW-INTENT ON ANDROIDからの抜粋で、実装についてはTODO-MVI-RxJavaをもとにしています。 概要 MVI is inspir…

KotlinにおけるJavaとの相互運用性を高めるための工夫

この記事はKotlin Advent Calendar 2017の6日目です。 KotlinはJavaとの相互運用性を重視していますが、JavaとKotlinは言語仕様的に異なる部分があり、Kotlinはその違いを吸収するために様々な工夫をしています。 この記事では、その工夫をいくつかピックア…

起動時に読み込まれるActivityを変更する際の注意点

AndroidアプリはAndroidManifest.xmlで起動Activityを設定しますが、既にリリース済みのアプリの起動Activityを変更すると、アップデートしたユーザーがアプリを起動できなくなる場合があります。若干ハマったので原因と対策をメモっておきます。 環境 Mac O…

Androidアプリを高速化しよう -ANR編-

はじめに Android Advent Calendar 2014の30日目の記事です。 25日目では目に見えないボトルネックを探す手法を紹介しましたが、今回はAndroidアプリケーション開発を行う上で避けては通れないANRとその対処法について書きます。 環境 この記事で紹介するソ…

Androidアプリを高速化しよう

はじめに Android Advent Calendar 2014の25日目の記事です。 Androidアプリの開発をしていたのがきっかけで彼女が出来たyuyakaidoです。昨日のkaneshinthさんの記事の冒頭にあるように僕はマルチスレッド初心者なので常にシングルスレッドで動作しています…

非rootなAndroid端末でHierarchy Viewerを使う方法

Android SDKにはUI Viewの階層を確認することが出来るHierarchy Viewerというツールが入っています。このツールはrootedな端末かエミュレータでないと動作しません。最近はrootedでなくとも動くというという記述をいくつか見つけましたが、自分の環境(Nexus…

Fragmentをネストする際の注意点

Fragmentが登場してからActivityに全てのコントローラーロジックが集約される悪夢から開放された訳ですが、公式リファレンスをちゃんと読まずに実装しているとハマりますよ、というお話。 そうそう、Fragment自体はHoneycombで登場しましたが、ネスト出来る…