พอดีผมเล่นกับ GUI กับ SQLite บนAndroid อยู่ได้พักใหญ่ๆ
ตอนนี้กำลังจะทดลองใช้งานพวก API ทีต่อกับ Bluetooth หรือ API อะไรก็ได้ที่ทำให้เรา connect เพื่อรับ-ส่งข้อมูลกับมือถือเครื่องอื่นได้
ใน Docs ของ Android เองก็มีเขียน class Bluetooth Service มาให้นะครับ
เป็น subclass ของ android.os.BinderNative แล้วก็มีclass Adapter ที่ชื่อว่า org.bluez.Adapter
แต่อ่านไปอ่านมา..ก็ไปเจอหัวข้อ Optional APIs ของ Docs เขียนไว้ว่า
"Low-Level Hardware Access
Android will include APIs for accessing low-level hardware such as Bluetooth and WiFi. These APIs, however, are not yet available in the SDK. When they are released, this documentation will be updated."
ผมเลยงงว่าตกลงผมสามารถเขียนโปรแกรมเพื่อต่อเข้า Bluetooth ได้รึยังหว่า?
เพราะมี Docs ของ Blueeoth API มาให้ แต่ในคำอธิบายดันบอกว่ายังไม่ได้เตรียม API ไว้ให้ใน SDK - -''??
หรือผมแปลภาษาอังกฤษผิดเองก็ไม่รู้
รบกวนใครที่รู้ช่วยมาไขความกระจ่างทีครับ
ปล.สมมุติว่ามันใช้ไมได้จริงๆ แล้วแบบนี้คนที่จะเขียนโปรแกรมบน Android เพื่อต่อเข้ากับ Network หรือ Device อื่นๆจะเขียนกันยังไงละครับเนี่ย
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
ถ้าผมเข้าใจไม่ผิด SDK ตอนนี้จะมีพวก high-level ซึ่งติดต่อได้ไม่มีปัญหาอะไร แต่ไม่ได้ให้ทำอะไรลึกซึ้งซับซ้อน ตอนนี้ก็คงทำได้แค่หาเครื่องอื่น เชื่อมต่อ รับส่ง ซึ่งมากพอสำหรับทำอะไรได้เยอะแยะ แต่ในบางกรณีเราอาจจะอยากทำอะไรมากกว่านั้น อย่างเช่น ประมาณระยะห่างของเครื่องสองเครื่องโดยดูจากความแรงของสัญญาณอะไรพวกนั้น พวกนี้คงอยู่ใน low-level ซึ่งขึ้นกับฮาร์ดแวร์ซะมาก ผมว่าเดี๋ยวก็คงมีให้ใช้
ถ้าอ่านตามที่ยกมา เข้าใจว่ามีส่วนของ high-level แต่ส่วนของ low-level ต้องรอเวอร์ชันหน้าครับ
ขอบคุณพี่ทุกคนที่เข้ามาตอบครับ
ตอนนี้ผมลองไปอ่านใน
http://code.google.com/android/reference/emulator.html
ตรงด้านล่างสุดเค้าเขียนว่า
Emulator Limitations
In this release, the limitations of the emulator include:
No support for placing or receiving actual phone calls. You can simulate phone calls (placed and received) through the emulator console, however.
No support for USB connections
No support for camera/video capture (input).
No support for audio input (capture). Output (playback) is supported.
No support for device-attached headphones
No support for determining connected state
No support for determining battery charge level and AC charging state
No support for determining SD card insert/eject
No support for Bluetooth
นั่นก็แปลว่าถึงจะมี API ให้แต่ก็ยังใช้ ทดสอบอะไรไม่ได้อยู่ดีครับเพราะ emulator ไม่ support
ถ้าเป็นแบบนี้ผมก็จะลองใช้วิธีปาหี่เอาแทนก้แล้วกัน - -''
เนื่องจากว่า Android เตรียม Interface ชื่อ IBluetooth ไว้ให้ ผมจะใช้วิธีไป implements method ของมันให้ครบโดยเขียน contentด้านในเป็นการ ต่อผ่าน socketแทนเนื่องจาก Andrioid Support java.net.* อยู่
คิดว่าวิธีนี้น่าจะเหมาะกับการแก้ปัญหาเฉพาะหน้าเพื่อทดสอบการเขียนโปรแกรมต่อ Bluetooth ที่สุดแล้ว (มั้ง)
พี่ๆมีอะไรจะแนะนำมั้ยครับ?
แปลว่าจะทำ p2p ละมั๊งนี่ ทางเลือกไม่ค่อยมี socket ไปก่อนก็ได้
ถูกต้องนะคร้าบ!!