Android(FMX)上で作成したStringGridのデータを、Androidの内部(外部)に保存の仕方を教えてください


Hiisan  2019-12-19 22:09:27  No: 148397

いつも質問ばかりで、済みません。
[1]フォルダーの指定法  FolderX:/storage/sdcard0/andoroid/data/X.Dat
[2]stringgridをStringListに変換して、ここからが、不明
  (A)SL.savetoFile(FolderX):not such as Folder
       (B)他の方法
[3]FMXでは、RowS[ARow].Commatextは、ないのでしょうか
[4]Androidのdelphiで書かれた日本語でかかれた、書籍は、ないのでしょうか:Embaraの説明文を、コピーしています。
  Javaでの、書籍は、多々ありますが
以上 宜しくご指導願います。(超素人です)


take  URL  2019-12-20 09:22:34  No: 148398

番号が付いたところが質問なのかな?

[1] Andoridのパスの指定方法って直接指定できましたっけ?
System.IOUtils.TPath あたりから取得しないといけないような?

あとそのAndroid環境と実行ソフトにSDカードの書き込み許可があるかどうか確認を

[2] ファイルのパス+ファイル名さえAndroidの作法になっていればSaveToFileで書き込めるかと思います。

[3] FMXでは無いメソッドやプロパティもあるので自作するしかありません。
特にCommatext はかなり昔、使いにくかった思い出があるので作った方が幸せになれるかと思います。

[4] 無いですねぇ。Qiita あたりで同じように Delphi で Androidアプリを作っている人の情報が頼りかと

Delphi Community Edition でかんたんAndroidアプリをつくってみたよ!
https://qiita.com/maturi_tenna/items/899b0e8726dfc79da475


Hiisan  2019-12-20 21:50:08  No: 148399

takeさまヒントどうも有難うございました。
超素人につき、誠にお手数ですが、[1][2]を、具体的に説明していただけませんか。


Hiisan  2019-12-22 09:01:17  No: 148400

大分答えが、見えてきましたが、下記エラーがでます。
[設定]Project/Option/使用する権限/Dangerous/外部ストーレージの[読取][書込み]:true
[System.IOUtils.TPathGetSharedDownLoadsPath]からFolderX(/storage/emulated/0/download)を取得して
  Memo1.SaveToFile(FolderX+'/Memo1.Dat')とすると、[EF create Error:Permission denied」が出ます。
なおGetPublicPathは、read/writeとも、正常動作します。
[追加質問事項]FMX上から、[ADB]のコマンドを動作させる方法(BatFile使用して)
宜しくご指導願います。


take  2019-12-23 13:16:33  No: 148401

まずは内部ストレージに書き込めるのかを確認してからSDカードへの書き込みを試すほうが良いかと思います。

で、SDカードですが Android5ぐらいからSDカードへの書き込みは権限が必要です。
新しく入れたスマホアプリを起動したときに「このアプリがカメラを使おうとしています」とか
「SDカードにアクセスしようとしています」「許可しますか?」
って表示されることがありますが、あれをアプリ側から権限の確認とか作らないと書き込めません。

「PermissionRequestResult」とか「RequestPermissions」で検索するとサンプルソースが出てくるかと思いますので
それを参考にしてみて下さい。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加