วันอังคารที่ 30 เมษายน พ.ศ. 2562

สิ่งที่จะต้องทำ(เพิ่มเติม)

    หลังจากการสอบวิชา Project II ได้มีเรื่องที่จะต้องทำเพิ่มเติมดังนี้
1. ทำการแจ้งเตือนผู้ใช้ว่าตอนนี้ ตัวอุปกรณ์กำลังใช้งาน GPS หรือ IPS
2. ทำปุ่มย้อนกลับไปยัง Node ก่อนหน้า
3. สำรวจหน้าภาค CE, IEE, ChE, InSE, LE (ตึก 89, 86, 88)
4. ทำหน้าแจ้งเตือนสำหรับผู้ใช้ที่มีระบบปฏิบัติการเป็น Android 9
5. เขียนวิทยานิพนธ์

วันอาทิตย์ที่ 21 เมษายน พ.ศ. 2562

Publishing App on Play Store

    ในขณะนี้เราได้ทดลองนำแอปพลิเคชั่นของเราไปเผยแพร่อยู่บน Play Store แล้ว แต่ว่าอาจจะต้องรอทาง Google ตรวจสอบก่อนครับ




วันเสาร์ที่ 20 เมษายน พ.ศ. 2562

Privacy Policy

นโยบายการคุ้มครองข้อมูลส่วนบุคคลของผู้ใช้บริการ

    ในแอปพลิเคชั่น AR Navigator @ENG KUMTNB ของเรานั้นสำหรับการเก็บข้อมูล ทางเราไม่ได้มีการเก็บข้อมูลของผู้ใช้งาน เพราะเราต้องการแค่ขออนุญาตใช้งาน GPS เพื่อใช้ในการระบุตำแหน่งของผู้ใช้ เพื่อที่เราจะได้นำทางได้อย่างถูกต้อง และขออนุญาตในการใช้กล้องเพื่อที่จะใช้งานในตัวของ AR เพียงเท่านั้น

วันพฤหัสบดีที่ 11 เมษายน พ.ศ. 2562

การสมัคร Play Store Developer

    เนื่องจากเราต้องการที่จะนำ Application ของเรานั้นอัพโหลดขึ้นไปอยู่บน Play Store เพื่อที่จะให้คนอื่นนั้นสามารถที่จะนำ Application ของเรานั้นไปทดสอบใช้งานได้ง่าย ทางเราจึงได้สมัคร Play Store Developer โดยจ่ายเงินเป็นจำนวน 25 USD แบบครั้งเดียวตลอดชีพ ภายใต้ชื่อ Neo5 Studio โดย Neo5 นั้นสามารถออกเสียงได้เป็น Neophyte ที่แปลว่าผู้ฝึกหัด โดยเราใช้ชื่อนี้เพื่อสื่อความหมายถึงบริษัท หรือทีมงานที่เป็น Startup







ความคลาดเคลื่อนของการวัดระยะโดยแอปพลิเคชั่น

    ในฟังก์ชันการวัดระยะที่ใช้อยู่ในปัจจุบันจะทำการวัดจากนำตำแหน่งพิกัดละติจูดและลองติจูดของตำแหน่งของอุปกรณ์ของผู้ใช้ กับพิกัดของตำแหน่งที่เรากำหนดไว้มาเข้าฟังก์ชันหาระยะห่าง ซึ่งในการวัดระยะที่ต้องอาศัย GPS นั้นย่อมมีความผิดพลาด เราจึงทดลองความผิดพลาดด้วยวิธีดังนี้

    1. คาดคะเนตำแหน่งของพิกัดที่เราเก็บไว้แล้วให้ผู้ทดสอบไปยืน

    2. ให้อีกคนหนึ่งยืนห่างจากผู้ทดสอบคนแรกเป็นระยะ 5 เมตร (ใช้ตลับเมตรวัด)

    3. ทดลองเปิดแอปพลิเคชั่นแล้วดูระยะที่ขึ้นมาว่าคลาดเคลื่อนไปมากเท่าไร



    จากผลการทดลองจะสรุปได้ว่าระยะที่เรานั้นยืนห่างจากจุดตำแหน่งที่กำหนดไว้เป็น 5 เมตร แต่ระยะที่วัดได้จากแอปพลิเคชั่นจะอยู่ที่ 9 เมตร ซึ่งสามารถบอกได้ว่ามีความคลาดเคลื่อนอยู่ที่ประมาณ 4 เมตร แต่ระหว่างที่ทดลองอยู่นั้นจะมีบางจังหวะที่ตำแหน่งของวัตถุเสมือนนั้นมีการกระโดดไปเนื่องจากความผิดเพี้ยนของ GPS 

วันศุกร์ที่ 5 เมษายน พ.ศ. 2562

ขอ Permission ให้กับ App

เริ่มจากทำการสร้าง Activity ใหม่ขึ้นมา แล้วนำโค้ดเก่าย้ายไปใส่ Activity ใหม่
*Activity เปรียบเสมือน หน้าของ App; 1 Activity = 1 หน้า



จากนั้นให้เพิ่มโค้ดใน AndroidManifest.xml เพื่อบอกให้รู้ว่ามี Activity ใหม่เพิ่มมา (ดั่งเดิมมีแค่ MainActivity)



ถัดมาการทำการเพิ่มโค้ดสำหรับเช็ค Permission ไว้ใน MainActivity



โดย Code ส่วนสำคัญที่จะทำการ Override คือ



1) permissionsGranted เป็น methed ที่จะทำงานหาก permission ที่กำหนดไว้ได้รับการอนุญาติหมดแล้ว ซึ่งในที่นี้หากผู้ใช้อนุญาติ Permission หมดแล้วก็จะทำการเรียกใช้ ArActivity ซึ่งเป็นหน้า Application หลัก



2) permissionsDinied จะทำงานเมื่อมีการปฏิเสธ ไม่อนุญาติ Permission ในที่นี้จะทำการโชว์เป็นข้อความ popup แบบ Toast ขึ้นมา(จะโผล่ขึ้นมาด้านล่าง แล้วค่อยๆจางหายไป)




3) showPermissionRationale เป็น method ที่จะทำงานเมื่อ Permission ที่กำหนดไว้ยังไม่ได้รับการอนุญาต(และยังไม่ได้ปฏิเสธ) และจะทำการเรียกใช้ฟังก์ชั่น positiveRationaleResult สำหรับเรียกหน้าต่างขอ Permission ของ Android ขึ้นมา

ความคลาดเคลื่อนของ Google Maps




    ในการเก็บพิกัดตำแหน่งของสถานที่ต่างๆที่เราจะให้แสดงตัวของโมเดล เราจะใช้อุปกรณ์ช่วยอย่าง Google Maps ในการเก็บพิกัด แต่เมื่อเรานำมาใช้กับแอปพลิเคชั่น แล้วปรากฏว่ามีความคลาดเคลื่อนในเบื้องต้นได้สันนิษฐานว่าอาจจะเป็นที่เครื่องโทรศัพท์มือถือของเรานั้น มีความบกพร่องทางการรับสัญญาณ GPS แต่ในระหว่างที่กำลังเก็บพิกัดเพิ่มเติม ผมได้สังเกตเห็นอะไรบางอย่างตามรูปภาพด้านล่าง




    ในรูปภาพจะปรากฏตัวสัญลักษณ์ที่เป็นวงกลมใหญ่สีขาว โดยสัญลักษณ์นี้แสดงถึงการมาร์กตำแหน่งที่ต้องการจะรู้พิกัด และเมื่อเรานำเมาส์ไปชี้ที่พิกัดที่ได้ จะปรากฏวงกลมขึ้นมาอีกวงหนึ่งทางด้านขวา ซึ่งผมก็ได้รู้สึกสงสัยว่ามันคืออะไร ทำให้ผมนึกย้อนกลับไปเมื่อตอนที่ผมกำลังทดสอบความคลาดเคลื่อนของโมเดลที่จุดของหน้าตึก 81 ซึ่งผมได้เอาโมเดลไปวางไปที่ตำแหน่งในรูปภาพเช่นเดียวกัน แต่ปรากฏว่าตัวของโมเดลนั้นได้ไปปรากฏอยู่ตรงบริเวณวงกลมด้านเล็กพอดี ไม่ได้อยู่ในตำแหน่งที่ผมต้องการ

    จากผลการทดสอบดังกล่าวผมจึงคิดว่าน่าจะเป็นความคลาดเคลื่อนของ Google Maps ที่บางจุดก็ไม่สามารถที่จะดึงตำแหน่งของ GPS มาได้เลยเลือกตำแหน่งใกล้เคียงแทน ซึ่งในส่วนนี้ผมยังไม่ได้หาข้อมูลละเอียดมากนัก แต่ได้ลองเปลี่ยนไปใช้ https://www.mapcoordinates.net แทนครับ