Androidとkivyとcamera
![イメージ](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguz58GeCl2E8b-eMtRZe2qtnq69Gs8uqTMtM7eVKfMzoq-ygNJ99mW6hyx8MpRJbePClsfXi3VF-8Dg9_btrOBA8I0eQUtNmzeurl1rNBsoYLb_sCdq_tME3pG0roHD1olCSSSyuA3UOL0C9MaJP9IhewAwOSZOn27PrDYWDGqQIx746OTp37VLGsVFWQg/s1600/OIP%20(1).jpg)
なんかスマホアプリ作るならカメラ使えるべきだろうと公式サンプルを動かす事にした 記述 2023年10月24日 変更 2023年11月10日 出力画像へのアクセス方法 Camera Example — Kivy 2.2.1 documentation まあ覚悟はしてたけどすんなりは動かなかった Androidで動かすにはPermission要求が必要 apk作成にbuildozerを使用しているが記述ルールが不明で辛い ググって多種多様な話を纏めてトライ&エラー 正解はUserGroupやDiscordに参加なんだろうと思う 英語の出来ないオツムなのが悪いので苦労するのは仕方ない 結果としてbuildozer.specとmain.pyの両方でPermission要求する事で動いた 本当に正しいかは判らない 動くには動いたがサンプルの画像みたいに画像は最大化されないし向きは縦横合ってない サンプルはmacっぽいのでmacなら正常動作するのか? 面白い事にWindowsSubsystemForAndroidの方は正常動作 保存した画像がappフォルダ直下でユーザーが触れないのはサンプルだからで済ます所か 動きさえすれば後はパラメータ指定すれば良いのだろうからひとまずOK adb shellでデバイスに接続してrun-asコマンドでファイル操作ができる 遥か昔にAndroidアプリを作ってみた時に使った気がする 昔過ぎて忘れてた appフォルダ直下は不便すぎるのでユーザーが触れるフォルダにしようとしたらまたひと悶着 ユーザーフォルダを取得する方法が判らない とりまplyerを使えば取れるのは確認済なのだがサンプルを大げさにしたくなかったのでハードコーディング camera.export_to_png("/storage/emulated/0/DCIM/""IMG_{}.png".format(timestr)) 共有フォルダの取得はp4aのドキュメントに書いてあった https://python-for-android.readthedocs.io/en/latest/apis/ from android.storage import primary_external_storage_path primary_ext_storage