Hiển thị kết quả từ 1 đến 2 / 2
  1. #1
    Tham gia
    21-11-2015
    Bài viết
    13
    Like
    1
    Thanked 0 Times in 0 Posts

    Multi – Threading trong lập trình android

    Ở bài học này mình sẽ hướng dẫn các bạn học viên một kiến thức hay , tri thức mới và hơi 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 lap trinh android co ban , 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 tự học lập trình android ( 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 lap trinh android

    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
    Quote Quote

  2. #2
    Tham gia
    02-06-2016
    Bài viết
    41
    Like
    0
    Thanked 0 Times in 0 Posts
    dùng sendMessage của Handler class để xử lý đa tiến trình

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •