Как правильно получить доступ к файлам из папки данных приложения, созданной в приложении Xamarin.Forms внутри перенесенAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как правильно получить доступ к файлам из папки данных приложения, созданной в приложении Xamarin.Forms внутри перенесен

Сообщение Anonymous »

В настоящее время я переношу существующее приложение Xamarin.Forms на .NET MAUI. Существующее приложение использует базу данных SQLite для хранения некоторых данных.
Путь к базе данных в приложении Xamarin.Forms был настроен следующим образом:

Код: Выделить всё

public static string DatabasePath
{
get
{
var basePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
return Path.Combine(basePath, "mydb.db3");
}
}
В Xamarin.Forms результирующий путь на Android:

Код: Выделить всё

/data/user/0/my.app/files/.local/share/mydb.db3
Однако при использовании того же кода, что и выше, в MAUI, результирующий путь на Android будет следующим:

Код: Выделить всё

/data/user/0/my.app/files/mydb.db3
Это создает проблему, заключающуюся в том, что к существующим данным невозможно получить доступ в MAUI, если я не изменю код в перенесенном коде следующим образом:

Код: Выделить всё

public static string DatabasePath
{
get
{
var basePath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

#if ANDROID
var localShare = ".local/share";

if (!basePath.Contains(localShare))
{
basePath = Path.Combine(basePath, localShare);
}
#endif

return Path.Combine(basePath, "mydb.db3");
}
}
Это могло бы решить мою проблему, но я не думаю, что это правильный путь. Кто-нибудь знает, как правильно перенести пути, полученные с помощью Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), чтобы получить доступ к точному тому же пути, что и раньше?
Это важно, поскольку мне нужна возможность доступа и повторного использования существующей локальной базы данных, созданной с помощью версии Xamarin.Forms, из перенесенного приложения MAUI.
Примечание. Я знаю, что существуют помощники файловой системы для Xamarin.Forms и MAUI, но это не помогает решить эту проблему, поскольку они не использовались при приложении Xamarin.Forms. был создан.

Подробнее здесь: https://stackoverflow.com/questions/781 ... -forms-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»