くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

setting.gradle に追記することで特定のフォルダに入っているmoduleを一括でターゲットにする様にした

Gradle 芸でモジュール数が増えても記述が多くならない様にして見ました。 feature/data の名前でモジュールをフォルダ分けしてたりするので複数のフォルダを見たいときでもいい感じになる様にしてみました。 ['feature', "data"] .asList() .each { folderN…

Fragment で Snackbar を表示させるHelperメソッドを書いた。

暗記とか苦手なので書く。 重要なのは、 android.R.id.content で Activity の乗ってる View を取ってきてそこに表示してる fun Fragment.showSnackbar( text: String, @BaseTransientBottomBar.Duration length: Int = Snackbar.LENGTH_SHORT ) { Snackbar.…

Gson で List<*> なクラスをJsonからパースするときにシュッと処理してくれる拡張関数を書いた。

ソリューションはあるけど、拡張関数でシュッと解決してくれるものがググっても出てこなかったので書きました。 ソースコード inline fun <reified T> Gson.fromJson( json: String ): T { return this.fromJson( json, object : TypeToken<T>() {}.type ) } 一番シュッと</t></reified>…

横に長くて解像度の良いディスプレイを買った。MacBook Pro の外部ディスプレイとして使ってます。 LCD-GCWQ341XDB

横に長くて解像度の良いディスプレイを書いました。 買ったやつの特徴 横に広い 解像度が高い USB-C に対応してる HDMI に対応してる リモコン付き Amazonで翌日に届く 一応、ゲーミングとか色がなんちゃらとか書いてありますが興味なのでどうでもいいです。…

Android アプリでOS組み込みの音声合成エンジンを使ってTextToSpeechを行う

この前ハッカソンで Android アプリでOS組み込みの音声合成エンジンを使って TextToSpeechを実装してたのでその時の知見を共有します。 実装方法 1. AndroidFramework に含まれている TextToSpeech Class を利用するだけです。 developer.android.com 2. ラ…

Android 10 から導入された Settings Panels を使ってみた。仕組みも少し見てみた。

Android 10 から設定画面をユーザーアプリが起動しているときに画面を遷移せずに表示することができるようになっています。 今回はこちらようにアプリ内に設定画面の一部を表示してみたいと思います。 ここでは、設定アプリの一部を表示と書きましたが、正確…

Android 端末で Suica に触れたときにアプリが起動してUIDを読み取れるようにする

この記事を開いた皆さんは、タイトルのように Android 端末で Suica に触れたときにアプリが起動してUIDを読み取ろうとしている奇特な人だと思います。 NfcAdapter と言うクラスを利用することであれこれをお任せすることができます。 ここで重要になってく…

Androidx の認証用ライブラリ, biometric を使ってみた。

重要な情報にユーザーがアクセスする前には生体認証なりを挟みたいことがよくあると思います。 そこで、今回rc01がリリースされたばかりの biometricを使って少し遊んでみました。ので、その記録を書いてみたいと思います。 実行結果 以下のように指紋認証等…

体重を計測したらTwitterに自分の体重を投稿するように設定する。

体重を計測したらTwitterに自分の体重を投稿したくなりませんか?私は一回だけなりました。 ということで今回は書いていきます。 使うもの withing の体重計(私は、 body cardio ってやつを使いました) Twitter IFTTT 実際のところIFTTTにwithing の体重計…

Gradle Custom Task with kotlin を実行するときに 引数を渡したり実行結果を読み取る。

Gradle Task に引数を渡す Gradle Task を実行するときに引数を渡したいときがあると思います。 build.gradle内で完結している場合には、以下のように lateinit var な変数を定義すれば値を渡すことができます。 lateinit var userName: String さて、build.…