android.os.NetworkOnMainThreadException
Bu hatayı ana UI threadinden network işlemleri yapmaya çalışınca alırız.
Android 4 (ice cream sandwich) ile birlikte gelen strict mode kavramı buna izin vermediğinden,
bu tarz işlemleri bir asyncTask a yaptırmak gerekiyor.
Genel olarak ana UI threadinde donmalara sebep olabilecek uzun işlemleri (0.1 saniye psikolojik limittir deniyor)
bir asyncTaska yaptırırız. Örneğin, soket bağlantısı, download, http request, vb.
-- Örnek görevler:
Opening a Socket connection (i.e. new Socket()).
HTTP requests (i.e. HTTPClient and HTTPUrlConnection).
Attempting to connect to a remote MySQL database.
Downloading a file (i.e. Downloader.downloadFile()).
--
AsyncTask şöyle çağırılır:
MyAsyncTask.execute("url");
Burada asenkron olarak task yeni bir threadde çalışmaya başlar.
Burada execute içinde verdiğimiz String parametreleri direk doInBackground() metoduna parametre array şelinde gider.
doInBackground içinde bunları params[0] vb şekilde kullanabiliriz.
progressUpdate metodu ile gelişmeyi adım adım yazdırabilir.
Bir AsyncTask ta şu metodlar kullanılır:
-doInBackground(String... params): execute ile çağırılırken verilen String leri parametre olarak alır.
UI threadi bloklamadan kendi threadinde çalışır.
-onPreExecute() : doInBackground çalışmadan önce yapılmasını istediğimiz işlemleri buraya yazarız.
-onPostExecute() : doInBackground çalışması bittiğinde yapılmasını istediğimiz işlemleri yazarız.
doInBackground dan return edilen değeri parametre olarak alır.
-onProgressUpdate() : yapılan işlemin ne kadarının bittiğini göstermek için kullanılır
Etiketler
abstraction
Accord Framework
ajax
android
architecture
Array
assets
async task
AsyncTask
authorization
avd
billy joel
button
Classification
collections
component
concurrency
container
data science
database
Decision Tree
Decision Trees
dhcp
distributed
donma
emülatör
encapsulation
exception
express
Feature extraction
Feature Selection
garbage collection
glassfish
google
grafik
güvenlik
hadoop
http
IDE
inheritance
j2ee
jade
java
java.lang
JDBC
jls
JNDI
JSF
jsp
kitap
lib
link
Machine Learning
Marmara Üniversitesi
material design
maven
mongodb
multiple inheritance
nested class
netbeans
network
node.js
NoSQL
oop
Oracle
ORM
pass-by-value
pattern
permission
polymorphism
PrimeFaces
primitive
Project Euler
protocol
R
response
REST
RMI
root
Scala
servlet
Set
sözlük
spring
sqlite
tasarım desenleri
tcp/ip
template
test
thread
tier
toast
tomcat
türk telekom
twitter
UI thread
virtual device
web application
web design
web service
WEKA
wireshark
Hiç yorum yok:
Yorum Gönder