Je voulais imprimer la valeur d'une variable sur la console à des fins de débogage mais system.out.println ne fonctionne pas.
Réponses:
System.out.println
et les Log.d
deux vont à LogCat, pas à la console.
Je suis nouveau dans le développement Android et je fais ceci:
1) Créez une classe:
import android.util.Log; Débogage de classe finale publique { débogage privé () {} public static void out (Object msg) { Log.i ("info", msg.toString ()); } }
Lorsque vous avez terminé le projet, supprimez la classe.
2) Pour imprimer un message sur le LogCat, écrivez:
Debug.out ("something");
3) Créez un filtre dans le LogCat et écrivez "info" dans l'entrée "by Log Tag". Tous vos messages seront écrits ici. :)
Conseil: créez un autre filtre pour filtrer toutes les erreurs afin de déboguer facilement.
L'écriture du code suivant pour imprimer quoi que ce soit sur LogCat fonctionne parfaitement bien !!
int score=0;
score++;
System.out.println(score);
imprime le score sur LogCat.
Je pense que le toast est peut-être une bonne méthode pour montrer la valeur d'une variable!
Ok, Toast n'est pas complexe mais il a besoin d'un objet de contexte pour fonctionner, ça pourrait être MyActivity.this
, alors vous pouvez écrire:
Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();
Bien que Toast soit une ressource d'interface utilisateur, son utilisation dans un autre thread différent du thread ui enverra une erreur ou ne fonctionnera tout simplement pas name.toString()
. )
Si le code que vous testez est relativement simple, vous pouvez simplement créer un projet Java standard dans l'Explorateur de packages et copier le code, l'exécuter et le corriger, puis le recopier dans votre projet Android.
Le fait que System.out soit redirigé est assez ennuyeux pour tester rapidement des méthodes simples, mais c'est la solution la plus simple que j'ai trouvée, plutôt que d'avoir à exécuter l'émulateur de périphérique juste pour voir si une expression régulière fonctionne.
En passant, au cas où vous ne sauriez pas quel est l'emplacement exact de votre JSONObject dans votre JSONArray, je suggère d'utiliser le code suivant: (j'ai supposé que "jsonArray" est votre variable principale avec toutes les données, et je recherche l'exact objet à l'intérieur du tableau avec la fonction égale)
JSONArray list = new JSONArray();
if (jsonArray != null){
int len = jsonArray.length();
for (int i=0;i<len;i++)
{
boolean flag;
try {
flag = jsonArray.get(i).toString().equals(obj.toString());
//Excluding the item at position
if (!flag)
{
list.put(jsonArray.get(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
jsonArray = list;