2021年11月21日日曜日
あっかっるーいナッショナール♫
2021年11月13日土曜日
JOG 3KJ フロントフォークブーツ交換
2021年9月19日日曜日
落ちたら死ぬ
2021年8月19日木曜日
Python で Android アプリ開発 (もどきに戻る)
今までのあらすじ:
・Android で Python/kivy スクリプトを動かしたい
・スクリプトを実行するためには Pydroid 3 起動,スクリプトをエディタで開く,実行 の 3ステップが必要でめんどい
・apk 化したら起動は楽だがスクリプトの利点が削がれる ←いまここ
で Github を色々探してみると,Kivy-Launcher というアプリ発見.これは Python スクリプトのリストを表示して,選択・実行できる.これも Python/kivy/buildozer で実現されており,ということはこの環境でストレージ上の Python スクリプトを実行する手段はあるということ.
次に,buildozer でビルドしたアプリに暗黙的インテント (Windows で言うところの拡張子関連付けみたいな情報をアプリ側に持たせる) を追加する手段があるか探してみたところ,あったよ... この時点で勝利を確信ヽ(´ー`)ノ
というわけで以下を実施.
・Kivy-Launcher を fork
・暗黙的インテントを追加
・起動直後のインテント解析等を行う python スクリプト (main.py) は,このままだと apk に内蔵されてしまい修正がめんどくさいので,main.py から SD カード上の main.py を呼ぶように修正し,起動後のスタートアップ処理は後者で処理する
適当なアプリで Python スクリプトへのショートカットを作り,これをタップするだけでスクリプト起動した.
更に main.py を SD カード上に置いたことにより色々やりやすくなり,例えば標準だと Python のエラーメッセージは adb logcat でしか見れない (PC と 要 USB 接続) が,main.py で try~exception でエラーをキャッチしてメッセージを画面上に表示することで,スマフォ単体でエラーが確認できるとか,色々改良しやすい.
やっとことさ理想の環境を手に入れたよヽ(´ー`)ノ
2021年8月18日水曜日
Python で Android アプリ開発 (もどきではない)
前回の記事で「Python + kivy で普通の Android アプリも開発できそう」と書いたけど,自分が知らなかっただけで,それは割と普通のことらしい.つまり Python スクリプトを apk 化する buildozer なるツールもあって,これを使えば Python スクリプト起動の手間の問題は解決する.ただ自分が Python を使いたいのはそういう apk ビルドの手間・ビルド環境の構築を省きたいからであって,ちょこっとスクリプトを修正して実行確認,みたいに手軽にやりたい.
ここで,Github Actions を使えば手間は減らせるんじゃね? 思った.Python 開発・デバッグは PC 上で行い,完了したらどのみち Github には push するので,それをトリガに Github に自動で apk ビルドをさせると.
というわけでやってみた.
・.github/workflows/build.yml をここからもらってくる
・buildozer.spec をここからもらってくる
・上記を適当に修正する
・SD カードアクセス等の,必要なパーミッションを追加する
・git push する
たったこれだけで出来たヽ(´ー`)ノ 普通の apk と何ら変わりなくインストール・起動も出来て,動作は apk 化する前と全く同じ.
普通の Android アプリを Java で書くのは色々めんどくさいけど Python + kivy はほんとにお手軽で書きやすい.しかもこれだけの労力・学習コストで「俺 Android アプリ作って公開してるんだぜ(ドヤァ」って言えるのはすごいwww
これからは特に問題ない限り,Android アプリは Python + kivy で開発しようと思った.
2021年8月15日日曜日
Python で Android アプリ開発もどき
出先で Android で GPS ログフォーマットを変換したい.処理的に大したことなくまた PC でも使いたいので perl とかで書きたいが,問題はスクリプト起動時に Android でコマンドライン入力するのは地獄.
なのでファイル選択やオプション選択などを GUI で操作したいが,そんな事ができる Android アプリがないか探してみたところ,Pydroid 3 というアプリ発見.
基本的には Python 実行環境だが,kivy という GUI を構築できるフレームワーク(?) が内蔵されていて,これを使って簡単な GUI アプリが構築できる.
というわけで作ってみた.→GitHub
画面の要素としてはファイル選択とリストボックス,ボタンと簡易.見た目はしょぼいが実用性は十分.Python + kivy 自体はそこそこ実用的で,Android ハードにバリバリアクセスするようなアプリでなければ普通のアプリでも開発できてしまうと思う.
あと,kivy 自体はクロスプラットフォームなので,全部 PC 上で開発・デバッグ後 Andoid で運用する,等もできるので,開発効率はよい.
ただ残念なのは,例えばホーム画面に Python スクリプトのショートカットを置いて直接スクリプトを起動できれば,使い勝手的に普通の Android アプリと遜色ないのだが,残念ながらそれができない.いちいち Pydroid 開いてスクリプトをエディタで open して run しないといけない.うーん,ここだけがほんとに残念.
2021年7月30日金曜日
真夏の早朝ツーリング実験
バッテリー固定ファイナル
2021年7月14日水曜日
Android TV STB で遊んでみる
2021年6月20日日曜日
我が半生の記録 (デジタル版)
2021年6月15日火曜日
ラクテンモヴァーイル!!
日本のスマホ代は高すぎる!
事実,100% もの俺が (ビリビリ!) 0円まで下げてほしいと思ってる.
0sim (500MB までタダ) が生きていた去年までは,Fusion IP phone SMART (通話,基本料タダ) + 0sim (データ通信) で 0円運用できていたが,0sim が終了して以来,仕方なく LinksMate のデータ sim を契約していた.
で,楽天モバイルが 1GB までタダ,通話・SMS もタダと言う衝撃的なプランを発表したので,これなら 0円運用に何の問題もないって思うよね?
あるの!
・楽天自社回線 (Band3) のエリア.都市部以外は非常に怪しく,都市部であっても建物内はたいていアウト.最近はスマホ QR 決済を多用するので通信遮断は非常にきつい.
・今のスマフォ Redmi Note 8 Pro は au 回線 (Band18) を拾わない.それに楽天回線のカバー率が上がれば au ローミングが終了してしまうので,Band18 目当てで今機種変するのは得策とは言えない.
で考えた結果,しばらくは楽天モバイル + LinksMate の DualSim 運用で行くことにした.
・LinksMate は楽天エリア外でのバックアップ用に残す.なんだかんだ言ってもドコモ回線のエリアが最強.
・キャリア問わず,データ回線が繋がっていれば楽天 Link は使用できるので,無料通話の恩恵は受けられる.
で,この目的での LinksMate は非常に使い勝手が良くて,
(1) データプランが月単位で自由 & 無料で変更できるので,楽天回線の拡大に合わせて安いデータプランに変えられる
(2) 残ったデータ容量は翌月まで繰り越せる
(3) 最低 ¥165 (100MB) なので,これならほとんど使わなくてもキープしておいていいと思える値段
(4) (1), (2) のあわせ技で,月平均 1GB 消費すると仮定すると,一月ごとに 2GB, 100MB のプランに交互に切り替えることによって,1.05GB/¥292 で運用できる.調べた限りこれ最安じゃないかな.