Наш ассоциированный член www.Bikinika.com.ua

Приклад кодування з друкованим прикладом Android з фактичним пристроєм принтера

  1. 1.0 Вихідні коди Bluetooth
  2. 2.0 LEVEL 1 Вихідний код
  3. 3.0 LEVEL 2 Вихідний код вихідного коду
  4. 4.0 Завантажити вихідний код
  5. 4.2 РІВЕНЬ 1 Вихідний код
  6. 4.3 РІВЕНЬ 2 Вихідний код
  7. 4.4 Завантажити ВСІХ РІВЕНЬ Вихідний код

Нещодавно мене попросили створити програму для друку деяких даних на невеликому або портативному пристрої принтера Bluetooth.

Її можна використовувати для друку квитанцій, простих квитків або приміток клієнта.

Мені подобається, як це працює, тому що зазвичай ми отримуємо нашу програму на екрані комп'ютера.

Але цього разу ми отримуємо нашу продукцію на матеріальному папері!

Цей код просто дозволить підключитися до принтера Bluetooth, введіть текст, який потрібно роздрукувати, і натисніть кнопку "Надіслати" для друку.

Що стосується друку з зображеннями, ми зробили інший код для цього, див. Розділ 4.3 (оновлення 15 квітня 2015 року) нижче!

1.0 Вихідні коди Bluetooth

Крок 1: Помістіть наступний код на ваш MainActivity.java. Цей імпорт необхідний для виконання операцій друку Android за допомогою Bluetooth.

імпорт android.app.Activity; імпорт android.bluetooth.Bluetoothадаптер; імпорт android.bluetooth.BluetoothDevice; імпорт android.bluetooth.BluetoothSocket; імпорт android.content.Intent; імпорт android.os.Bundle; імпорт android.os.Handler; імпорт android.view.View; import android.widget.TextView; імпортувати android.widget.EditText; імпорт android.widget.Button; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Set; import java.util.UUID; відкритий клас MainActivity розширює активність {}

Крок 2: Усередині вашого класу MainActivity будуть такі декларації змінних.

// покаже статуси, такі як Bluetooth, відкриття, закриття або передані дані TextView myLabel; // дозволить користувачеві ввести будь-який текст, який буде надруковано EditText myTextbox; // андроїд побудований в класах для Bluetooth операцій Bluetoothадаптер mBluetoothAdapter; BluetoothSocket mmSocket; BluetoothDevice mmDevice; // необхідні для зв'язку з пристроєм Bluetooth / мережею OutputStream mmOutputStream; InputStream mmInputStream; Thread workerThread; байт [] readBuffer; int readBufferPosition; volatile boolean stopWorker;

Крок 3: Після коду змінних ми будемо мати наступний метод onCreate ().

@Override public void наCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); try {// більше кодів буде тут} catch (Exception e) {e.printStackTrace (); }}

Крок 4: Наш файл XML-макета, який називається activity_main.xml, розташований у каталозі res / layout / буде мати наступні коди.

&lt;? xml version = "1.0&quot; encoding = "utf-8"?> <RelativeLayout xmlns: андроїд = "http://schemas.android.com/apk/res/android" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: layout_margin = "10dp"> <TextView android: id = "+ + id / label" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: text = "Введіть тут:" /> <EditText android: id = "@ + id / entry" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_below = "@ id / label" /> <LinearLayout android: layout_width = "match_parent" android: layout_height = "match_parent" android: layout_below = "@ id / entry"> <Кнопка android: id = "@ + id / open" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginLeft = "10dip" android: text = "Open" /> <Кнопка android: id = "@ + id / send" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Відправити" /> <Кнопка android: id = "@ + id / close" android: layout_width = "wrap_content" android: layout_height = "wrap_con tent "android: text =" Закрити "/> </LinearLayout> </RelativeLayout>

Крок 5: Усередині методу try-catch вашого методу onCreate () ми визначимо мітку TextView, поле вводу EditText і кнопки на основі нашого файлу розкладки XML на кроці 4.

// ми будемо мати три кнопки для конкретних функцій Кнопка openButton = (Кнопка) findViewById (R.id.open); Кнопка sendButton = (Кнопка) findViewById (R.id.send); Кнопка closeButton = (Кнопка) findViewById (R.id.close); // текстова мітка і поле введення myLabel = (TextView) findViewById (R.id.label); myTextbox = (EditText) findViewById (R.id.entry);

Крок 6: Ми встановимо onClickListener нашої відкритої кнопки. Це відкриє зв'язок між пристроєм android і принтером Bluetooth.

// відкрити з'єднання Bluetooth openButton.setOnClickListener (новий View.OnClickListener () {public void onClick (Переглянути v) {try {findBT (); openBT ();} catch (IOException ex) {ex.printStackTrace ();}}} );

Крок 7: метод findBT () спробує знайти доступний принтер Bluetooth. Він не працюватиме без наступного коду. Помістіть його нижче методу onCreate ().

// це знайде пристрій Bluetooth для принтера void findBT () {try {mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); if (mBluetoothAdapter == null) {myLabel.setText ("Немає доступного адаптера Bluetooth"); } if (! mBluetoothAdapter.isEnabled ()) {Intent enableBluetooth = новий намір (BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult (включитиBluetooth, 0); } Встановити <BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices (); if (pairedDevices.size ()> 0) {для (пристрій BluetoothDevices: pairedDevices) {// RPP300 - це ім'я пристрою Bluetooth для принтера // ми отримали це ім'я зі списку парних пристроїв, якщо (device.getName (). дорівнює ("RPP300")) {mmDevice = пристрій; перерву; }}} myLabel.setText ("знайдений пристрій Bluetooth"); } catch (Виняток e) {e.printStackTrace (); }}

Крок 8. Метод openBT () відкриє підключення до принтера Bluetooth, знайденого під час пошуку методом findBT (). Він не працюватиме без наступного коду. Помістіть це нижче методу findBT ().

// намагається відкрити підключення до пристрою Bluetooth для принтера void openBT () кидає IOException {try {// Стандартний ідентифікатор SerialPortService UUID uuid = UUID.fromString ("00001101-0000-1000-8000-00805f9b34fb"); mmSocket = mmDevice.createRfcommSocketToServiceRecord (uuid); mmSocket.connect (); mmOutputStream = mmSocket.getOutputStream (); mmInputStream = mmSocket.getInputStream (); beginListenForData (); myLabel.setText ("Bluetooth відкрито"); } catch (Виняток e) {e.printStackTrace (); }}

Крок 9: Нам потрібен метод beginListenForData () так, щоб метод openBT () працював.

/ * * Після відкриття підключення до пристрою принтера Bluetooth, * ми повинні прослухати і перевірити, чи були відправлені дані для друку. * / void beginListenForData () {try {final Handler handler = новий обробник (); // це код ASCII для символу остаточного байта символу нового рядка = 10; stopWorker = false; readBufferPosition = 0; readBuffer = новий байт [1024]; workerThread = new Thread (новий Runnable () {public void run () {while (! Thread.currentThread ().) isInterrupted () &&! stopWorker) {спробуйте {int bytesAvailable = mmInputStream.available (); if (bytesAvailable> 0) {byte [] packetBytes = новий байт [bytesAvailable]; mmInputStream.read (packetBytes); для (int i = 0; i <bytesAvailable; i ++) {байт b = packetBytes [i], якщо (b == роздільник) {байт [] encodedBytes = новий байт [readBufferPosition]; System.arraycopy (readBuffer, 0, закодованіBytes, 0, encodedBytes.length); // вказують US-ASCII кодування остаточного String data = new String (кодованіBytes, "US-ASCII"); readBufferPosition = 0; // скажіть, що дані користувача були відправлені до пристрою принтера bluetooth handler.post (новий Runnable () {public void run () {myLabel.setText (data);}});} else {readBuffer [readBufferPosition ++] = b;}}}} catch (IOException ex) {stopWorker = true;}}}}); workerThread.start (); } catch (Виняток e) {e.printStackTrace (); }}

Крок 10: Ми зробимо onClickListener для кнопки "Надіслати". Покладіть наступний код після кнопки onClickListener "Відкрити", у методі onCreate ().

// надсилати дані, набрані користувачем, для друку printButton.setOnClickListener (новий View.OnClickListener () {public void onClick (Переглянути v) {try {sendData ();} catch (IOException ex) {ex.printStackTrace ();} }});

Крок 11: Метод sendData () необхідний для того, щоб кнопка «Відкрити» працювала. Помістіть його нижче блоку коду методу beginListenForData ().

// це надішле текстові дані для друку за допомогою принтера bluetooth void sendData () кидає IOException {try {// текст, введений користувачем String msg = myTextbox.getText (). toString (); msg + = "" n "; mmOutputStream.write (msg.getBytes ()); // повідомляємо користувальницьким даним дані myLabel.setText ("Дані надіслані"); } catch (Виняток e) {e.printStackTrace (); }}

Крок 12: Ми кодуємо onClickListener для кнопки "закрити", щоб закрити з'єднання з принтером Bluetooth і заощадити акумулятор. Помістіть наступний код після кнопки onClickListener кнопки "Відправити", у методі onCreate ().

// закрити з'єднання Bluetooth closeButton.setOnClickListener (новий View.OnClickListener () {public void onClick (Переглянути v) {try {closeBT ();} catch (IOException ex) {ex.printStackTrace ();}}});

Крок 13: Метод closeBT () на Кроці 12 не буде працювати без наступного коду. Помістіть його нижче блоку коду методу sendData ().

// закрити з'єднання з принтером Bluetooth. void closeBT () кидає IOException {try {stopWorker = true; mmOutputStream.close (); mmInputStream.close (); mmSocket.close (); myLabel.setText ("Bluetooth закрито"); } catch (Виняток e) {e.printStackTrace (); }}

Крок 14. Переконайтеся, що дозвіл BLUETOOTH додано до файлу маніфесту. Він розташований в маніфестах / AndroidManifest.xml, код всередині повинен виглядати наступним чином.

<manifest xmlns: android = "http://schemas.android.com/apk/res/android" пакет = "com.example.bluetoothprinter" android: versionCode = "1" android: versionName = "1.0"> <використовує- sdk android: minSdkVersion = "8" android: targetSdkVersion = "15" /> <підтримує екрани андроїд: anyDensity = "true" /> <використовує-дозвіл android: name = "android.permission.BLUETOOTH" /> <додаток android : icon = "@ drawable / ic_launcher" android: label = "@ string / app_name" android: theme = "@ style / AppTheme"> <активність android: name = ". MainActivity" android: label = "@ string / title_activity_main" > <intent-filter> <дія android: name = "android.intent.action.MAIN" /> <категорія android: name = "android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

2.0 LEVEL 1 Вихідний код

Крок 1: Натисніть кнопку "Відкрити", текст "Тип тут" зміниться на "Bluetooth Opened"
Крок 2: Введіть будь-який текст у текстовому полі або EditText.
Крок 3. Натисніть кнопку "Надіслати", принтер Bluetooth роздрукує текст, який ви набрали на кроці 2.
Крок 4: Натисніть кнопку "Закрити", щоб закрити з'єднання Bluetooth і заощадити акумулятор.

Потрібно купувати ті ж моделі принтера, які ми використовували вище? Я дам вам контактну інформацію нашого постачальника. Надішліть листа на адресу [email protected] з темою "Bluetooth принтер codeofaninja.com". Я відповім контактною інформацією нашого постачальника.

3.0 LEVEL 2 Вихідний код вихідного коду

Вихідний код LEVEL 2 може друкувати невеликі зображення. Як ви побачите на відео, ви можете переглядати зображення, а потім принтер Bluetooth роздрукує його.

Потрібно купувати ті ж моделі принтера, які ми використовували вище? Я дам вам контактну інформацію нашого постачальника. Надішліть листа на адресу [email protected] з темою "Bluetooth принтер codeofaninja.com". Я відповім контактною інформацією нашого постачальника.

Зверніть увагу, що перед запуском нашого вихідного коду вам потрібно з'єднати пристрій Android (у налаштуваннях Bluetooth) та принтер Bluetooth.

4.0 Завантажити вихідний код

4.1 Завантаження вихідного коду

Ви можете отримати вихідний код, дотримуючись вищезазначеного вихідного коду. Але чи не зручніше, якщо ви можете просто завантажити повний вихідний код, який ми використовували, імпортувати його та відтворювати?

Там є невелика плата за отримання повного вихідного коду, вона невелика в порівнянні зі значенням, підвищення кваліфікації та оновлення кар'єри, що може принести вам, або дохід, який ви можете отримати від вашого проекту або програми для Android.

Завантажте вихідний код, натиснувши кнопку "Купити зараз" нижче. Що ви отримаєте? Вихідні коди та безкоштовні оновлення коду!

4.2 РІВЕНЬ 1 Вихідний код

LEVEL 1 - це повний вихідний код нашого підручника вище.

4.3 РІВЕНЬ 2 Вихідний код

Ось версія вихідного коду, де можна друкувати зображення (див. Демонстрацію вихідного відео на розділі 3.0 вище). Вихідний код може дозволити вам переглядати зображення, а потім друкувати його на принтері Bluetooth.

Зображення повинні бути малими і розміром менше 10 Кбайт, нічого більше, ніж друк.

4.4 Завантажити ВСІХ РІВЕНЬ Вихідний код

Це означає, що ви завантажите вихідні коди LEVEL 1 і LEVEL 2 вище за зниженою ціною.

ВАЖЛИВО: Цей код тестувався лише з принтером, який ми вказали вище. Він може не працювати з вашим принтером. Ми надаємо код як є. Завантажте його на свій страх і ризик.

Крім того, спасибі коду від проекту зеленого гіганта за допомогу мені зрозуміти приклад коду для друку Android з Android.

Lt;?
Quot; encoding = "utf-8"?
Потрібно купувати ті ж моделі принтера, які ми використовували вище?
Потрібно купувати ті ж моделі принтера, які ми використовували вище?
Але чи не зручніше, якщо ви можете просто завантажити повний вихідний код, який ми використовували, імпортувати його та відтворювати?
Що ви отримаєте?

Новости