android - 我如何通过蓝牙打印机打印线性布局上的表单数据集

标签 android android-layout read-eval-print-loop

<分区>

大家好,我想连接到蓝牙打印机并打印用户数据集的收据,如上所述,在 textview 的线性布局上设置

enter image description here

最佳答案

__________打印方法____________

private void bluetoothSendData(String text) {
        if (LogConfig.tracking)
            Log.i("bluetoothSendData()", text);
        try {
            mBTSocket.getOutputStream().write(decodeText(text));
        } catch (IOException e) {
            if (LogConfig.enable)
                Log.e(TAG, "Send data error: ", e);
        }

    }

_________如果您需要打印格式化文本,请使用____________

private byte[] decodeText(String text) throws CharacterCodingException,
            UnsupportedEncodingException {
        String encoding = "your supported encoding";
        Charset charset = Charset.forName(encoding);
        CharsetDecoder decoder = charset.newDecoder();
        CharsetEncoder encoder = charset.newEncoder();
        ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(text));
        CharBuffer cbuf = decoder.decode(bbuf);
        String s = cbuf.toString();
        return s.getBytes(encoding);
    }


BluetoothSocket mBTSocket = null;

________________initMethod()_________________

mBTAdapter = BluetoothAdapter.getDefaultAdapter();
        mBTDevice = getBTDeviceRegisteredPrinter();

____________连接方法_______________

mBTSocket = mBTDevice
                            .createRfcommSocketToServiceRecord(MY_UUID_SECURE);
mBTSocket.connect();

使用下面的代码获取设备

private BluetoothDevice getBTDeviceRegisteredPrinter() {

        BluetoothDevice BTDevice = null;    
        if (mBTAdapter.isEnabled()) {
            Set<BluetoothDevice> pairedDevices = mBTAdapter.getBondedDevices();
            if (pairedDevices.size() > 0) {
                // Loop through paired devices
                for (BluetoothDevice device : pairedDevices) {
                    if (getRegisteredPrinter().equals("Your Printer")) {
                        if (device.getName().startsWith("see paired name")) {
                            if (device.getBondState() == BluetoothDevice.BOND_BONDED) {
                                BTDevice = device;
                                mBTAdapter.cancelDiscovery();
                            }
                        }
                    }
                }
            }
        }

        return BTDevice;

    }

关于android - 我如何通过蓝牙打印机打印线性布局上的表单数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28471745/

相关文章:

java - 使用 dx.bat 时错误的类文件魔术

android - 通过 android 中的 Intent 将视频分享到 viber 不起作用

android - LinearLayout 只允许添加一个 View

string - 在 Clojure 中,将带有前导 0 的数字传递给 str 会导致奇怪的行为。这是什么特点?

下载文件时出现 java.lang.OutOfMemoryError

安卓图像编辑器

java - 如何膨胀 fragment 中的 View ?

Android:创建自定义 3 状态切换按钮时出现问题

scala - 如何在 REPL 中使用具有默认(包)或私有(private)访问级别的成员?

Clojure : loading dependencies at the REPL