Как выполнить печать квитанции с использованием codenameone

#codenameone

#codenameone

Вопрос:

Я бы хотел, чтобы мое Android-приложение на базе codenameone печатало квитанции с помощью принтера rego Bluetooth. Есть ли какой-либо плагин / расширение, способное это сделать, или мне, возможно, придется пойти по маршруту cnlib

Комментарии:

1. Ответ @javalove правильный, и я знаю, что некоторые люди используют Bluetooth. Но я бы сделал что-то гораздо более простое. Я бы просто сгенерировал HTML или PDF и сделал execute над файлом. Это запустит собственный браузер, средство просмотра PDF и т.д. Самое интересное, что затем вы можете использовать встроенные функции печати этих приложений, и вы получите предварительный просмотр бесплатно.

Ответ №1:

С 2016 года для codenameone существует расширение Bluetooth. Я не уверен, был ли он обновлен, но вы можете проверить это здесьhttps://www.codenameone.com/blog/bluetooth-support.html Это дает небольшой тестовый код для начала. Найдите расширение CNIBluetooth, добавьте его в свой проект, затем обновите библиотеки.

 final Bluetooth bt = new Bluetooth();
        Form main = new Form("Bluetooth Demo");
        main.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
        main.add(new Button(new Command("enable bluetooth") {

            @Override
            public void actionPerformed(ActionEvent evt) {

                try {
                    if (!bt.isEnabled()) {
                        bt.enable();
                    }
                    if (!bt.hasPermission()) {
                        bt.requestPermission();
                    }
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }));
        main.add(new Button(new Command("initialize") {

            @Override
            public void actionPerformed(ActionEvent evt) {
                try {
                    bt.initialize(true, false, "bluetoothleplugin");
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }));