Androidde android.os.NetworkOnMainThreadException gibi saçma bir hatayla karşılaştım. Saatlerce farklı farklı yöntemler, silbaştan denemeler sonrasında çözümü çok kolay bir şekilde olduğuna rastladim – daha önceden görmüş olmama rağmen “yok ya, olamaz 2 satır kod mu düzeltecek!” demiştim bir de…
Burada anlatmak yerine, çözümü bulduğum yerin linkini paylaşmayı uygun gördüm.
http://gokhanyavas.wordpress.com/2012/06/16/android-os-networkonmainthreadexception-hatasi/
Güncelleme:
Üstteki linkten silinmiş. Yanlış hatırlamıyorsam aşağıdaki gibi olacak;
1 2 |
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); |
Yukarıdaki kod bloğunu; onCreate scope’u açıldıktan hemen sonra, super.onCreate(savedInstanceState); ‘in de öncesine eklemeniz gerekiyor.
Kolay gelsin
link boş 2 satır kod nedir acaba ?
Linki güncellenmiştir
Bu iki satır kod nerede acaba ?
Yazi guncellenmistir. Deneyip geridonus yapar misiniz, uzun zaman oldu bakmayali da :)
Teşekkürler, hayat kurtardınız :)
Sağolasın. İşin içinden çıkamıyodum :)
ellerine sağlık
Android manifeste
kod bloğu içinde de
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
// burada işlemler
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
Bu çözüm iyi bir çözüm değil, main thread üzerinde network işlemi yapmanız uygun görülmüyor. Async task ile yapmanız en sağlıklı yöntem olacaktır.
Sen adamsın
Sen kralsın yaa bayadır aradığım koddu
Ya sen cidden harika bir insansın. Kaç gündür canım çıktı uğraşmaktan
Allah senden razı olsun ya
hatali bir kullanim aslinda. beklenmedik hatalar alabilirsiniz suan. main thread + network islemlerini tekrar gozden gecirin.
Çok teşekkürler