Je développe une application Xamarin.Android. Chaque fois que j'essaie de télécharger un flux JSON, j'obtiens l'erreur "Votre application est entrée dans un état de pause, mais aucun code n'est affiché car tous les threads exécutaient du code externe".
Voici la capture d'écran de error
Mon code de téléchargement de flux json
string url = "http://xamdev.epizy.com/getData1.php";
public async void downloadJsonFeedAsync(String url) {
var httpClient = new HttpClient();
Task<string> contentsTask = httpClient.GetStringAsync(url);
// await! control returns to the caller and the task continues to run on another thread
string content = await contentsTask;
Console.Out.WriteLine("Response Body: \r\n {0}", content);
//Convert string to JSON object
result = Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject> (content);
//Update listview
RunOnUiThread (() => {
listView.Adapter = new CusotmListAdapter(this, result.posts);
progress.Visibility = ViewStates.Gone;
});
}
j'ai une erreur sur cette ligne
string content = wait contentsTask;
C'est mon json
{ "des postes":[ { "id": "1", "url": "", "titre": "Convertir la parole en texte dans une application Android", "date": "2017-06-16 06:15:18", "contenu": "Convertir parole en texte Convertir parole en texte dans une application Android Convertir parole en texte dans une application Android" Application. dans une application Android ", "thumbnail": "http: \/\/stacktips.com \/wp-content \/uploads \/2017 \/01\/Speech-to-To-Text-in-Android-375x300.jpeg" } ] }
S'il vous plaît quelqu'un peut-il me dire ce qui ne va pas avec mon code? Merci d'avance ..
Voici mon code de service web php -
<?php
if($_SERVER['REQUEST_METHOD']=='GET'){
require_once('conn.php');
$sql = "SELECT * FROM space";
if ($result = mysqli_query($conn, $sql))
{
$resultArray = array();
$tempArray = array();
while($row = $result->fetch_object())
{
$tempArray = $row;
array_Push($resultArray, $tempArray);
}
echo json_encode(array("result"=>$resultArray));
}
mysqli_close($conn);
}
?>
Enfin, j'ai la réponse.
Le problème était avec mon serveur d'hébergement, la réponse du serveur avec des cookies. C'est pourquoi mon application Android ne parvient pas à analyser le JSON.
Merci pour l'aide.
Je suis surpris mais pas la meilleure réponse postée pour cette question. Pour moi, les solutions ci-dessus ne fonctionnaient pas. Pour résoudre ce problème, je devais désactiver l'option suivante du menu de débogage.
Debug > Options > General > Uncheck "Enable Just My Code"
Pour plus de détails, consultez Microsoft msdn help.
Vous devriez recevoir des détails sur les exceptions et une pile d'appels, ce qui facilitera grandement vos efforts de débogage. Je pense que c'est un bug avec Xamarin sur VS2017 en ce moment.
J'ai rencontré cette erreur et j'ai regardé dans la fenêtre de sortie après l'échec de l'application. Dans mon cas, j'avais une méthode dans une classe de modèle de vue avec une "tâche" appelée par le XMAL.
Si cela aide quelqu'un:
L'onglet de sortie me donnait un message disant que la version de la DLL était incorrecte.
Le projet a fonctionné malgré tout, mais pour une raison quelconque, cette version de la DLL a forcé mon projet à passer en mode pause, j'ai supprimé la dll, utilisé une version précédente et maintenant, je peux déboguer sans problèmes.
Dans mon cas particulier, j'ai vérifié la fenêtre de sortie du débogage et elle a mentionné "Impossible de trouver ou d'ouvrir le fichier PDB". J'ai lu plus loin et une des solutions consistait à vérifier quelles références de variables statiques je faisais. J'avais une variable statique de chargement à partir de AppSettings et il faisait référence à une clé qui n'était pas présente dans le fichier app.Config. Je souhaite que le débogueur me dise directement la référence non trouvée ou quelque chose comme ça. Une fois que j'ai eu la clé de référence correcte, j'étais sur mon chemin. En espérant que cela aidera quelqu'un d'autre.