20.11.2016 Views

ANDROID APP

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

92 บทที่ 4 ส่วนการติดต่อกับผู้ใช้งาน (User Interface)<br />

กรรมวิธี: การใช้เธรดเพื่ออัพเดตเลย์เอาต์<br />

ในบทที่ 3 “เธรด เซอร์วิส รีซีฟเวอร์ และการแจ้งเตือน” เราได้พูดถึงเกี่ยกับการนำเธรดมาใช้<br />

ในแอพเพื่อรองรับการทำงานประเภทที่ต้องใช้ระยะเวลาในการประมวลผล และแสดงการทำงานบน<br />

จอภาพเพื่อให้ผู้ใช้รู้ว่าแอพยังคงทำงานอยู่โดยที่ให้ความสำคัญกับการแสดงผลบนจอภาพเป็นอันดับ<br />

แรกกันไปแล้ว<br />

ตอนนี้เราจะมาใช้ปุ่มสั่งการทำงานของงาน 2 ส่วน และทำการอัพเดตจอภาพเมื่องานใดงาน<br />

หนึ่งประมวลผลเสร็จ โดยในชุดคำสั่งที่ 4.5 ได้แสดงเลย์เอาต์ที่จะใช้ในชุดคำสั่งนี้เอาไว้ ซึ่งจะมี<br />

ข้อความแสดงสถานะการทำงานชื่อ computation_status และปุ่มที่ใช้สั่งให้ทำงาน ชื่อ action<br />

โดยเลย์เอาต์จะใช้ข้อความแสดงผลตามที่กำหนดไว้ในไฟล์ strings.xml ตามที่แสดงในชุดคำสั่งที่ 4.6<br />

ชุดคำสั่ง 4.5 res/layout/main.xml<br />

<br />

<br />

<br />

<br />

<br />

ชุดคำสั่ง 4.6 res/layout/strings.xml<br />

<br />

<br />

Hello World, HandlerUpdateUi!<br />

HandlerUpdateUi<br />

Press to Start<br />

Starting...<br />

First Done<br />

Second Done<br />

<br />

ขั้นตอนในการอัพเดตออบเจ็กต์ UI โดยใช้เธรดแบบทำงานเบื้องหลังมีดังนี้<br />

1. สั่งให้ออบเจ็กต์ UI ที่ต้องการอัพเดตด้วยเธรดเริ่มทำงาน (ในที่นี้จะเรียกว่า av)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!