ประสบการณ์การพอร์ท Flex 4.0 Application ไปยัง Flex 4.6 Mobile Application สำหรับลง Blackberry!! by

31
Jan
0

หลังจากที่ได้ไปงาน Port-A-Thon ของ Blackberry เมื่อเดือนก่อนเลยได้วิธีการที่จะนำเกมของเราที่อยู่ใน Flex 4.0 ซึ่งเป็น Web Application ไปรันใน Blackberry ที่ต้องเป็น Mobile Application (แต่ทำการรันเพียงใน Local เท่านั้นนะครับ ยังไม่มีการติดต่อ Server ใดๆ) ซึ่งจะว่ายากก็ไม่ยาก จะว่าง่ายก็ไม่ง่ายซะทีเดียว โดยวิธีการมีดังนี้จ้า

• ในขั้นแรก เนื่องจากใน Adobe Flash Builder 4.5+ มีการซัพพอร์ทการเขียน Mobile Application ลง OS ของโทรศัพท์มือถือต่างๆ เราจึงต้องย้าย sdk จากเกมของเราที่อยู่ใน Flex4.0 ไปอยู่ในเวอร์ชั่นใหม่ๆ โดยที่เลือกคือ Flex 4.6 ดังนั้นก็เริ่มจากสร้างโปรเจ็คกันก่อน

เลือก New Flex Mobile Project...

เลือก New Flex Mobile Project...

• ตั้งชื่อโปรเจ็คและตั้งค่า SDK

ตั้งค่าต่างๆให้ถูกต้อง

ตั้งค่าต่างๆให้ถูกต้อง

• เลือก Target Platforms เป็น Blackberry และตั้งค่า Application

เลือก Target Platforms เป็น Blackberry แล้ว Finish ได้เลยครับ

เลือก Target Platforms เป็น Blackberry แล้ว Finish ได้เลยครับ

• จากนั้นคัดลอกโฟลเดอร์ที่มีโค๊ดและไลบรารี่ของ Flex Application จาก 4.0 ไปวางทับใน 4.6

คัดลอกโฟลเดอร์ที่มีโค๊ดและไลบรารี่ของ Flex Application จาก 4.0 ไปวางทับใน 4.6

ก็อปปี้โลด

• Refresh โปรเจ็คใหม่ของเราเพื่ออัพเดทโค๊ดที่ก็อปปี้มาครับ

รีเฟรชโปรเจ็คสักรอบ

รีเฟรชโปรเจ็คสักรอบ

•  ก็อปปี้โค๊ดจากตัว Main Application เก่าไปไว้ในตัวใหม่ แล้วลบตัวเก่าได้เลยครับ

ก็อปปี้โค๊ดจากตัว Main Application เก่าไปไว้ในตัวใหม่ แล้วลบตัวเก่าได้เลยครับ

ย้ายเมน

• Error ก็จะโผล่มาเยอะแบบนี้แหละครับ เวลาย้ายเวอร์ชั่น SDK จาก 4 ไป 4.6 หลักๆก็แทบจะไม่ใช้แท็ก mx แล้ว เราก็แก้ให้เป็น Spark ให้หมดครับ

Error ก็จะโผล่มาเยอะแบบนี้แหละครับ เวลาย้ายเวอร์ชั่น SDK จาก 4 ไป 4.6 หลักๆก็แทบจะไม่ใช้แท็ก mx แล้ว เราก็แก้ให้เป็น Spark ให้หมดครับ

Error เต็มเบยยย

• Debug Configurations ตั้งค่าต่างๆที่จะรัน ถ้าเข้ามาครั้งแรกกด Configure… เพื่อเพิ่มตัวที่จะรันครับ

Debug Configurations ตั้งค่าต่างๆที่จะรัน ถ้าเข้ามาครั้งแรกด Configure... เพื่อเพิ่มตัวที่จะรันครับ

Configure... เพื่อไปต่อครับ ถ้าใช้ได้แล้วก็กด Debug เลย

• จะเป็นหน้าควบคุม Device กับ Simulator ที่เรามีอยู่ ถ้าต้องการเพิ่มแนะนำให้เลือก Run Blackberry Deployment Setup Wizard เลยครับใช้ง่าย

จะเป็นหน้าควบคุม Device กับ Simulator ที่เรามีอยู่ ถ้าต้องการเพิ่มแนะนำให้เลือก Run Blackberry Deployment Setup Wizard เลยครับใช้ง่าย

Run Blackberry Deployment Setup Wizard ด้านบน

• กด Next มาที่แท็บที่สอง ให้เราเลือกค้นหา Device หรือ Simulator ได้ตามที่เราจะใช้เลยครับ ถ้าเป็น Simulator ก็ใช้ได้เลยครับถ้าเป็น Device ก็จะต้องใส่ Signed Keys และเซ็ท Debug Token ซึ่งขอได้จาก https://www.blackberry.com/SignedKeys/codesigning.html

กด Next มาที่แท็บที่สอง ให้เราเลือกค้นหา Device หรือ Simulator ได้ตามที่เราจะใช้เลยครับ

เลือก Simulator หรือ Device หรือ Auto เลยก็ได้ครับ

เมื่อเสร็จแล้วก็กด Finish และ OK ก็จะกลับไปหน้า Debug Configurations อีกครั้งถ้าเราตั้งค่าถูกต้องหมดแล้วก็รันได้เลยครับ ถ้าเรามีเครื่อง BB10 แล้วก็สามารถ Run เพื่อให้ Application เข้าไปอยู่ใน BB10 ของเราได้เล้ย!!

JSON Encode และ Decode ใน Flash Builder 4.6 by

30
Apr
0

สืบเนื่องจาก บทความนี้ ผมต้องการที่จะส่งข้อมูลจาก php มายัง flex ในรูปแบบ JSON แต่ว่าในกระทู้นี้จำเป็นต้องหาไฟล์ corelib.swc หรือ as3corelib.swc แล้ว import เข้ามาช่วยทำการ encode และ decode ข้อมูลที่ส่งมาจากไฟล์ php แต่สำหรับ Flash Builder 4.6 ที่ผมใช้อยู่นั้น ผมก็ได้ลองทำตามกระทู้นี้ทุกขั้นตอน แต่ก็ยังเกิด error message ตามนี้

1120: Access of undefined property JSON.

Can not resolve a multiname reference unambiguously. JSON (from C:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\frameworks\libs\player\11.1\playerglobal.swc(JSON, Walker)) and com.adobe.serialization.json:JSON (from C:\Users\shippo\Downloads\corelib.swc(com.adobe.serialization.json:JSON)) are available.

ทำให้ทราบว่า class JSON มันดันซ้ำกันระหว่างไฟล์ playerglobal.swc (ซึ่งมีมากับ Flash Builder 4.6) และ corelib.swc มันจึงรันไม่ได้ซักที ก็พยายามเสิร์ชหาใน Google จนได้ความว่าใน Flash Builder 4.6 นั้น การที่จะ Encode หรือ Decode ข้อมูลที่มาในรูปแบบ JSON สามารถทำเลยโดย

1. การ decode JSON

var aData:* = JSON.parse(e.result as String);

จากตัวอย่างข้างต้นเป็นการ decode JSON ใน Flash Builder 4.6 แทนการใช้ JSON.decode
2. การ encode JSON

var objStr:String = JSON.stringify( {name:”Todd Anderson”, company:”Infrared5″, phone:15558576309}, deflate );

จากตัวอย่างข้างต้นเป็นการ encode JSON ใน Flash Builder 4.6 แทนการใช้ JSON.encode
ซึ่งทั้ง JSON.parse และ JSON.stringify เป็นเมธอดที่มีอยู่แล้วในไฟล์ playerglobal.swc หากต้องการเพียงแค่ encode และ decode ข้อมูลรูปแบบ JSON เราไม่จำเป็นต้องใช้ corelib.swc หรือ as3corelib.swc ก็ได้

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน