業務用端末 SUNMI V2 PRO / V2s を使用したレシート型名刺などを印刷するアプリです。
- 汎用印刷
- テキスト
- 画像
- QRコード
- NFC解析
- レイアウト印刷
- 印刷する内容をユーザーが組み立てられます
- 初期状態では名刺のレイアウトが用意されています
- GMSが有効な SUNMI V2 PRO または SUNMI V2s 1
- React Native 0.79.2
- Redux Saga
- SQLite(レイアウトと印刷データの保存)
yarn
yarn androidBiomeでJavaScript、TypeScript、JSONなどの対応ファイルを検査・整形します。
yarn lint
yarn lint-force- apk
android/app/build/outputs/apk/release/app-release.apk- 開発版向け
cd ./android
./gradlew assembleRelease- aab
android/app/build/outputs/bundle/release/app-release.aab- ストアリリース向け(予定なし)
cd ./android
./gradlew bundleRelease- PR を作成すると、Android apk (debug) のビルドが実行されます
- リリースタグをつけて push すると、リリースビルドが作られて、リリース処理および DeployGate に apk がアップロードされます
- タグ名に
-を含めると(v1.2.0-beta.1など)プレリリースとして公開します
- タグ名に
- GitHub Actions の Publish は手動実行(workflow_dispatch)もできます
- タグ名を入れると GitHub Releases を作ります。空のままなら DeployGate への配布と、実行結果からの apk ダウンロードのみです
- プレリリースにするかどうかを選べます(既定はリリース)
- リリースビルドもコミット済みの
debug.keystoreで署名します。ストア配布を想定していない野良アプリのためです
印刷する内容を レイアウト と 印刷データ に分けて管理します。
- レイアウト は印刷の体裁です。テキスト・画像・QRコード・列・区切り線・空白・印刷時刻の要素を並べて組み立てます。要素はドラッグで並べ替えられ、文字の大きさや寄せなどを個別に設定できます。
- 入力項目 はレイアウトのうち、印刷データごとに内容を変えたい箇所です。要素の「内容の決め方」で「印刷データごとに入力する」を選ぶと、入力項目を参照できます。
- 印刷データ は入力項目へ入れる値です。1つのレイアウトに複数の印刷データを紐付けられるので、同じ体裁で内容だけを変えて印刷できます。
レイアウトは複製・変更・削除でき、編集中に印刷イメージを確認できます。
画面ごとの操作は docs/usage.md にまとめています。アプリ内でも、ホーム右上の (i) から「このアプリについて」→「このアプリの使い方」で読めます。
- 画像は端末内のライブラリから選択可能です
- 事前に白黒加工をするのがおすすめです
- UI は洗練されていません
設計と実装の経緯は docs/plans/custom-layout-printing.md にまとめています。
- ビルド済みアプリは Releases にて apk を公開しています
- データ構造はバージョンにより修正・変更されます。開発版のため、データのマイグレーション処理はしていません。アンインストールしてから、インストールしてください。
- レイアウトと印刷データは SQLite に保存します。スキーマの変更は
src/database/migrations/に追加します。
- CI
- ストアでの公開?
MIT
Footnotes
-
作者未確認ですが V2 や V1s でも動作するようです ↩
