Volevo stampare il valore di una variabile sulla console per il mio scopo di debug ma system.out.println non funziona.
Risposte:
System.out.println
ed Log.d
entrambi vanno a LogCat, non alla console.
Sono nuovo nello sviluppo di Android e lo faccio:
1) Crea una classe:
import android.util.Log; public final class Debug { debug privato () {} public static void out (Object msg) { Log.i ("info", msg.toString ()); } }
Quando finisci il progetto elimina la classe.
2) Per stampare un messaggio su LogCat scrivi:
Debug.out ("something");
3) Crea un filtro nel LogCat e scrivi "info" nell'ingresso "by Log Tag". Tutti i tuoi messaggi verranno scritti qui. :)
Suggerimento: crea un altro filtro per filtrare tutti gli errori per eseguire facilmente il debug.
Scrivere il codice seguente per stampare qualsiasi cosa su LogCat funziona perfettamente !!
int score=0;
score++;
System.out.println(score);
stampa il punteggio su LogCat. Prova questo
Penso che il toast sia forse un buon metodo per mostrare il valore di una variabile!
Ok, Toast non è complesso ma ha bisogno di un oggetto contesto per funzionare, potrebbe essere MyActivity.this
, quindi puoi scrivere:
Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();
Sebbene Toast sia una risorsa dell'interfaccia utente, quindi utilizzarlo in un altro thread diverso dal thread dell'interfaccia utente, invierà un errore o semplicemente non funzionerà. Se si desidera stampare una variabile, inserire la variabile name.toString()
e concatela con il testo desiderato nel parametro String maketext; )
Se il codice che stai testando è relativamente semplice, puoi semplicemente creare un normale progetto Java in Package Explorer e copiare il codice, eseguirlo e correggerlo lì, quindi copiarlo di nuovo nel tuo progetto Android.
Il fatto che System.out venga reindirizzato è piuttosto fastidioso per testare rapidamente metodi semplici, ma questa è la soluzione più semplice che ho trovato, piuttosto che dover eseguire l'emulatore di dispositivo solo per vedere se un'espressione regolare funziona.
A proposito, nel caso in cui non sai qual è la posizione esatta del tuo JSONObject all'interno del tuo JSONArray, ti suggerisco di utilizzare il seguente codice: (presumo che "jsonArray" sia la tua variabile principale con tutti i dati, e sto cercando l'esatto oggetto all'interno dell'array con funzione uguale)
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;