selamlar. bir önceki yazımızda android bir cihazdan bluetooth yazızıya bağlanmıştık. şimdi sıra geldi metin yazdırmaya. aşağıda tanımladığımız fonksiyonlarla sırayla yazıcıya metin gönderip yazıcıyı kapatacağız.
/*bu listener ile yazıcıya göndereceğimiz datayı dinleyelim*/ void beginListenForData() { try { final Handler handler = new Handler(); //Yeni bir satır final byte delimiter = 10; stopWorker = false; readBufferPosition = 0; readBuffer = new byte[1024]; workerThread = new Thread(new Runnable() { public void run() { while (!Thread.currentThread().isInterrupted() && !stopWorker) { try { int bytesAvailable = mmInputStream.available(); if (bytesAvailable > 0) { byte[] packetBytes = new byte[bytesAvailable]; mmInputStream.read(packetBytes); for (int i = 0; i < bytesAvailable; i++) { byte b = packetBytes[i]; if (b == delimiter) { byte[] encodedBytes = new byte[readBufferPosition]; System.arraycopy(readBuffer, 0, encodedBytes, 0, encodedBytes.length); final String data = new String( encodedBytes, "US-ASCII"); readBufferPosition = 0; handler.post(new Runnable() { public void run() { datagosterilecekAlan.setText(data); } }); } else { readBuffer[readBufferPosition++] = b; } } } } catch (IOException ex) { stopWorker = true; } } } }); workerThread.start(); } catch (NullPointerException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /* * Datayı gonderelim */ void sendData() throws IOException { try { // kullanici tarafından girilen deger String msg = textbox.getText().toString(); msg += "n"; mmOutputStream.write(msg.getBytes()); } catch (NullPointerException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /* * bluetooth yazıcı ile olan bağlantıyı kapatalım */ void closeBT() throws IOException { try { stopWorker = true; mmOutputStream.close(); mmInputStream.close(); mmSocket.close(); } catch (NullPointerException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }