2014-04-06 17 views
24

के माध्यम से एक साधारण स्ट्रिंग भेजने के लिए एंड्रॉइड नमूना ब्लूटूथ कोड मैं एक एंड्रॉइड डिवाइस से 'ए' ब्लूटूथ के माध्यम से एक सरल स्ट्रिंग डेटा भेजना चाहता हूं। मैंने एंड्रॉइड एसडीके में नमूना ब्लूटूथ कोड देखा लेकिन यह मेरे लिए इतना जटिल है। जब मैं बटन दबाता हूं तो मैं समझ नहीं पा रहा हूं कि मैं केवल विशिष्ट डेटा कैसे भेज सकता हूं। इस समस्या का समाधान किस प्रकार से किया जा सकता है?ब्लूटूथ

+0

आप [यहां] उल्लेख कर सकते हैं भी (https://stackoverflow.com/questions/13450406/how-to-receive-serial-data-using-android-bluetooth) –

उत्तर

34
private OutputStream outputStream; 
private InputStream inStream; 

private void init() throws IOException { 
    BluetoothAdapter blueAdapter = BluetoothAdapter.getDefaultAdapter(); 
    if (blueAdapter != null) { 
     if (blueAdapter.isEnabled()) { 
      Set<BluetoothDevice> bondedDevices = blueAdapter.getBondedDevices(); 

      if(bondedDevices.size() > 0) { 
       Object[] devices = (Object []) bondedDevices.toArray(); 
       BluetoothDevice device = (BluetoothDevice) devices[position]; 
       ParcelUuid[] uuids = device.getUuids(); 
       BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuids[0].getUuid()); 
       socket.connect(); 
       outputStream = socket.getOutputStream(); 
       inStream = socket.getInputStream(); 
      } 

      Log.e("error", "No appropriate paired devices."); 
     } else { 
      Log.e("error", "Bluetooth is disabled."); 
     } 
    } 
} 

public void write(String s) throws IOException { 
    outputStream.write(s.getBytes()); 
} 

public void run() { 
    final int BUFFER_SIZE = 1024; 
    byte[] buffer = new byte[BUFFER_SIZE]; 
    int bytes = 0; 
    int b = BUFFER_SIZE; 

    while (true) { 
     try { 
      bytes = inStream.read(buffer, bytes, BUFFER_SIZE - bytes); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+2

अपने relpy के लिए धन्यवाद। इसके अलावा, मैं यह संदेश अन्य डिवाइस से कैसे प्राप्त कर सकता हूं? – user3374956

+0

@ user3374956 सामान्य रूप से आपको 'इनपुटस्ट्रीम' से डेटा पढ़ने की आवश्यकता है। डेटा प्राप्त करने के लिए प्रेषक पर निर्भर करता है। मैंने कोड अपडेट किया है। – eleven

+1

अनुमोदन आवश्यक हैं? – Prasad