สำหรับการรับส่งข้อมูลผ่านสัญญาณบลูทูธบนแอนดรอยด์นั้นจะนิยมใช้วิธีที่เรียกว่า Serial Port Profile (SPP) ซึ่งมีรูปแบบในการส่งข้อมูลเป็นแบบพอร์ตอนุกรม จึงเหมาะกับการใช้งานร่วมกับอุปกรณ์ภายนอกต่างๆที่ทำงานด้วยไมโครคอนโทรลเลอร์ เพราะบนไมโครคอนโทรลเลอร์จะมีขาสำหรับเชื่อมต่อแบบอนุกรมที่เรียกว่า UART ซึ่งสามารถนำมาใช้งานร่วมกับโมดูลบลูทูธเพื่อเชื่อมต่อกับแอนดรอยด์
แต่ทั้งนี้ทั้งนั้นปัญหาหลักของนักพัฒนาส่วนใหญ่จะไม่ได้เป็นเพราะการเขียนโปรแกรมบนไมโครคอนโทรเลอร์แต่อย่างใด เพราะบนไมโครคอนโทรลเลอร์การใช้งาน UART เป็นหนึ่งในพื้นฐานของไมโครคอนโทรลเลอร์อยู่แล้ว สามารถเขียนได้ไม่ยากอีกทั้งยังมีไลบรารีให้นำมาใช้งานได้เลย อย่างเช่น บอร์ดต่างๆที่รองรับโปรแกรม Arduino (เจ้าของบล็อกใช้บอร์ด Unicon)
ปัญหาที่ผู้ที่หลงเข้ามาอ่านหลายๆคนจะเจอกันก็คือ การเขียนเชื่อมต่อบลูทูธบนแอนดรอยด์นั้นยากพอตัว โค๊ดหยุบหยับสองสามไฟล์ถึงจะใช้งานได้ แถมใช้งานได้ก็ไม่สมบูรณ์มากนักต้องมีการปรับโค๊ดและเขียนอื่นๆเพิ่ม Bluetooth [Android Developer]
เนื่องจากเจ้าของบล็อกใช้โค๊ดชุดนี้บ่อยพอควร บ้างก็งานเร่งรีบ บ้างก็งานชิวๆ แต่จะให้เขียนหลายครั้งก็ชวนขี้เกียจเหมือนกัน เพราะต้องมานั่งปรับนู่นนั่นนี่ทำให้เสียเวลาพอควร
เจ้าของบล็อกเลยลองเขียนไลบรารีไว้ใช้งานเองซะเลย เพราะคิดว่าน่าจะยังไม่มีคนเขียนไลบรารี (ไม่รู้ว่ามีปะ เพราะไม่ได้ลองหาดู) ถ้าไม่อยากนั่งรอไลบรารีของคนอื่นมาใช้ ก็ต้องเป็นคนเขียนไลบรารีเองน่ะแหละ จึงเป็นที่มาของไลบรารี BluetoothSPP นั่นเอง
• เรียกใช้งานได้ง่าย (ย้ายความยุ่งยากของโค๊ดทั้งหมดไปไว้ในไลบรารี)
• หมดปัญหาเรื่องข้อมูลที่รับมาแล้วไม่ต่อเนื่อง เพราะปกติแล้วจะมีผู้ที่หลงเข้ามาอ่านหลายคนมีปัญหากับเรื่องนี้ เพราะว่าเวลารับข้อมูลเช่น "ABCDEF" แอปพลิเคชันสามารถรับได้ปกติ แต่ว่าข้อมูลจะขาดช่วงเช่น ชุดแรกรับได้เป็น "AB" และตามด้วย "CDEF" อีกชุด ซึ่งไลบรารีตัวนี้จัดการปัญหานี้ไว้เรียบร้อยแล้ว
• เวลาส่งข้อมูลใดๆไปยังอุปกรณ์อื่นๆจะต่อท้ายด้วย LF และ CR (0x0A และ 0x0D) เพื่อให้อุปกรณ์อย่างไมโครคอนโทรลเลอร์สามารถเช็คตัวปิดได้ ซึ่งเลือกที่จะใส่ LF กับ CR ต่อท้ายได้ ตอนใช้คำสั่งส่งข้อมูลจะมีให้กำหนด
• ไม่ต้องเขียนหน้าเลือกอุปกรณ์ที่จะเชื่อมต่อ เจ้าของบล็อกเขียนไว้ให้แล้ว ผู้ที่หลงเข้ามาใช้งานก็เพียงแค่ใช้คำสั่ง Intent ไปยังหน้าที่ว่าก็พอ (แต่สามารถ Custom หน้าดังกล่าวได้ โดยไม่ต้องเขียนโค๊ดใหม่ แค่ทำหน้า Layout ตามที่กำหนดไว้ก็ใช้แทนได้แล้ว)
• คำสั่งเชื่อมต่อบลูทูธโดยอัตโนมัติ สำหรับผู้ที่หลงเข้ามาใช้งานที่ต้องการให้เปิดแอปพลิเคชันขึ้นมาแล้วทำการเชื่อมต่อกับอุปกรณ์ที่กำหนดทันที โดยสามารถกำหนดส่วนใดส่วนหนึ่งของชื่อได้ แล้วจะทำการค้นหาจากชื่อที่เคยเชื่อมต่อไว้ว่ามีอุปกรณ์ตัวไหนที่มีชื่อตรงกับคำที่กำหนดไว้ แล้วจะทำการเชื่อมต่อทีละตัวไปเรื่อยๆ และเมื่อการเชื่อมต่อ ณ ตอนนั้นหยุด จะทำการเชื่อมต่ออัตโนมัติใหม่ตามคีย์เวิร์ดที่กำหนดไว้
• Listener ที่เตรียมขึ้นมาเพื่ออำนวยความสะดวกในการใช้งาน เช่น เวลามีข้อมูลส่งเข้ามา บลูทูธทำการเชื่อมต่อหรือหยุดเชื่อมต่อ เป็นต้น
สำหรับไลบรารี Bluetooth SPP สามารถดาวน์โหลดได้จาก
BluetoothSPP [GitHub]
BluetoothSPP [Google Drive]
BluetoothSPP [Sleeping For Less]
โดยจะมีคลาสให้เรียกใช้งานหลักๆด้วยกันทั้งหมดดังนี้
• BluetoothSPP
app.akexorcist.bluetoothspp.BluetoothSPP
คลาสหลักที่เอาไว้เรียกใช้งาน BluetoothSPP
• BluetoothState
app.akexorcist.bluetoothspp.BluetoothState
คลาสที่เอาไว้เก็บค่าตัวแปรเพื่อเรียกใช้งาน
• BluetoothStateListener
app.akexorcist.bluetoothspp.BluetoothSPP.BluetoothStateListener
คลาส Listener สำหรับเวลาที่ Service ของคลาสมีการเปลี่ยนสถานะ
• BluetoothConnectionListener
app.akexorcist.bluetoothspp.BluetoothSPP.BluetoothConnectionListener
คลาส Listener สำหรับสถานะเชื่อมต่อกับอุปกรณ์บลูทูธต่างๆ
• OnDataReceivedListener
app.akexorcist.bluetoothspp.BluetoothSPP.OnDataReceivedListener
คลาส Listener สำหรับรับข้อมูลที่ส่งมาจากอุปกรณ์ที่เชื่อมต่อ
• AutoConnectionListener
app.akexorcist.bluetoothspp.BluetoothSPP.AutoConnectionListener
คลาส Listener สำหรับการเชื่อมต่อแบบอัตโนมัติ
• DeviceList
app.akexorcist.bluetoothspp.DeviceList
คลาส Activity ที่เป็นหน้าเลือกอุปกรณ์ที่จะเชื่อมต่อแบบสำเร็จรูป
การใช้งานคลาส BluetoothSPP สามารถประกาศได้ดังนี้
BluetoothSPP bt = new BluetoothSPP(this);
BluetoothSPP bt = new BluetoothSPP(ActiviyName.this);
BluetoothSPP bt = new BluetoothSPP(getApplicationContext());
สามารถใช้งานแบบไหนก็ได้ตามแต่สะดวก
โดย BluetoothSPP จะประกอบไปด้วยเมธอดดังนี้
BluetoothAdapter getBluetoothAdapter()
boolean isBluetoothAvailable()
boolean isBluetoothEnabled()
void enable()
void setupService()
void startService(boolean isAndroid)
void stopService()
int getServiceState()
boolean isServiceAvailable()
void setDeviceTarget(boolean isAndroid)
void connect(Intent data)
void connect(String address)
void disconnect()
boolean startDicoverty()
boolean isDicoverty()
boolean cancelDicoverty()
void setAutoConnectionListener(AutoConnectionListener listener)
void setBluetoothConnectionListener(BluetoothConnectionListener listener)
void setBluetoothStateListener(BluetoothStateListener listener)
void setOnDataReceivedListener(OnDataReceivedListener listener)
void send(byte[] data, boolean CRLF)
void send(String data, boolean CRLF)
String getConnectedDeviceName()
String getConnectedDeviceAddress()
String[] getPairedDeviceName()
String[] getPairedDeviceAddress()
void autoConnect(String keywordName)
void stopAutoConnect()
boolean isAutoConnecting()
• getBluetoothAdapter
Description : รับข้อมูลของบลูทูธที่ใช้งานอยู่ ในรูปของคลาส Bluetooth Adapter
Parameter : ไม่มี
Return : คลาส Bluetooth Adapter ที่ใช้งานอยู่
Method
BluetoothAdapter getBluetoothAdapter()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
BluetoothAdapter btAdapter = bt.getBluetoothAdapter();
• isBluetoothAvailable
Description : เอาไว้ตรวจสอบว่าเครื่องรองรับบลูทูธหรือไม่
Parameter : ไม่มี
Return : Boolean โดยเป็น True เมื่อเครื่องรองรับ และเป็น False เมื่อไม่รองรับ
Method
boolean isBluetoothAvailable()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
boolean isAvailable = bt.isBluetoothAvailable();
• isBluetoothEnabled
Description : เอาไว้ตรวจสอบว่าเครื่องได้เปิดใช้งานบลูทูธอยู่หรือไม่
Parameter : ไม่มี
Return : Boolean โดยเป็น True เมื่อบลูทูธเปิดอยู่ และเป็น False เมื่อปิดอยู่
Method
boolean isBluetoothEnabled()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
boolean isEnabled= bt.isBluetoothEnabled();
• enable
Description : เอาไว้สั่งให้เครื่องทำการเปิดใช้งานบลูทูธทันที ซึ่งไม่ค่อยแนะนำมากนัก แนะนำให้ใช้วิธี Intent ไปที่ System ของบลูทูธเพื่อให้ผู้ใช้เปิดเองดีกว่า แต่เมธอดนี้ใส่เผื่อไว้เฉยๆ
Parameter : ไม่มี
Return : ไม่มี
Method
void enable()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.enable();
• setupService
Description : กำหนดค่าให้กับ Service ของ BluetoothSPP
Parameter : ไม่มี
Return : ไม่มี
Method
void setupService()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.setupService();
• startService
Description : ให้ Service ของ BluetoothSPP เริ่มทำงาน
Parameter : isAndroid เป็นตัวแปร Boolean เพื่อกำหนดว่าอุปกรณ์ที่เชื่อมต่อเป็นอุปกรณ์แอนดรอยด์หรืออย่างอื่น ให้กำหนดเป็น BluetoothState.DEVICE_ANDROID หรือ BluetoothState.DEVICE_OTHER
Return : ไม่มี
Method
void startService(boolean isAndroid)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.startService(BluetoothState.DEVICE_ANDROID);
• stopService
Description : ให้ Service ของ BluetoothSPP หยุดทำงาน
Parameter : ไม่มี
Return : ไม่มี
Method
void stopService()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.stopService();
• getServiceState
Description : รับค่าสถานะของ Service ของ BluetoothSPP ว่าอยู่ในสถานะใด
Parameter : ไม่มี
Return : Integer โดยค่าที่ได้จะมีค่าเท่ากับ
BluetoothState.STATE_NONE : Service ยังไม่ได้ทำอะไร
BluetoothState.STATE_LISTEN : Service รอการเชื่อมต่อ
BluetoothState.STATE_CONNECTING : เชื่อมต่อกับอุปกรณ์ที่กำหนด
BluetoothState.STATE_CONNECTED : เชื่อมต่อกับอุปกรณ์แล้ว
BluetoothState.STATE_NULL : Service เป็น Null
Method
int getServiceState()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
int service_state = bt.getServiceState();
• isServiceAvailable
Description : ตรวจสอบว่า Service ของ BluetoothSPP สามารถใช้งานได้หรือไม่
Parameter : ไม่มี
Return : Boolean โดยเป็น True ถ้า Service พร้อมใช้งาน และเป็น False เมื่อยังไม่พร้อม
Method
boolean isServiceAvailable()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
boolean isAvailable = bt.isServiceAvailable();
• setDeviceTarget
Description : กำหนดอุปกรณ์ที่ต้องการเชื่อมต่อว่าจะเป็นอุปกรณ์แอนดรอยด์หรืออย่างอื่น
Parameter : isAndroid เป็นตัวแปร Boolean เพื่อกำหนดว่าอุปกรณ์ที่เชื่อมต่อเป็นอุปกรณ์แอนดรอยด์หรืออย่างอื่น ให้กำหนดเป็น BluetoothState.DEVICE_ANDROID หรือ BluetoothState.DEVICE_OTHER
Return : ไม่มี
Method
void setDeviceType(boolean isAndroid)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.setDeviceTarget(BluetoothState.DEVICE_OTHER);
• connect - Intent
Description : เชื่อมต่อกับอุปกรณ์ที่กำหนด (ใช้ร่วมกับ DeviceActivity)
Parameter : Intent ที่มาจากหน้าเลือกอุปกรณ์ (DeviceActivity) ที่อยู่ในคลาส BluetoothSPP แล้วนำไปใช้เชื่อมต่อบลูทูธ
Return : ไม่มี
Method
void connect(Intent data)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
Intent intent = ....;
bt.connect(intent);
• connect - String
Description : เชื่อมต่อกับอุปกรณ์ที่กำหนด
Parameter : String ที่เป็นค่า Address ของบลูทูธเครื่องนั้นๆ
Return : ไม่มี
Method
void connect(String address)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.connect("0A:1B:2C:3D:4E:5F");
• disconnect
Description : หยุดการเชื่อมต่อกับอุปกรณ์ที่เชื่อมต่ออยู่
Parameter : ไม่มี
Return : ไม่มี
Method
void disconnect()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.disconnect();
• startDiscovery
Description : เปิด Discovery เพื่อให้อุปกรณ์อื่นๆสามารถค้นหาเจอ
Parameter : ไม่มี
Return : Boolean สถานะของการเปิด Discovery โดย True คือสำเร็จและ False คือมีปัญหา
Method
boolean startDiscovery()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
ฺboolean state = bt.startDiscovery();
• isDiscovery
Description : ตรวจสอบว่าเปิด Discovery ไว้อยู่หรือป่าว
Parameter : ไม่มี
Return : Boolean สถานะของ Discovery โดย True คือเปิดอยู่และ False คือปิดอยู่
Method
boolean isDiscovery()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
boolean state = bt.isDiscovery();
• cancelDiscovery
Description : ยกเลิก Discovery
Parameter : ไม่มี
Return : Boolean สถานะของการปิด Discovery โดย True คือสำเร็จและ False คือมีปัญหา
Method
boolean cancelDiscovery()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
boolean state = bt.cancelDiscovery();
• send - Byte Array
Description : ส่งข้อมูลผ่านบลูทูธเป็นข้อมูลแบบ Byte Array
Parameter : Byte[] ข้อมูล Byte ที่ต้องการส่ง และ ฺBoolean กำหนดว่าจะส่ง CR LF ต่อท้ายหรือไม่
Return : ไม่มี
Method
void send(byte[] data, boolean CRLF)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.send(new byte[] { 0x30, 0x41 }, false);
• send - String
Description : ส่งข้อมูลผ่านบลูทูธเป็นข้อมูลแบบ ASCII String
Parameter : String ข้อมูล ASCII String ที่ต้องการส่ง และ Boolean กำหนดว่าจะส่ง CR LF ต่อท้ายหรือไม่
Return : ไม่มี
Method
void send(String data, boolean CRLF)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.send("Message from android device", true);
• getConnectedDeviceName
Description : รับชื่ออุปกรณ์ที่เชื่อมต่ออยู่ ณ ตอนนั้น
Parameter : ไม่มี
Return : String ชื่ออุปกรณ์บลูทูธนั้นๆ ถ้าไม่ได้เชื่อมต่อจะเป็น Null
Method
String getConnectedDeviceName()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
String name = bt.getConnectedDeviceName();
• getConnectedDeviceAddress
Description : รับ Address ของอุปกรณ์ที่เชื่อมต่ออยู่ ณ ตอนนั้น
Parameter : ไม่มี
Return : String ของ Address อุปกรณ์บลูทูธนั้นๆ ถ้าไม่ได้เชื่อมต่อจะเป็น Null
Method
String getConnectedDeviceAddress()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
String address = bt.getConnectedDeviceAddress();
• getPairedDeviceName
Description : รับรายชื่ออุปกรณ์ที่เคยจับคู่ไว้
Parameter : ไม่มี
Return : String[] สำหรับชื่ออุปกรณ์ทั้งหมดที่เคยจับคู่
Method
String[] getPairedDeviceName()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
String[] list_name = bt.getPairedDeviceName();
• getPairedDeviceAddress
Description : รับรายชื่อ Address ของอุปกรณ์ที่เคยจับคู่ไว้
Parameter : ไม่มี
Return : String[] สำหรับ Address ของอุปกรณ์ทั้งหมดที่เคยจับคู่
Method
String[] getPairedDeviceAddress()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
String[] list_address = bt.getPairedDeviceAddress();
• autoConnect
Description : เปิดใช้งานการเชื่อมต่ออัตโนมัติ
Parameter : String สำหรับ Keyword ให้กับอุปกรณ์ที่ต้องการให้เชื่อมต่ออัตโนมัติ
Return : ไม่มี
Method
void autoConnect(String keywordName)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.autoConnect("BlueStick");
• stopAutoConnect
Description : หยุดการเชื่อมต่ออัตโนมัติ
Parameter : ไม่มี
Return : ไม่มี
Method
void stopAutoConnect()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.stopAutoConnect();
• isAutoConnecting
Description : ตรวจสอบสถานะว่าการเชื่อมต่ออัตโนมัติทำงานอยู่หรือไม่
Parameter : ไม่มี
Return : Boolean ถ้าเป็น True เวลาเชื่อมต่ออัตโนมัติอยู่ และเป็น False ถ้าไม่ใช่
Method
boolean isAutoConnecting()
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
boolean isAuto = bt.isAutoConnecting();
• setAutoConnectionListener
Description : กำหนด Listener สำหรับการเชื่อมต่ออัตโนมัติ
Parameter : Listener จากคลาส AutoConnectionListener
Return : ไม่มี
Callback :
onNewConnection : เมื่อทำการเชื่อมต่ออุปกรณ์ตัวใดๆ
โดยมี Parameter เป็น String ของ Name และ
Address ของเครื่องที่จะเชื่อมต่อ
onAutoConnectionStarted : เมื่อเริ่มทำการเชื่อมต่ออัตโนมัติ
Method
void setAutoConnectionListener(AutoConnectionListener listener)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.setAutoConnectionListener(new AutoConnectionListener() {
public void onNewConnection(String name, String address) {
...
}
public void onAutoConnectionStarted() {
...
}
}
• setBluetoothConnectionListener
Description : กำหนด Listener สำหรับการเชื่อมต่อบลูทูธ
Parameter : Listener จากคลาส BluetoothConnectionListener
Return : ไม่มี
Callback :
onDeviceConnected : เมื่อเชื่อมต่อกับอุปกรณ์สำเร็จ โดยมี Parameter เป็น String ของ Name และ Address ของเครื่องที่เชื่อมต่อได้สำเร็จ
onDeviceDisconnected : เมื่อยกเลิกเชื่อมต่อกับอุปกรณ์ที่เชื่อมต่ออยู่
onDeviceConnectionFailed : เมื่อเชื่อมต่อกับอุปกรณ์ไม่สำเร็จ
Method
void setBluetoothConnectionListener(BluetoothConnectionListener listener)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.setBluetoothConnectionListener(new BluetoothConnectionListener() {
public void onDeviceConnected(String name, String address) {
...
}
public void onDeviceDisconnected() {
...
}
public void onDeviceConnectionFailed() {
...
}
}
• setBluetoothStateListener
Description : กำหนด Listener สำหรับสถานะ Service ของ BluetoothSPP
Parameter : Listener จากคลาส BluetoothStateListener
Return : ไม่มี
Callback :
onServiceStateChanged : เมื่อ Service มีการเปลี่ยนแปลงสถานะ
โดยมี Parameter เป็น Integer สำหรับค่าสถานะที่เปลี่ยนแปลง
BluetoothState.STATE_NONE : Service ยังไม่ได้ทำอะไร
BluetoothState.STATE_LISTEN : Service รอการเชื่อมต่อ
BluetoothState.STATE_CONNECTING : เชื่อมต่อกับอุปกรณ์ที่กำหนด
BluetoothState.STATE_CONNECTED : เชื่อมต่อกับอุปกรณ์แล้ว
BluetoothState.STATE_NULL : Service เป็น Null
Method
void setBluetoothStateListener(BluetoothStateListener listener)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.setBluetoothStateListener(new BluetoothStateListener() {
public void onServiceStateChanged(int state) {
...
}
}
• setOnDataReceivedListener
Description : กำหนด Listener สำหรับการรับข้อมูลที่ส่งเข้ามาทางบลูทูธ
Parameter : Listener จากคลาส DataReceivedListener
Return : ไม่มี
Callback :
onDataReceived : เมื่อมีข้อมูลส่งเข้ามาทางบลูทูธ
โดยมี Parameter สองตัวคือ Byte[] กับ String
ซึ่ง Byte[] คือข้อมูลที่อยู่ในรูป Byte Array
ส่วน String คือข้อมูลที่อยู่ในรูป ASCII String
Method
void setOnDataReceivedListener(OnDataReceivedListener listener)
Example
BluetoothSPP bt = new BluetoothSPP(this);
...
...
...
bt.setOnDataReceivedListener(new OnDataReceivedListener () {
public void onDataReceived(byte[] data, String message) {
...
}
}
นี่ก็คือเมธอดทั้งหมดที่มีให้เรียกใช้งานในคลาส BluetoothSPP ที่เจ้าของบล็อกเขียนขึ้นมา ส่วนวิธีการใช้งานเจ้าของบล็อกจะทยอยทำบทความการใช้งานต่างๆสำหรับคลาสตัวนี้ให้เรื่อยๆ
ซึ่งตอนนี้พึ่งได้บทความเดียวเท่านั้น เป็นการใช้งานเบื้องต้น [Android Code] การเชื่อมต่ออุปกรณ์ผ่านบลูทูธแบบง่ายๆโดยใช้ BluetoothSPP ไว้จะทยอยเพิ่มเข้ามาให้เรื่อยๆนะครับ
สำหรับไฟล์ Library ของ BluetoothSPP สามารถดาวน์โหลดได้ที่
BluetoothSPP [GitHub]
BluetoothSPP [Google Drive]
BluetoothSPP [Sleeping For Less]
ถ้ามีปัญหาระหว่างการใช้งานยังไงก็บอกเจ้าของบล็อกได้ แต่ถ้ามาถามว่าทำแบบนั้นนู้นนี้ยังไง เจ้าของบล็อกขอผ่านละกันนะ รอติดตามบทความเพิ่มเติมไปละกัน
บทความที่เกี่ยวข้อง
• การเชื่อมต่ออุปกรณ์ผ่านบลูทูธแบบง่ายๆโดยใช้ BluetoothSPP
• การใช้งาน Listener สำหรับบลูทูธใน BluetoothSPP
• การใช้งานการเชื่อมต่ออัตโนมัติในคลาส BluetoothSPP
• การสร้างหน้าเลือกอุปกรณ์ที่จะเชื่อมต่อสำหรับ BluetoothSPP