ホーム画面のボタンを押すと、その時刻を記録するだけの Android ウィジェット。
薬を飲んだら押す。実験をしたら押す。水やりをしたら押す。 「前回いつやったか」「今日何回やったか」がすぐ分かる。
- ウィジェットが主役 — アプリを開かず、ホーム画面で押すだけ。ボタンはアプリアイコンと同じ大きさ
- 3 つの動作
- 押す — 押すたびに記録
- 交互 — 左右に倒すレバー。タップのたびに反対側へ倒れ、どちら側かも記録する(授乳の左右、湿布を貼る位置など)
- ON / OFF — ON のままにしておけるスイッチ。ON と OFF を別々に記録し、続いた時間も出す(実験の開始〜終了など)
- テーマ — 「壁紙なじみ」(Android が壁紙から選んだ色。ダークモードにも追従)と「ハンコ」
- マーク — オリジナルのピクトグラム 25 種か、短い文字をボタンに載せられる
- ボード — 1 つのウィジェットに最大 8 個のボタンを、ドラッグで好きな位置に置ける
- 押した手応え — 押した瞬間に絵が沈み、振動する。押した後は「✓ 23:07」と出る
- 記録は消えない — タップで記録が消えることはない。取り消しは履歴画面から自分で行う
- ハンコカレンダー — 記録した日に朱色のハンコが押されていく、ラジオ体操の出席カードのような月表示。 ハンコは 1 つずつ位置も角度も少し違う。ホーム画面にウィジェットとしても置ける
- 履歴と CSV — 日ごとの一覧、押し忘れの後追加、タイムゾーン付きの CSV 書き出し。書き出した CSV は読み込んで戻せる
- 日本語と英語 — 端末の言語に合わせて切り替わる(Android 13 以上はアプリごとに言語を選べる)
- ネットワークに接続しない。
INTERNET権限を持たず、APK のマニフェストで誰でも確かめられる - 権限は振動用の
VIBRATEだけ - 広告・解析・クラッシュ収集なし
- 記録は端末の中だけ。クラウドバックアップにも端末間移行にも含めない
詳しくは PRIVACY.md と docs/security.md。
Android 12 以上。
Releases から APK をダウンロードしてインストールする。Play ストアには出していない。
各リリースのノートに、署名証明書と APK の SHA-256 を載せている。確かめる場合:
apksigner verify --print-certs onebotan-x.y.z.apk # 証明書の SHA-256 がノートと一致すること
sha256sum onebotan-x.y.z.apk同じ鍵で署名された APK しか上書きインストールできない。 自分でビルドしたものと Releases のものを 入れ替えるにはアンインストールが必要で、そのとき記録は消える。先にメニューの「すべての記録を CSV に書き出す」で 書き出し、入れ直した後に「CSV から読み込む」で戻すこと(ボタンは名前ごとに作り直される。マークやテーマは 戻らないので設定し直す)。
- ホーム画面を長押し →「ウィジェット」→「ワンボタン」を置く
- 割り当てるボタンを選ぶか、新しく作る(名前・動作・形・マーク)
- 押すと記録される。ボタンの下の文字をタップすると履歴が開く
複数のボタンをまとめるときは「ワンボタン ボード」を置き、配置画面でボタンを追加してドラッグで並べる。 今月のハンコカレンダーを置くときは「ワンボタン カレンダー」を置いてボタンを選ぶ。
ウィジェットを長押しして「設定」(鉛筆)を選ぶと、そのボタンの履歴とカレンダーを開ける(Android 12 以上)。 ボードでは、配置画面でボタンをタップして選んでから開く。
アプリのメニューで、テーマ・ウィジェットの文字(時刻 / 名前 / なし)・背景・振動を変えられる。 履歴は、アプリの一覧でボタンのカードをタップしても開ける。カレンダーは履歴画面の上部から。
./gradlew testDebugUnitTest assembleDebugAGP 9.2 / Kotlin / compileSdk 37 / minSdk 31。Jetpack Compose は使っていない。 リリースビルドは R8 で縮小して約 2.5MB。
ボタンの絵は生成物(res/drawable/gen_*.xml、data/ThemeRes.kt、data/Pictogram.kt)。
ウィジェットは実行時に絵を塗り替えられないため、テーマごと・状態ごとの drawable を用意している。
変更は生成スクリプト側で行う(要 Python 3 と Pillow)。
python3 tools/gen_skins.py # ボタンの絵とピクトグラムを再生成
python3 tools/gen_icon.py # アプリアイコンを再生成
python3 tools/preview_themes.py out.png # 全テーマの見た目を PNG で確認
python3 tools/preview_icons.py out.png # ピクトグラム一覧を PNG で確認ピクトグラムとアイコンは tools/icons.py / tools/gen_icon.py で円・角丸四角・多角形から組み立てた
本プロジェクトのオリジナル。アイコンフォント・絵文字・他者の素材は使っていない。
リリースの手順は docs/release.md。

