Как добавить файл Json в формы Xamarin? - PullRequest
1 голос
/ 15 апреля 2020

Я получаю файл, который не найден Ошибка, когда я пытаюсь получить Json файл для Google Auth Creds

            using (var stream = new FileStream("client.json", FileMode.Open, FileAccess.Read))
            {
                credential = GoogleCredential.FromStream(stream)
                    .CreateScoped(Scopes);
            }

            service = new SheetsService(new Google.Apis.Services.BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });

Я пытался сохранить файл в активах и пытался

Assets.Open ("client.json")

выдает ту же ошибку

что мне здесь не хватает?

1 Ответ

2 голосов
/ 15 апреля 2020

Используйте OpenAppPackageFileAsync из пакета Xamarin.Essentials.

using (var stream = await FileSystem.OpenAppPackageFileAsync("client.json"))
 {
    using (var reader = new StreamReader(stream))
    {
        var fileContents = await reader.ReadToEndAsync();
    }
 }

Android:

Папка Assets в проекте Android и пометьте Build Action как AndroidAsset для использования его с OpenAppPackageFileAsyn c

iOS:

Ресурсы в проекте iOS и пометьте Build Action как BundledResource, чтобы использовать его с OpenAppPackageFileAsyn c.

re: https://docs.microsoft.com/en-us/xamarin/essentials/file-system-helpers?context=xamarin%2Fxamarin-forms&tabs=android#platform - особенности реализации

...