Android: Bagaimana cara mencetak variabel di konsol gerhana

Jawaban:

117

System.out.printlndan Log.dkeduanya masuk ke LogCat, bukan Konsol.

ditarik ke depan
sumber
1
Menggunakan LibGDX dan System.out.println masuk ke konsol. Mencari cara untuk memasukkannya ke logcat sehingga saya dapat masuk / men-debug aplikasi saya di perangkat yang sebenarnya.
Madmenyo
26

Jendela-> Tampilkan Tampilan-> Lainnya… -> Android-> LogCat

kesedihan
sumber
6

Saya baru mengenal pengembangan Android dan saya melakukan ini:

1) Buat kelas:

impor android.util.Log;

public final class Debug {
    Debug pribadi () {}

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

Setelah Anda menyelesaikan proyek, hapus kelas.

2) Untuk mencetak pesan ke LogCat tulis:

Debug.out ("something");

3) Buat filter di LogCat dan tulis "info" di input "menurut Log Tag". Semua pesan Anda akan ditulis di sini. :)

Tip: Buat filter lain untuk memfilter semua kesalahan agar dapat di-debug dengan mudah.

Gabriel Llamas
sumber
8
Bukan ide yang baik untuk menulis kode seperti ini karena kelas Log sudah familiar bagi kebanyakan ... semua pengembang android. Dengan membungkusnya di kelas Anda sendiri dan tidak menambahkan fungsionalitas baru, yang Anda lakukan hanyalah mengaburkan arti kode Anda kepada orang lain selain diri Anda sendiri.
Thomas Dignan
6

Menulis kode berikut untuk mencetak apapun di LogCat bekerja dengan baik !!

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

mencetak skor di LogCat. Coba ini

poojan9118
sumber
3

Saya pikir roti panggang mungkin metode yang baik untuk menunjukkan nilai variabel!

bunga aster
sumber
1
Masalah datang dengan Toast ketika nilainya banyak dan cepat, seperti sumbu, koordinat y pencatatan di ACTION_MOVE. Dalam kasus seperti itu teks layar atau keluaran Log mungkin solusi yang lebih baik.
TechNyquist
1

Oke, Toast tidak rumit tetapi membutuhkan objek konteks agar berfungsi, bisa jadi MyActivity.this, Anda dapat menulis:

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

Meskipun Toast adalah sumber daya UI, menggunakannya di utas lain yang berbeda dengan utas ui, akan mengirimkan kesalahan atau tidak berfungsi. Jika Anda ingin mencetak variabel, letakkan variabel name.toString()dan simpulkan dengan teks yang Anda inginkan di parameter Maketext String; )

Sebasu
sumber
0

roti panggang adalah ide yang buruk, terlalu "rumit" untuk mencetak nilai variabel. menggunakan log atau sop, dan seperti yang telah digambar ke depan, outputnya ke logcat. ini hanya masuk akal jika Anda ingin mengungkapkan informasi ini kepada pengguna akhir ...

MJB
sumber
0

Jika kode yang Anda uji relatif sederhana, Anda cukup membuat proyek Java biasa di Package Explorer dan menyalin kode, menjalankannya dan memperbaikinya di sana, lalu menyalinnya kembali ke proyek Android Anda.

Fakta bahwa System.out dialihkan cukup mengganggu untuk menguji metode sederhana dengan cepat, tetapi itulah solusi termudah yang saya temukan, daripada harus menjalankan emulator perangkat hanya untuk melihat apakah ekspresi reguler berfungsi.

Haravikk
sumber
0

Omong-omong, jika Anda tidak tahu di mana tepatnya lokasi JSONObject Anda di dalam JSONArray Anda, saya sarankan menggunakan kode berikut: (Saya berasumsi bahwa "jsonArray" adalah variabel utama Anda dengan semua datanya, dan saya mencari yang tepat objek di dalam array dengan fungsi sama dengan)

    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;
Avi Levin
sumber