Monthly Archives: June 2013

Display ListView using Asyntask in Android

Kiến thức sử dụng trong bài viết này
+ Asyntask
+ UI Thread
+ StrictMode (mốt mới khi sử dụng internet)
+ PullParser (xử lý xml)

Kiến thức này không phải là mới nhưng đây là mốt của các ứng dụng hiện nay đang dùng. Thông thường khi tải nội dung từ đâu đó và hiển thị tới người dùng thì bạn thường show dialog loading thông báo abc gì đó, điều này cũng ok nhưng nếu khi đang trong quá trình tải người dùng bấm back thì nội dung rỗng cmnr, mặc dù bạn cũng có thể sử lý tình huống này mà nó không rỗng hay gì đó, đại khái là làm được, tuy nhiên có một cách hay hơn khi hiển thị màn hình chờ đó là hiện thị loading trên chính layout của bạn luôn bằng cách sử dụng FrameLayout, mình đính kèm code ở dưới bạn đọc code là hiểu .

theo mình thì nó cũng là một UI Pattern khá thân thiện, tuy nhiên bạn đừng có áp nó vào hết các trường hợp loading, hãy đặt mình vào user và quyết định .

Một điều nữa có nhiều bạn rất bối rối khi sử dụng asyntask để hiển thị ListView hay GridView thì chương trình này cũng giải quyết cho bạn . Nó hoạt động như thế nào, bạn hãy hàm chạy background trong doInBackground, nên nhớ trong hàm này không có xử lý đến update UI . sau khi doInBackground chạy xong bạn cần update View thông qua runOnUiThread .

Cuối cùng là StrictMode, từ API 11 android không muốn xử lý data liên quan tới internet trong Main Thread nên bạn cần set StrictMode nếu muốn làm điều ngược lại . search google và đọc StrictMode

device-2013-06-06-114201
device-2013-06-06-114217

Download Source Code

Một ngày trôi qua phải làm một cái gì đó có ích