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.
กรรมวิธี: การระบุรีซอร์สเพิ่มเติม<br />
ค่ารีซอร์สที่เราได้กำหนดไว้ในหัวข้อก่อนหน้านี้เป็นการกำหนดค่าคอนฟิกแบบทั่วๆ ไปที่มีใช้ใน<br />
แอพของแอนดรอยด์ ในบางครั้งผู้พัฒนาแอพอาจต้องการระบุค่าต่างๆ เพิ่มเติมขึ้นเองเพื่อให้รองรับ<br />
กับแอพที่พัฒนาขึ้น อย่างเช่นทำให้แอพสามารถแสดงผลได้หลายภาษา เป็นต้น<br />
วิธีทำให้แอพรองรับการแสดงผลได้หลายภาษานั้น เราต้องแปลข้อความที่จะแสดงผลนั้นไปเป็น<br />
ภาษาต่างๆ ตามที่ต้องการก่อน และนำไปกำหนดไว้ในไดเร็กทอรี values ยกตัวอย่างเช่น ภาษาอังกฤษ<br />
(อเมริกัน), ภาษาอังกฤษ (อังกฤษ), ภาษาฝรั่งเศส, ภาษาจีน, ภาษาจีน (ไต้หวัน) และภาษาเยอรมัน<br />
ก็ให้กำหนดดังนี้<br />
res/values-en-rUS/strings.xml<br />
res/values-en-rGB/strings.xml<br />
res/values-fr/strings.xml<br />
res/values-zh-rCN/strings.xml<br />
res/values-zh-rTW/strings.xml<br />
res/values-de/strings.xml<br />
ข้อความทั้งหมดที่จะใช้ในแอพนั้น ไม่จำเป็นต้องเก็บลงในไฟล์เหล่านี้ทั้งหมด เพราะถ้าระบบพบ<br />
ว่าข้อความที่ต้องการแสดงผลในภาษาที่เลือกไว้ไม่ได้ถูกกำหนดไว้ ระบบจะอ่านค่าจากไฟล์หลักของ<br />
ระบบแทน คือ res/values/strings.xml โดยไฟล์นี้จะเก็บข้อความทั้งหมดที่มีการใช้ในแอพ และถ้ามี<br />
รูปภาพที่มีข้อความแบบหลายภาษา เราก็สามารถกำหนดโครงสร้างของไดเร็กทอรีที่เก็บข้อมูลดังกล่าว<br />
ได้เช่นกัน อย่างเช่น res/drawables-zh-hdpi/<br />
สำหรับการกำหนดให้แอพรองรับการแสดงผลบนจอที่มีความละเอียดต่างกันนั้น รูปภาพประเภทที่<br />
ปรับเปลี่ยนขนาดได้ (Drawable) จะถูกนำมาใช้ในการแสดงผลด้วยการกำหนดให้โครงสร้างของ<br />
ไดเร็กทอรีระบุถึงความละเอียดระดับต่างๆ เช่นว่าเราสามารถกำหนดการแสดงรูปภาพด้วยความละเอียด<br />
ต่างๆ กันได้ดังนี้<br />
res/drawable-ldpi/<br />
res/drawable-mdpi/<br />
res/drawable-hdpi/<br />
โครงสร้างของรีซอร์สในไดเร็กทอรี และค่าแอททริบิวต์ที่เกี่ยวข้อง<br />
res/drawable-nodpi/<br />
ระดับความละเอียดต่ำ กลาง และสูงของจอภาพนั้น เรากำหนดค่าเป็น 120dpi, 160 dpi และ<br />
240 dpi ตามลำดับ โดยค่าทั้งหมดนี้เราไม่จำเป็นต้องใช้เรียกงานทั้งหมด เพราะในระหว่างที่แอพเริ่ม<br />
ทำงานนั้นระบบปฏิบัติการแอนดรอยด์จะเลือกใช้ค่าที่เหมาะสมกับฮาร์ดแวร์นั้นมากที่สุด ในไดเร็กทอรี<br />
ที่ระบุค่าเป็น nodpi จะใช้กับรูปภาพประเภทบิตแม็พในกรณีที่ไม่ต้องการให้รูปภาพนั้นถูกปรับขนาด<br />
ดังนั้นถ้ามีการระบุภาษาที่จะใช้และค่าความละเอียดของจอที่จะแสดงผล เราก็สามารถสร้างไดเร็กทอรี<br />
ที่ใช้ทำงานร่วมกับค่าทั้ง 2 นั้นได้ เช่น drawable-en-rUS-mdpi/<br />
เราได้พูดถึงขนาดของจอภาพที่ใช้แสดงผลบนอุปกรณ์แอนดรอยด์ไปแล้วในบทที่ 1 “ก้าวแรก<br />
กับแอนดรอยด์” การจัดโครงสร้างของไดเร็กทอรีรีซอร์สให้มีลักษณะตามที่บอกไปข้างต้นจะช่วยให้<br />
แอพสามารถแสดงผลบนจอภาพที่แตกต่างกันได้อย่างหลากหลาย ค่าอื่นๆ ที่เราสามารถนำมากำหนด<br />
รูปแบบการแสดงผลเพิ่มเติมมีดังนี้<br />
m การแสดงผลจอภาพแบบแนวตั้งและแนวนอน: -port และ -land<br />
m จอภาพแบบปกติ (QVGA, HVGA, VGA) และจอภาพแบบกว้าง (WQVGA, FWVGA,<br />
WVGA): -notlong และ -long<br />
81