いつもお世話になっております。
VS2022Communityで、アプリ開発を行い、アンドロイドのタブレット(F-02K)をエミュレーターにして、デバッグを行い、有線を外しても、タブレットで、アプリは正常に動きます。このアプリはCSVファイルを利用していて、Resource.Rawフォルダに埋め込んでいます。最終目的は、PCで、このCSVファイルを変更した場合、Google driveなどのファイル共有ソフトを利用して、このタブレット内のCSVファイルも更新したいと、思っています。Chat-GPTに聞いたりすると、ざっと以下のようなクラスを作成してCSVファイルをタブレット内の所定の場所にコピー?する必要があるとのこと。Xamarin.Essentialsもインストールしました。しかし、Xamarin.Android ではリソースディレクトリの名前は全て小文字である必要がありといってきて、Rawをrawに変更するように、言ってきています。
この方向性は正しいのでしょうか? 経験され、成功されている方は、どうされていますか?
以下の、Android.App.Application.Context.Resources.OpenRawResource(global::OthelloDatComent.Resource.Raw.reDatabase)) のRawがエラーであり、
using System.IO;
using System.Threading.Tasks;
using Xamarin.Essentials;
#if ANDROID
using Android.Content.Res;
using Android.App;
#endif
public class FileHelper
{
public static async Task CopyRawResourceToInternalStorageAsync(string fileName)
{
string filePath = Path.Combine(Xamarin.Essentials.FileSystem.AppDataDirectory, fileName);
#if ANDROID
using (var rawStream = Android.App.Application.Context.Resources.OpenRawResource(global::OthelloDatComent.Resource.Raw.reDatabase))
using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate))
{
await rawStream.CopyToAsync(fileStream);
}
#endif
}
public static string GetInternalFilePath(string fileName)
{
return Path.Combine(Xamarin.Essentials.FileSystem.AppDataDirectory, fileName);
}
}