20.11.2016 Views

ANDROID APP

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ชุดคำสั่งที่ 2.7 จะแสดงถึงการจัดก็บและเรียกคืนค่าสถานะของอินสแตนซ์ โดยใช้ตัวแปรแบบ<br />

ข้อความและตัวแปรแบบทศนิยมในการเก็บค่าดังกล่าว<br />

float[] localFloatArray = {3.14f, 2.718f, 0.577f};<br />

String localUserName = "Euler";<br />

มัลติเพิลแอคทิวิตี้ (Multiple Activities)<br />

ชุดคำสั่งที่ 2.7 ตัวอย่างของ onSaveInstanceState() และ onRestoreInstanceState()<br />

35<br />

@Override<br />

protected void onSaveInstanceState(Bundle outState) {<br />

super.onSaveInstanceState(outState);<br />

//save the relevant information<br />

outState.putString("name", localUserName);<br />

outState.putFloatArray("array", localFloatArray);<br />

}<br />

@Override<br />

public void onRestoreInstanceState(Bundle savedInstanceState) {<br />

super.onRestoreInstanceState(savedInstanceState);<br />

//restore the relevant information<br />

localUserName = savedInstanceState.getString("name");<br />

localFloatArray = savedInstanceState.getFloatArray("array");<br />

}<br />

ในคำสั่ง onCreate() จะมี Bundle savedInstanceState อยู่ด้วย ในกรณีที่แอคทิวิตี้เริ่ม<br />

ทำงานอีกครั้งหลังจากที่ก่อนหน้านี้ได้ปิดการทำงานของเครื่องไป ข้อมูลสถานะที่จัดเก็บจากคำสั่ง<br />

onSaveInstanceState() จะถูกส่งค่าไปยังคำสั่ง onCreate() ซึ่งค่าเหล่านี้จะใช้ร่วมกับคำสั่ง<br />

onRestoreInstanceState() เพื่อเรียกคืนสถานะเดิมให้แก่อินสแตนซ์<br />

มัลติเพิลแอคทิวิตี้ (Multiple Activities)<br />

แอพจะประกอบด้วยแอคทิวิตี้อย่างน้อยหนึ่งอย่าง ในแอพที่ซับซ้อนจะประกอบด้วยการทำงาน<br />

ร่วมกันของแอคทิวิตี้หลายตัว ยกตัวอย่างแอพเกมจะมีแอคทิวิตี้ เช่น ส่วนของเกมและส่วนของการ<br />

แสดงคะแนน หรือในแอพประเภทโน้ตแพดก็จะประกอบด้วยแอคทิวิตี้ 3 อย่าง เช่น การดูลิสต์ของ<br />

โน้ต การอ่านโน้ตที่เลือกไว้ และการแก้ไขโน้ต<br />

แอคทิวิตี้หลักจะถูกประกาศไว้ในไฟล์ AndroidManifest ซึ่งแอคทิวิตี้นี้จะเริ่มทำงานเมื่อแอพ<br />

เริ่มทำงาน และแอคทิวิตี้สามารถเรียกใช้งานแอคทิวิตี้อื่นๆ ได้โดยใช้เหตุการณ์หรืออีเวนต์ต่างๆ มา<br />

กระตุ้น เมื่อแอคทิวิตี้ตัวที่ 2 ถูกเรียกใช้งาน แอคทิวิตี้หลักก็จะหยุด (Pause) ไว้ เมื่อแอคทิวิตี้ที่ 2<br />

ทำงานเสร็จแอคทิวิตี้หลักก็จะกลับมาทำงานต่อ

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

Saved successfully!

Ooh no, something went wrong!