Turkcell | Geleceği Yazanlar

Soru & Cevap

Socket Programlama

04.03.2014 - 13:36

Androidde socket programlama ile yaptığım bir uygulamada "Errorandroid.os.NetworkOnMainThreadException" hatası alıyorum ve ilerilye gidemedim. nasıl baş edbilirm bu hatayla? şimdiden teşekkür ederim

5910 Görüntülenme

3 Cevap

Kemal Selim Tekinarslan
10.03.2014 - 14:45

Selam, örnekte parametre geçişleri mevcut, Doingback kısmında params bir string array ve içinden parametre çekiyorsun.

private class Setup extends AsyncTask<String, Integer, Void> { @Override protected Void doInBackground(String... params) { String identifier = params[0]; if (identifier.matches("abc")) { publishProgress(0); db.insert_fri(); } else if ((identifier.matches("xyz"))) { publishProgress(1); db.insert_met(); } } return null; } @Override protected void onProgressUpdate(Integer... i) { // start the song here if (i[0] == 0) { song.setLooping(true); song.start(); } } @Override protected void onPostExecute(Void res) { } @Override protected void onPreExecute() { // do something before execution } }

 

new Setup().execute("parametre");

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Ertuğrul ÇAĞLAR
05.03.2014 - 18:17

Ayrıca, şunu da deneyebilirsin, ancak ne kadar sağlıklıdır emin değilim.

[code]

if (Build.VERSION.SDK_INT >= 9) {

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

    StrictMode.setThreadPolicy(policy);

}

[/code]

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mushfig
06.03.2014 - 01:31
makalelerde bu işe yarayan ve aynı zamanda önerilmeyen yöntem gibi verilmiş
Kemal Selim Tekinarslan
04.03.2014 - 13:47

Selam,

Bu hata socketini oncreate de yada ana thread de açarsan başına gelir.

Network işlemlerini asynTask içinde yapmalısın ki ana thread etkilenmesin.

http://blog.melihmucuk.com/tag/android-asynctask-kullanimi/

 

kolaylıklar

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mushfig
04.03.2014 - 23:10
Teşekkür ederim. Çok doğru yaklaşım ve çözüm oldu. Asynctask'e parametre aktarma ile ilgili açıklayıcı bir paylaşım eder misiniz? şimdiden teşekkür ederim

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.