Ребята и дамы вы можете мне рассказать, в чем проблема в этом коде или каким образом я могу изменить настройки Xamarin для успешного выполнения кода? Xam.Plugin.Connectivity.CrossConnectivity
говорит: «Устройство подключено к Интернету», но в любой реализации DownloadCountriesListAsync()
stucks (UWP не работает, Android с выбранным параметром INTERNET в манифесте тоже). Этот код работает в консольном приложении C#.Xamarin.Forms с Net.Http
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace radacodeTestApp
{
public class ListsDownloader
{
public List<Country> Countries { get; private set; }
public ListsDownloader()
{
Countries = new List<Country>();
var task = DownloadCountriesListAsync();
}
public async Task<bool> DownloadCountriesListAsync()
{
try
{
var vkjsonResponse = await GetResponse(@"https://api.vk.com/api.php?oauth=1&method=database.getCountries&need_all=1&v=5.60");
var jsonObject = JObject.Parse(vkjsonResponse);
foreach (var jO in jsonObject["response"]["items"])
Countries.Add(JsonConvert.DeserializeObject<Country>(jO.ToString()));
}
catch (OperationCanceledException)
{
return false;
}
return true;
}
public async Task<string> GetResponse(string url)
{
using (var httpClient = new HttpClient())
return await httpClient.GetStringAsync(url);
}
}
public class Country
{
public int Cid { get; set; }
public string Title { get; set; }
public override string ToString()
{
return Title;
}
}
}
Вы не, и не может быть, ждет его завершения. Не делайте этого в конструкторе. – SLaks
Я не жду конца в конструкторе. Посмотрите ближе –
Точно; это проблема – SLaks