Jungs und Damen können Sie mir sagen, was für ein Problem in diesem Code oder auf welche Weise kann ich Xamarin Einstellungen für die erfolgreiche Ausführung von Code ändern? Xam.Plugin.Connectivity.CrossConnectivity
sagt: "Gerät ist mit dem Internet verbunden", aber in jeder Realisierung DownloadCountriesListAsync()
stecken (UWP funktioniert nicht, Android mit ausgewählten INTERNET-Parameter in Manifest auch). Dieser Code funktioniert in der C# -Konsolen-App.Xamarin.Forms mit 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;
}
}
}
Sie sind nicht und kann nicht sein, warten auf sie beenden zu. Mach das nicht in einem Konstruktor. – SLaks
Ich warte nicht auf Finish im Konstruktor. Schauen Sie genauer hin –
Genau; das ist das Problem – SLaks