読者です 読者をやめる 読者になる 読者になる

備忘録

備忘録

Androidで複数キーでソートする

Ⅰ. はじめに Java8で追加されたStream APIとComparatorを使ったソートはAndroid N (Android 7.0)以上でなければ動作しません。 Android N 以下の場合はlambdaで例外が発生しアプリが強制終了します。 Ⅱ. 使うライブラリ Lightweight-Stream-API を使います。…

Android 非同期処理を強制しない方法

Ⅰ. はじめに Android 3.0以降では ネットワーク処理をメインスレッドで行うと以下の例外を吐くようになりました。 java.net.SocketException: android.os.NetworkOnMainThreadException Ⅱ. 強制しない方法 以下をonCreateなどに追加するとメインスレッドでネ…

Android 5.x以降でアプリからProxy設定を変更する方法

Ⅰ. はじめに Android 4.xまではProxy Settings などの便利なアプリで簡単にProxy設定が出来ていました。 しかし、 Android 5.xからはセキュリティの為アプリからProxyの設定が出来なくなりました。 それを回避する方法です。(root権限必須) Ⅱ. やり方 Wi-F…

Android アプリ内課金を実装する

Ⅰ. はじめに 「課金してアプリ内に表示される広告を消す」 「課金してアプリ内の石を購入する」 などの実装方法です。継続課金(定期購入)については具体的に触れませんが、 この記事を一通り行った後公式ドキュメントを見れば簡単に実装できます。備忘録と…

Android 5.x PIE チェックを回避する

Ⅰ. 概要 Android 5.xからPIE以外の実行ファルが実行できなくなりました。 PIEのチェックは /system/bin/linker によって行われています。 セキュリティの強化の為に存在するチェックですが、邪魔な場合があるので回避方法についてのメモです。 また、制限さ…

(root only)Android 4.2以降で機内モードをON/OFFする

Android 4.2(Jelly Bean)以降、 アプリから機内モードの状態を変更させるには、 root権限でなければダメになったようです。root権限が行使出来る場合、以下のコマンドを叩けばOKです。 (Android 4.4.4 Kitkatで動作確認済み)機内モードON adb shell setting…