assets data controller by Flutter

こんにちはEveryDaySoft代表の永田です。

最近は21時-4時ぐらいに睡眠をとり、その後運動して、プログラミングの研究、仕事、就寝というようなライフサイクルです。

今回はFlutterにおける内部ストレージの書き込みは主にtext系の情報が多かったので、bytedataにすると画像、音楽、動画でも活用できますので共有させていただきました。

久しぶりにiOSのSwiftコードを確認したのですが、chatgpt4を利用してすぐに対応できました。

Flutterのデータ書き込み機能を利用して、asstes内にあるデータを

iOS,Androidで使用するサンプルを作成しました。demo動画あり。

https://github.com/DaisukeNagata/method_music

Package

https://pub.dev/packages/path_provider

Flutter pub getを実施てください。

rootBundle.load でasstes内にあるデータをbyteDataにします。

fileのディレクトリパスを作成して、その中にbytedataを書き込みます。

getApplicationSupportDirectory() を使用すると、内部ストレージに保管できます。

https://github.com/DaisukeNagata/method_music/blob/26eff75f5f6d07be31c97a0fc0955cbf862d5fce/lib/main.dart#L44

iOS側で確認したLog

Macでディレクトリ内を確認

AndroidStudioを使用すると、Device FileExplorerで確認できます。

data/data/プロジェクト名/files/ファイル名

ネイティブ側ではmethod chanelで取得したファイル名とディレクトリpathを合わせたURLを音楽再生機能に設定しています。

iOS

Android

今回の技術はネイティブでの作業を拡張しなくとも、内部ストレージに書き込み、使用する必要がある場合は、応用できると思います。

貴重なお時間お読みくださいまして、誠にありがとうございます。