2010-05-02 27 views

risposta

117

System.out.println e Log.d entrambi vanno a LogCat, non alla console.

+1

Utilizzo di LibGDX e System.out.println passa a console. Alla ricerca di un modo per farlo entrare in logcat così posso accedere/eseguire il debug della mia app su un dispositivo reale. – Madmenyo

3

Credo che il brindisi forse un buon metodo per mostrare il valore di una variabile!

+1

Il problema si presenta con Toast quando i valori sono molti e veloci, come le coordinate x, y che si registrano su ACTION_MOVE. In questi casi, un testo sullo schermo o un'uscita Log potrebbe essere la soluzione migliore. – TechNyquist

0

toast è una cattiva idea, è troppo "complesso" per stampare il valore di una variabile. usa log o s.o.p, e come già detto in precedenza, il loro output va a logcat. ha senso solo se vuoi esporre queste informazioni all'utente finale ...

6

Scrivere il codice seguente per stampare qualsiasi cosa su LogCat funziona perfettamente!

int score=0; 
score++; 
System.out.println(score); 

stampe punteggio su LogCat.Try questo

6

Sono nuovo di sviluppo Android e faccio questo:

1) Creare una classe:

import android.util.Log; 

public final class Debug{ 
    private Debug(){} 

    public static void out (Object msg){ 
     Log.i ("info", msg.toString()); 
    } 
}

Al termine il progetto elimina la classe.

2) Per stampare un messaggio alla scrittura LogCat:

Debug.out ("something");

3) Creare un filtro nella LogCat e scrivere "informazioni" in ingresso "dal Registro Tag". Tutti i tuoi messaggi saranno scritti qui. :)

Suggerimento: creare un altro filtro per filtrare facilmente tutti gli errori per eseguire il debug.

+8

Non è una buona idea scrivere codice come questo perché la classe Log è familiare alla maggior parte ... tutti gli sviluppatori Android. Racchiudendolo nella tua classe e non aggiungendo nuove funzionalità, tutto ciò che fai è oscuro del significato del tuo codice per le persone diverse da te. –

26

Finestra-> Mostra Visualizza-> Altri ... -> Android-> LogCat

0

Se il codice si sta testando è relativamente semplice allora si può solo creare un progetto regolare Java nel pacchetto Explorer e copiare il codice across, eseguilo e correggilo lì, quindi copialo 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 funziona un'espressione regolare.

1

Ok, Brindisi non è complessa, ma ha bisogno di un oggetto di contesto al lavoro, potrebbe essere MyActivity.this, allora si può scrivere:

Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show(); 

Anche se Toast è una risorsa interfaccia utente, quindi utilizzarlo in un altro thread diverso al thread UI, invierà un errore o semplicemente non funzionerà Se si desidera stampare una variabile, mettere la variabile name.toString() e concat che con il testo che si desidera nel parametro String maketext;)

0

a proposito, nel caso in cui non sai qual è la posizione esatta del vostro JSONObject all'interno del vostro JSONArray Io suggerisco di usare il codice seguente: (I presume che "jsonArray" è la variabile principale con tutti i dati, e sto cercando l'oggetto esatto all'interno della matrice con uguale funzione)

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; 
Problemi correlati