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
kodur
link boş 2 satır kod nedir acaba ?
Ahmet ERTEM
Linki güncellenmiştir
Berkay
Bu iki satır kod nerede acaba ?
Ahmet ERTEM
Yazi guncellenmistir. Deneyip geridonus yapar misiniz, uzun zaman oldu bakmayali da :)
Harika
Teşekkürler, hayat kurtardınız :)
Hüseyin
Sağolasın. İşin içinden çıkamıyodum :)
ahmet
ellerine sağlık
alidiner
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();
nikola tesla
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.
Samet
Sen adamsın
paradise
Sen kralsın yaa bayadır aradığım koddu
mm
Ya sen cidden harika bir insansın. Kaç gündür canım çıktı uğraşmaktan
Gorkem
Allah senden razı olsun ya
hsrt
hatali bir kullanim aslinda. beklenmedik hatalar alabilirsiniz suan. main thread + network islemlerini tekrar gozden gecirin.
Yılmaz
Çok teşekkürler