Hướng dẫn cách làm - Hình ảnh minh họa - Phim hướng dẫn đa tiến trình trong Android căn bản

Hôm nay, 11/12/2016 - 11:08

Múi giờ UTC + 7 Giờ



Nội quy chuyên mục


Thành viên đăng quảng cáo trong chuyên mục này sẽ bị xóa toàn bộ bài viết và cấm vĩnh viễn tham gia Diễn đàn.

* Xem qui định đăng bài viết tại đây: viewtopic.php?f=2&t=318247



Tạo chủ đề mới Gửi bài trả lời
Gửi bàiĐã gửi: 27/05/2016 - 15:10 
thamkk0212

Ngoại tuyến

Thành viên

Thành viên

Ngày tham gia: 18/11/2015 - 18:21
Bài viết: 16
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần
Ở bài học này mình sẽ hướng dẫn bạn một kiến thức hay , tri thức mới và rất khó để các chị quen với nỗi đau khổ để về sau có bị khổ nữa thì cũng quen rồi sẽ không còn thấy khổ ( Mình viết theo lối triết học , chỉ có học tập quá khổ mới hiểu ).

– Như mình đã từng nói Intent là hồn của Vui lòng đăng ký thành viên và đăng nhập để xem nội dung này. , trong mọi ngõ nghách hẻm hay mặt tiền của Android thì Intent vẫn tồn tại như chưa từng được tồn tại.

– Việc đa tiến trình ( Multi – Threading )? nó cũng vậy , nó cũng giống như kỹ thuật truyền huyết quản của từng áp dụng Android , đặc biệt là những áp dụng Vô Đối. Ví dụ như bạn cần cập nhật giao diện lúc thời gian thực , bạn cần kết nối internet hay làm những giao tác nào đó mà phải phân ra nhiểu tiểu trình để chạy. Để xử lý được đa tiến trình thì bạn phải có một tư duy lập trình logic thật tốt , nếu không tốt thì phải ( Lấy cần cù Bù sáng dạ ).

– Kỹ thuật đa tiến trình rất khó mà không khó ( nếu bạn hiểu ).

– Trong bài này Tôi sẽ hướng dẫn các bạn xử lý đa tiến trình với Handler class và AsyncTask class.

Bài ví dụ cập nhật ProgressBar lúc runtime: Progressbar sẽ cập nhật từ 0% tới 100%

đầu tiên mình muốn nói về cách tạo đa tiến trình trong Java trước để các bạn dễ dàng áp dụng vào trong Vui lòng đăng ký thành viên và đăng nhập để xem nội dung này. ( vì Android dùng Java để coding ).

– Trong java có 2 cách tạo đa tiến trình:

Cách 1: Ta implements interface Runnable

sau đó ta Override phương thức run( ) này , khi tiến trình được Start thì hàm run sẽ được thực thi

để ý rằng tiến trình rất khó rà soát , mỗi lần chạy sẽ mỗi khác nhau nên rất khó Debug , nó lệ thuộc vào hệ điều hành.

Cách 2: Kế thừa trực tiếp từ lớp Thread

Ta thấy cách 2 dùng trực tiếp Thread , nên ta tạo 1 Thread từ MyThread và gọi start là tiến trình này sẽ được thực thi.

– Thường thì người ta hay sử dụng cách 1 , do cách 1 có khả năng chia sẻ được các đối tượng qua lại giữa các tiến trình.

Giờ ta quay trở lại ví dụ cập nhật ProgressBar trong Vui lòng đăng ký thành viên và đăng nhập để xem nội dung này.

Trong bài ví dụ này Tôi dùng Handler class để xử lý. Để ý rằng Handler class lại có 2 cách dùng.

Ở đây Tôi dùng sendMessage của Handler class để xử lý đa tiến trình , trong ví dụ kế tiếp Tôi sẽ dùng using Post để xử lý.

bây giờ bạn tiến hành chạy áp dụng và có Cuối cùng như mong muốn. Để ý rằng ta phải dùng đa tiến trình , giả dụ chỉ dùng vòng lặp thông thường thì áp dụng có vẻ như bị TREO , nó chỉ hiển thị Cuối cùng ra khi đã thực hiện xong vòng lặp , còn ở đây ta dùng tiến trình thì nó sẽ thực hiện theo thời gian thực. Ta chỉ có khả năng cập nhật giao diện lúc Runtime ở Main Thread


Đầu trang
 Xem thông tin cá nhân  
 
Hiển thị những bài viết cách đây:  Sắp xếp theo  
Tạo chủ đề mới Gửi bài trả lời
 Bạn đang xem trang 1 / 1 trang [ 1 bài viết ] 

Các chủ đề liên quan


Múi giờ UTC + 7 Giờ


Bạn không thể tạo chủ đề mới trong chuyên mục này.
Bạn không thể trả lời bài viết trong chuyên mục này.
Bạn không thể sửa những bài viết của mình trong chuyên mục này.
Bạn không thể xoá những bài viết của mình trong chuyên mục này.
Bạn không thể gửi tập tin đính kèm trong chuyên mục này.

Chuyển đến:  
cron