くうと徒然なるままに

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

Bitmap を ByteArray に変換する拡張関数を書いた

fun Bitmap.toByteArray(): ByteArray { val buffer = ByteBuffer.allocate(this.byteCount) this.copyPixelsToBuffer(buffer) return buffer.array() }

Apple Watch で時計マウント・見下しから逃れられるので最高というお話。

最近言語化する機会があったのでメモっておく。 社会人の中ではたまに時計マウントに遭遇することがある。明示的ではないものの実質的に存在していることもある。 Apple Watch をつけることでそういう時計マウントから逃れられるって話だ。 ここでの時計マウ…

Android の Layout XML の <merge> タグについて

Android の layout ファイルでは <merge></merge> というタグを使うことができます。 この記事ではそのタグの使い方について書いていきたいと思います。 どのように使うのか レイアウトファイルのルートタグとして <merge></merge> を設置します。 そのタグの中に任意のタグを配置して使い…

mac で linux 互換の time コマンドを使う

mac で time コマンドを利用しようとしましたが、微妙にLinuxで使っていたものとは別のようでしたので同じものが使えないか調べてみました。 解決方法 gnu-time を brew install すれば良さそうでした。 具体的には以下のコマンドを実行してインストールしま…

Mac で Fish なユーザーが adb へのパスを設定する

以下の一文を ~/.config/fish/config.fish に追記するだけです。 いつも忘れるので書いた。 set PATH /Users/{ユーザー名}/Library/Android/sdk/platform-tools $PATH

Android での Wireless Debugging のやり方について

導入 Android 11 から Wireless Debugging が導入されました。 Android 11 以前のAndroid 端末でもできてはいたようですが Android 11 からは専用のUIが Developer option に実装され、かつ adb からも使いやすいコマンドが使えるようになったという認識をし…

特定のフォルダ以下にある特定の拡張子のファイルを列挙する

以下のコマンドを使えば良さそう find -E . -type f -regex ".*.hoge" kotin ファイルの場合 find -E . -type f -regex ".*.kt" java ファイルの場合 find -E . -type f -regex ".*.java"

WindowInsets を利用してキーボードを表示・非表示にしたり表示状態を取得したり

前提条件 Android 11 以降 何をするのか WindowInsets に追加された機能を組み合わせることでキーボードを表示・非表示にしたり現在の表示状態をコントロールして遊べそうだったので検証してみた記事です。 ソースコード 今回遊んだコードはこんな感じです。…

Android 11 でカスタムToast が非推奨になるようです。

Android 11 から カスタムToast が非推奨になるようです。 カスタムToast とは 一般的な Toast はテキストが画面の下部に一定時間表示されてユーザーに通知を送ることができる機能です。 by https://developer.android.com/guide/topics/ui/notifiers/toasts…

ContextThemeWrapper について

ContextThemeWrapperとは 任意のContextのThemeを上書きしたContextを作成することができるものです。 何ができるのか Viewの作成などを行う場合にContextThemeWrapper を使い作成したContextを渡すことで作成時点に指定した任意のThemeを利用してViewを作る…