Hata ayıklama amacım için konsolda bir değişkenin değerini yazdırmak istedim ama System.out.println
çalışmıyor.
Yanıtlar:
System.out.println
ve Log.d
ikisi de Konsol'a değil LogCat'e gider.
Android geliştirmede yeniyim ve bunu yapıyorum:
1) Bir sınıf oluşturun:
ithal android.util.Log; public final class Debug { özel Hata Ayıklama () {} public static void out (Object msg) { Log.i ("bilgi", msg.toString ()); } }
Projeyi bitirdiğinizde sınıfı silin.
2) LogCat yazısına bir mesaj yazdırmak için:
Debug.out ("something");
3) LogCat'de bir filtre oluşturun ve girişe "Günlük Etiketine göre" "bilgi" yazın. Tüm mesajlarınız buraya yazılacaktır. :)
İpucu: Tüm hataları kolayca ayıklamak üzere filtrelemek için başka bir filtre oluşturun.
LogCat üzerinde herhangi bir şey yazdırmak için aşağıdaki kodu yazmak mükemmel bir şekilde çalışıyor !!
int score=0;
score++;
System.out.println(score);
LogCat üzerinde puan yazdırır.
Bence tost, bir değişkenin değerini göstermek için iyi bir yöntem olabilir!
Tamam, Toast karmaşık değildir, ancak çalışması için bir bağlam nesnesine ihtiyaç duyar, olabilir MyActivity.this
, sonra yazabilirsiniz:
Toast.maketext(MyActivity.this, "Toast text to show", Toast.LENGTH_SHORT).show();
Toast bir UI kaynağı olmasına rağmen, onu ui iş parçacığından farklı başka bir iş parçacığında kullanmak bir hata gönderir veya çalışmaz Bir değişken yazdırmak istiyorsanız, değişkeni name.toString()
ve bunu istediğiniz metinle maketext String parametresine koyun; )
Test ettiğiniz kod nispeten basitse, Paket Gezgini'nde normal bir Java projesi oluşturabilir ve kodu kopyalayabilir, çalıştırabilir ve orada düzeltebilir, ardından tekrar Android projenize kopyalayabilirsiniz.
System.out'un yeniden yönlendirilmiş olması, basit yöntemleri hızlı bir şekilde test etmek için oldukça can sıkıcıdır, ancak bu, normal bir ifadenin çalışıp çalışmadığını görmek için aygıt öykünücüsünü çalıştırmak zorunda kalmak yerine bulduğum en kolay çözümdür.
Bu arada, JSONObject'inizin JSONArray'inizdeki tam konumunu bilmiyorsanız , aşağıdaki kodu kullanmanızı öneririm: ("jsonArray" in tüm verilerle birlikte ana değişkeniniz olduğunu varsaydım ve tam olarak eşittir işlevine sahip dizi içindeki nesne)
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;