by 9'M (8 Sep 2003)
บทที่ 3 MIDP ProgrammingMIDlet คือ...?
ในความเป็นจริงแล้ว การพัฒนา MIDlet จะเป็นในลักษณะเดียวกับการพัฒนา Java Applet คือ Java Applet จะเป็นการสืบทอดจาก class Applet ส่วน MIDP จะเป็นการสืบทอด จาก class MIDlet
MIDlet 's Life Cycle
เมื่อเราได้สร้าง class ที่สืบทอดมาจาก MIDlet Package ที่ชื่อ javax.microedition.midlet.MIDlet แล้ว, class ของเราจะมีวงจร การทำงานเริ่มจากการสร้าง หลังจากนั้นก็จะอยู่ในสถานะ Paused(หยุด) เมื่อเรา ต้องการให้มีการทำงานเกิดขึ้น เราก็ต้องเรียกใช้ method ที่ชื่อ startApp() สถานะของคลาสก็เปลี่ยนไปเป็นสถานะ Active(ทำงาน) ดังรูป, และหากต้องการให้ class หยุดการทำงาน สามารถทำได้โดย เรียกใช้ Method pauseApp(), สุดท้ายก็คือการ จบการทำงาน โดยเรียกใช้ Method destroyApp() โปรแกรมก็จะเข้าสู่สถานะ Destroyed(ถูกทำลาย) สถานะต่างๆของ MIDlet ,จากรูปที่ 7 จะเห็นได้ว่า MIDlet มีอยู่ 3 สถานะด้วยกัน คือ
จะเห็นได้ว่าในการเปลี่ยนสถานะ (state) ของการทำงาน จะใช้ method 3 อันด้วยกัน คือ
MIDlet suites
MIDlet suites เป็นที่รวบของ class ของ MIDlet และ ไฟล์รูปภาพต่างๆ ที่เกี่ยวข้องกับการทำงาน, MIDlet suites จะประกอบด้วย 2 ไฟล์หลักๆ คือ
ตัวอย่าง JAD File (HelloExamples.jad)
ไฟล์ JAD ข้างต้นจะเป็นการบอกถึงรายละเอียดของ MIDlet suite ว่ามีชื่อว่าอะไร, พัฒนาโดยบริษัทใด, เวอร์ชั่นไหน, ขนาดไฟล์เท่าไหร่, และชื่อไฟล์ JAR ที่ใช้ในการติดตั้งชื่ออะไร (ตรงนี้สามารถใส่ url ที่คุณต้องการให้ download JAR File ได้) ตัวอย่าง Manifest File
สำหรับ Manifest File ข้างต้นจะบอกถึงรายละเอียดของ JAR File นั้นๆว่า เป็น Manifest เวอร์ชั่น เท่าไหร่, ชื่อ MIDlet ว่าอะไร, พัฒนาโดยใคร, เวอร์ชั่นเท่าไหร่,ใช้ MIDP และ Configuration เวอร์ชั่นอะไร สุดท้ายคือ ประกอบด้วย MIDlet อะไรบ้าง
MIDlet Development Steps
ขั้นตอนในการการพัฒนา MIDlet จะมีขั้นตอนดังนี้
ในการพัฒนา MIDlet หลังจากที่คุณได้ทำการเขียนโค้ดขึ้นมาแล้ว คุณจะต้องทำการ Compile โค้ดนั้นด้วย Javac (Java Compiler) สิ่งที่ได้คือไฟล์ class ขั้นตอนต่อไปก็คือคุณต้อง นำไฟล์ class ของคุณไปทำการ Preverifier อีกครั้ง ก่อนจะส่งไฟล์ ที่ได้ไปให้กับมือถือ ทดลอง run เพื่อตรวจสอบการทำงาน ว่าถูกต้องอย่างที่ต้องการหรือไม่ (ดูรูปที่ 9 ประกอบ)
จะเห็นได้ว่าเป็นเรื่องที่ยุ่งยากมาก ในการที่จะเขียน และพัฒนา MIDet ขึ้นมาสักตัว ด้วยเหตุนี้ จึงเกิดการพัฒนา Tools ที่ใช้ในการพัฒนา MIDlet เพื่อให้ผู้พัฒนา มีความสะดวกใน สร้างและพัฒนา MIDlet
MIDP Toolsเครื่องมือในการพัฒนา MIDlet ได้มีออกมาหลายค่ายด้วยกัน มีทั้งต้องเสียเงิน และ ให้ Download ฟรี ตัวอย่างเช่น
ซึ่งในเนื้อหาของเราจะใช้ J2ME Wireless Toolkit ร่วมกับการใช้ Emulator ต่างๆของทาง Nokia เป็นหลัก, สำหรับในขณะที่ผมเขียนหนังสือ เล่มนี้อยู่ Java ก็ได้ ออก J2ME Wireless Toolkit 2.0 ซึ่งเป็น version ใหม่ ที่รองรับกับ MIDP 2.0 ,Wireless Messaging 1.1และ Mobile Media 1.0 ซึ่งก็ยังไม่มี ถือถือ ของค่ายใด ที่รองรับกับ MIDP 2.0 ออกมาจำหน่ายในท้องตลาด
Getting Startหลังจากที่เราได้ให้ทฤษฎีกันก่อนการเริ่มต้น การเขียนโปรแกรม ก็เพื่อว่าจะทำให้คุณเกิดความเข้าใจกันก่อน ว่าอะไรเป็นอะไร ไม่เช่นแล้วคุณก็จะสงสัยว่า หลายสิ่งหลายอย่างจากโค้ดมาได้อย่างไร แต่ถ้าหากว่าในส่วนของทฤษฎีที่ผ่านมา คุณไม่ค่อยเข้าใจ ก็ไม่เป็นไร ขอให้ทำตัวอย่างต่อไป และหวนกลับไปอ่านอีกครั้ง ก็จะทำความเข้าใจได้ง่ายขึ้น สิ่งที่จำเป็นในการพัฒนา MIDlet ก็คือ MIDlet Tool ที่เราจะนำมาใช้ เพื่อความสะดวกในกาพัฒนา ทำให้คุณสามารถพัฒนา MIDlet ได้อย่างรวดเร็ว อย่างที่คุณต้องการ สำหรับในบทเรียนนี้ เราจะมาเริ่มจาก การติดตั้งโปรแกรม ที่มีความสำคัญต่อการพัฒนา รวมทั้งการติดตั้ง Nokia Emulator ซึ่งเป็นโปรแกรมจำลองการทำงาน ของมือถือ รุ่นต่างๆ การติดตั้งและใช้งาน J2ME Wireless Toolkits(WTK)- ก่อนการติดตั้ง คุณจะต้องทำการ Download Java 2 SDK, SE จาก http://java.sun.com/j2se/downloads.html (ซึ่งในขณะที่ผมเขียน หนังสือเล่มนี้ เป็น vesion 1.4.2), แล้วทำการติดตั้ง - การติดตั้งโปรแกรม J2ME Wireless Toolkits(WTK),สามารถ Download โปรแกรมได้จาก http://java.sun.com/j2me/download.html แล้วทำการติดตั้งโปรแกรม โปรแกรมที่ติดตั้งแล้ว จะอยู่ใน Path ของ C:\WTK20 ซึ่งในนี้จะมี Folder ที่เก็บทั้ง โค้ด และ library รวมทั้ง document ของ การเขียน J2ME - การเรียกใช้งานสามารถทำได้โดย เลือกที่เมนู Start->Programs->J2ME Wireless Toolkit 2.0->Ktoolbar จะปรากฏหน้าต่าง ดังรูป
- คลิกปุ่ม New Project จะปรากฏหน้าต่าง ให้ป้อนค่า Project Name เป็น Example และ MIDlet Class Name เป็น HelloWorld, ดังรูปที่ 13 แล้วคลิกปุ่ม Create Project
เมื่อคุณ คลิก Create Project โปรแกรมจะทำการสร้าง Folder ชื่อ Example ตามชื่อของ Project ที่เราตั้งขึ้น โดยจะอยู่ที่ Path C:\WTK20\apps\ , พร้อมทั้งจะมี Folder ย่อยๆที่ทำหน้าที่เก็บข้อมูลต่างๆ เช่น bin =เอาไว้เก็บไฟล์ ที่ผ่านการ complie หรือ make แล้ว, lib =เก็บ library ,res =เก็บไฟล์ resource และ src =เก็บไฟล์โค้ด - ทำการแก้ไข ค่าของ MicroEdition-Profile เป็น MIDP-1.0 ดังแสดงในรูปที่ 14 แล้วคลิกปุ่ม OK
- ทำการสร้างไฟล์ HelloWorld.java โดยมีโค้ดดังตารางด้านล่าง, แล้วบันทึกไว้ที่ Path C:\WTK20\apps\src
- ไปที่หน้าต่าง Ktoolbar แล้วคลิก Run, MIDlet ที่เราเขียนก็จะแสดงให้เห็น บนตัวของ Emulator ดังรูปที่ 15
การติดตั้งและใช้งาน Sun ONE Studio 4 update 1, Mobile Editionสำหรับ โปรแกรม Sun ONE Studio 4 update 1, Mobile Edition เป็น MIDlet Tool ที่สะดวกในการใช้งาน เพราะมี Editor ที่ช่วยในการเขียนโปรแกรมได้เร็ว และเป็นระเบียบ รวมทั้งยังสามารถพัฒนาโปรแกรมในส่วนของ Server ได้ เช่น การพัฒนา Servlet ให้ทำงานร่วมกับ MIDlet - ก่อนการติดตั้ง คุณจะต้องทำการ Download Java 2 SDK, SE จาก http://java.sun.com/j2se/downloads.html (ซึ่งในขณะที่ผมเขียน หนังสือเล่มนี้ เป็น vesion 1.4.2), แล้วทำการติดตั้ง - การติดตั้งโปรแกรม Sun ONE Studio 4 update 1, Mobile Edition ,สามารถ Download โปรแกรมได้จาก http://wwws.sun.com/software/sundev/jde/index.html,แต่ก่อนที่จะ Download ได้ คุณจะต้องลงทะเบียนกับทาง เว็บเค้าก่อน เมื่อได้ ไฟล์มาแล้วให้ทำการติดตั้ง - การเรียกใช้งานสามารถทำได้โดย เลือกที่เมนู Start->Programs->Sun Microsystems->Sun ONE Studio 4 ME->Sun ONE Studio จะปรากฏหน้าต่าง ดังรูป ด้านล่าง ให้คุณทำการป้อน Path ของ Directory ที่คุณต้องการเก็บไฟล์ Project ต่างๆของคุณ (ในที่นี้ผมใส่เป็น C:\J2ME)
ต่อจากนั้น โปรแกรมก็จะให้คุณเลือก แบบของ window mode ที่คุณต้องการใช้งาน ให้คุณเลือก แล้วคลิก Finish จะปรากฏหน้าต่าง ทั้งหมดของโปรแกรม
- ขั้นตอนต่อไป เราก็จะมาเริ่มสร้าง HelloWorld โดยใช้ Sun One Studio กัน, โดยเริ่มจาก ทำการขวาที่ Local Directory แล้วเลือก New->MIDP->HelloMIDlet
- จะปรากฎหน้าต่าง New Wizard, ให้ทำการป้อน Name เป็น HelloWorld ดังรูปด้านล่าง, แล้วให้คลิกปุ่ม Finish
- โปรแกรมจะทำการสร้างโค้ดให้คุณโดยอัตโนมัติ ดังรูปที่ 20
- ขั้นตอนสุดท้ายให้คุณทดลอง run โปรแกรม โดยกดปุ่ม F6, MIDlet ก็จะถูก run และแสดงผลออกทาง Emulator ดังรูปที่ 21
ในบทนี้ เราได้ให้ความรู้เกี่ยวกับ ลักษณะการทำงานของ MIDlet และการใช้งาน MIDlet Tool ในการพัฒนา MIDlet สำหรับในเนื้อหาต่อไป เราจะได้เริ่มกล่าวถึง ลักษณะ ของ GUI (Graphic User Interface) ของ MIDP
|