>>> Let's run Python on Mobile

วันจันทร์, มีนาคม 27, 2549

ลง PersonalJava ใน WindowsMobile SmartPhone

Step by Step
หลังจากลองใช้มาได้สักระยะ ผมก็รู้สึกชอบ PersonalJava มากขึ้นเรื่อยๆ
เลยจะขอแนะนำวิธีติดตั้ง,วิธีใช้กับ WindowsMobile SmartPhone
( เครื่องรุ่นที่ผมใช้เป็น WindowsMobile2003SE รุ่นอื่นก็น่าจะใช้ได้ )

บอกไว้ก่อนเลยว่า PersonalJava ไม่ใช่ Java2ME
ดังนั้นเอาพวก ไฟล์ .jar,.jad แบบของโทรศัพท์มือถือทั่วไป มาลง ไม่ได้แน่นอน
แต่ มันมีความสามารถเหนือ J2ME ในหลายๆด้าน เช่น การอ่านเขียนไฟล์ ,awt ,swing ,jni
เปรียบเทียบแล้ว PersonalJava ก็ ประมาณ Java1.1
( specใกล้เคียงกับ Java1.1 บน PC )
อาจจะฟังดูค่อนข้างเก่า แต่ก็มีข้อดีคือ โปรแกรมที่เขียนไว้ run บน PersonalJava จะสามารถนำมา run บน PC ที่ติดตั้ง Java version ใหม่ๆได้ด้วย
สรุป ก็คือเหมาะสำหรับผู้สนใจจะเขียนโปรแกรมไว้ใช้เองบน SmartPhone
ด้วยภาษา Java
ผมลองแล้วใช้ได้กับภาษาอื่นๆที่ port มาลง Java ได้ด้วย เช่น
Python (Jython)
JavaScript (Rhino)
(ว่าจะลอง NetREXX กับ Scheme ต่อ แต่ยังเขียนไม่เป็น.)

มาเริ่มกันเลยดีกว่า
ขั้นแรก คุณต้องหาโปรแกรม PersonalJava มาให้ได้ซะก่อน
ก็เคย D/L ได้จาก website ของ Sun ในสมัยก่อน แต่ตอนนี้หาไม่เจอแล้ว
พอจะหาได้บ้างโดยใช้ Google
click here to search for pjavawince-1_1-beta1-arm.zip
ลองค้นๆดูครับไฟล์ชื่อ pjavawince-1_1-beta1-arm.zip
ได้มาแล้วเปิดดูด้วย Winzip หรือ WinRar จะพบไฟล์ชื่อ pjavawince.arm.CAB อยู่ภายใน

ภายใน pjavawince-1_1-beta1-arm.zip

ไฟล์ pjavawince.arm.CAB นี้ มีไว้สำหรับติดตั้ง PersonalJava ลงใน PocketPC
ดังนั้นมันคงไม่ยอมลงไปอยู่ใน SmartPhone ง่ายๆ
วิธีติดตั้ง PersonalJava ลง WindowsMobile SmartPhone แบบง่ายที่สุดก็คือ
นำไฟล์ชื่อ pjavawince.arm.CAB ไปติดตั้งใน PocketPC ให้เรียบร้อยก่อน
แล้วแงะไฟล์ที่ต้องการออกมา ได้แก่ ไฟล์ชื่อ
javai.dll
pjava.exe
wceCompat.dll

3ไฟล์ที่ต้องการ ภายใน PocketPC

แต่ถ้าคุณไม่มี PocketPC ก็ลองทำตามวิธีถัดไปนี้
ใช้ WinRar เปิดไฟล์ชื่อ pjavawince.arm.CAB จะพบไฟล์ และโฟลเดอร์มากมาย อยู่ภายใน
มองหาไฟล์ชื่อ 000javai.001 แล้ว copy มันออกมา
ต่อมาเข้าไปใน โฟลเดอร์ชื่อ wce300 จะมี 2 ไฟล์ อยู่ภายใน
ชื่อ WCECOM~1.016 และ pjava.015 ให้ copy มันออกมา
3 ไฟล์ ที่ได้นี้แหล่ะ เป็นไฟล์ที่เราต้องการ

เปิดไฟล์ pjavawince.arm.CAB
มองหาไฟล์ชื่อ 000javai.001


ใน โฟลเดอร์ชื่อ wce300
มองหาไฟล์ชื่อ WCECOM~1.016 และ pjava.015

ขั้นถัดไปก็ rename
000javai.001 ไปเป็น javai.dll
pjava.015 ไปเป็น pjava.exe
WCECOM~1.016 ไปเป็น wceCompat.dll
ดังรูป ข้างล่างนี้

จัดการ Rename

ขั้นถัดไปก็นำไฟล์ทั้งสาม ที่ได้มาไปใส่ใน SmartPhone
แนะนำให้ใส่ไว้ใน Phone นะครับ (ในโฟลเดอร์ \Storage\pjava\bin)
ผมเคยลองใส่ไว้ใน Storage Card แล้ว มันเปิดโปรแกรมช้ามากๆ

ใน Smartphone ในโฟลเดอร์ \Storage
ให้สร้าง โฟลเดอร์ใหม่ชื่อ \pjava
ในโฟลเดอร์ \pjava ให้สร้าง โฟลเดอร์ใหม่ลงไปอีกชั้นชื่อ \bin

จะได้เป็น \Storage\pjava\bin ให้นำไฟล์ ทั้ง3มาไว้ใน โฟลเดอร์นี้
ดังรูป

นำไฟล์ ทั้ง3มาไว้ใน \Storage\pjava\bin

เท่านี้ก็เรียบร้อย
ต่อไปก็วิธี run โปรแกรม
สมมติคุณได้โปรแกรมชื่อ test.class มา
ให้ใช้ Notepad สร้างไฟล์ชื่อ test.lnk มีตัวอักษรดังนี้

205#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage\pjava" test

ทั้งหมดนี้ไม่มีการขึ้นบรรทัดใหม่นะครับ ให้เรียงกันไปในบรรทัดเดียว
เลขข้างหน้า เป็นเลขอะไรก็ได้ ตามด้วยเครื่องหมาย #
แล้วตามด้วย path ของ pjava
วรรค แล้วตามด้วย -classpath
แล้วตามด้วย path ของ ไฟล์ .class
(เป็นการบอกว่า จะหา ไฟล์ .class ได้จากที่ไหน)
วรรคอีกครั้ง แล้วตามด้วยชื่อของ ไฟล์ .class (ไม่ต้องเขียนนามสกุล)

ต่อมานำไฟล์ ทั้งสอง คือ test.class และ test.lnk
ไปไว้ในโฟลเดอร์ \Storage\pjava
เวลาเรียกโปรแกรมก็เปิดโปรแกรมพวก SmartExplorer ใน Smartphone
แล้วคลิกที่ test.lnk

คลิกด้วย SmartExplorer

ตัวอย่างถัดไป สมมติคุณได้ไฟล์ testjar.jar ที่มี testjar.class อยู่ภายใน
ไฟล์ testjar.lnk ก็จะเป็น
206#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage\pjava\testjar.jar" testjar

ผมเตรียมไฟล์ทดสอบไว้ที่นี่ครับ
testjava.zip
ถ้าติดตั้ง PersonalJava เรียบร้อยแล้ว D/L มาทดลองได้

ทดสอบโปรแกรม

ถ้าคุณใช้ภาษา java เป็น
ก็สามารถD/L jdk1.1 มาเขียนโปรแกรมไว้ใช้เองได้ครับ