Zebra ZQ110 ZQ110 Android SDK API Reference Guide (en)

ZQ110
Mobile Printer Android SDK and API Reference Guide
P1069079-001 Rev. 1.02
ZQ110
- 2 -
Mobile Printer Android SDK API Reference Guide
Table of Contents
1. ZQ110 Printer Software Development Kit (SDK) for Android™ Overview ............................................. 7
1-1 Features .................................................................................................................................................. 7
1-2 Functions ................................................................................................................................................. 7
2. Operating Environment ............................................................................................................................... 7
2-1 Android Version ........................................................................................................................................ 7
2-2 Printer Connectivity .................................................................................................................................. 7
3. Development Environment ......................................................................................................................... 8
3-1 System Requirements .............................................................................................................................. 8
3-1-1 Operating System ...................................................................................................................... 8
3-1-2 Eclipse IDE ................................................................................................................................ 8
3-2 Connecting an Android Device to Your Printer ........................................................................................ 9
3-2-1 Bluetooth .................................................................................................................................... 9
3-2-2 Network (WLAN) ...................................................................................................................... 10
3-2-3 USB ........................................................................................................................................... 11
3-2-4 Wi-Fi Direct .............................................................................................................................. 13
3-2-5 Setting Android Device Developer Options ............................................................................. 14
3-3 Importing Library and Running Sample Application ............................................................................... 14
3-3-1 How to import an Android project in Eclipse ............................................................................ 14
3-3-2 How to run/debug the project................................................................................................... 14
4. Package Contents ...................................................................................................................................... 15
4-1 Package ................................................................................................................................................. 15
5. Sample Program ........................................................................................................................................ 16
5-1 Functions ............................................................................................................................................... 16
5-2 Environment Configuration .................................................................................................................... 16
5-3 How to Use Sample Program ................................................................................................................ 17
5-3-1 Search and Connect Printer .................................................................................................... 17
6. API Reference............................................................................................................................................. 18
6-1 Create printer instance........................................................................................................................... 18
6-1-1 Constructor .............................................................................................................................. 18
6-2 Search Printer ........................................................................................................................................ 20
6-2-1 findBluetoothPrinters ............................................................................................................... 20
6-2-2 findNetworkPrinters ................................................................................................................. 22
6-2-3 findUsbPrinters ........................................................................................................................ 24
6-3 Connect Printer ...................................................................................................................................... 26
6-3-1 connect .................................................................................................................................... 26
6-3-2 connect .................................................................................................................................... 29
6-3-3 connect .................................................................................................................................... 32
6-3-4 connect .................................................................................................................................... 35
6-3-5 disconnect ................................................................................................................................ 38
6-4 Print ........................................................................................................................................................ 40
6-4-1 form Feed ................................................................................................................................. 40
6-4-2 lineFeed ................................................................................................................................... 42
6-4-3 print1dBarcode ........................................................................................................................ 44
6-4-4 printAztec ................................................................................................................................. 47
6-4-5 printBitmap ............................................................................................................................... 49
6-4-6 printBitmap ............................................................................................................................... 51
6-4-7 printBitmap ............................................................................................................................... 53
6-4-8 printDataMatrix ........................................................................................................................ 55
6-4-9 printGs1Databar ...................................................................................................................... 57
6-4-10 printPdf417............................................................................................................................. 60
6-4-11 printQrCode ........................................................................................................................... 62
6-4-12 printQrCode ........................................................................................................................... 64
6-4-13 printSelfTest ........................................................................................................................... 67
Rev. 1.02
ZQ110
- 3 -
Mobile Printer Android SDK API Reference Guide
6-4-14 printText ................................................................................................................................. 69
6-5 Receive Printer Response ..................................................................................................................... 72
6-5-1 automateStatusBack ................................................................................................................ 72
6-5-2 getBatteryStatus ...................................................................................................................... 75
6-5-3 getPrinterId .............................................................................................................................. 78
6-5-4 getStatus .................................................................................................................................. 80
6-6 NV Image ............................................................................................................................................... 83
6-6-1 defineNvImage ......................................................................................................................... 83
6-6-2 defineNvImage ......................................................................................................................... 85
6-6-3 getDefinedNvImageKeyCodes ................................................................................................ 87
6-6-4 printNvImage............................................................................................................................ 89
6-6-5 removeAllNvImage .................................................................................................................. 91
6-6-6 removeNvImage ...................................................................................................................... 93
6-7 Page Mode ............................................................................................................................................. 95
6-7-1 setAbsolutePrintPosition .......................................................................................................... 95
6-7-2 setAbsoluteVerticalPrintPosition .............................................................................................. 95
6-7-3 setPageMode ........................................................................................................................... 95
6-7-4 setPrintArea ............................................................................................................................. 95
6-7-5 setPrintDirection ...................................................................................................................... 96
6-7-6 setStandardMode .................................................................................................................... 96
6-8 MSR ....................................................................................................................................................... 99
6-8-1 cancelMsrReaderMode ............................................................................................................ 99
6-8-2 getMsrMode ........................................................................................................................... 101
6-8-3 setMsrReaderMode ............................................................................................................... 103
6-9 Settings ................................................................................................................................................ 104
6-9-1 setSingleByteFont .................................................................................................................. 104
6-10 Miscellaneous Functions ................................................................................................................... 108
6-10-1 executeAutomaticCalibration ............................................................................................... 108
6-10-2 executeDirectIo .................................................................................................................... 109
6-10-3 getMacAddress ..................................................................................................................... 111
6-10-4 initialize ................................................................................................................................. 113
6-10-5 setBlackMarkMode ............................................................................................................... 115
6-10-6 setReceiptMode .................................................................................................................... 115
6-10-7 updateFirmware .................................................................................................................... 117
7. Programming ............................................................................................................................................ 119
7-1 Programming Flow ................................................................................................................................ 119
7-2 Search Printer ....................................................................................................................................... 119
7-3 Open Printer Port ................................................................................................................................. 120
7-4 Send Printer Data ................................................................................................................................ 121
7-5 Close Printer Port ................................................................................................................................. 122
Rev. 1.02
ZQ110
- 4 -
Mobile Printer Android SDK API Reference Guide
Proprietary Statements
This manual contains proprietary information for Zebra Technologies Corporation. It is intended solely for the information and use of parties operating and maintaining the equip­ment described herein. Such proprietary information may not be used, reproduced, or dis­closed to any other parties for any other purpose without the expressed written permission of Zebra Technologies Corporation.
Product Improvements Since continuous product improvement is a policy of Zebra Technologies Corporation, all specifications and signs are subject to change without notice.
FCC Compliance Statement NOTE: This equipment has been tested and found to comply with the limits of a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equip­ment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference with radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
• Reorient or relocate the receiving antenna.
• Increase the separation between the equipment and the receiver.
• Connect the equipment to an outlet or circuit different from that to which the receiver is
connected.
• Consult the dealer or an experienced radio/TV technician for help.
WARNING: Exposure to Radio Frequency radiation. To conform to FCC RF exposure re­quirements this device shall be used in accordance with the operating conditions and in­structions listed in this manual. NOTE: This unit was tested with shielded cables on the peripheral devices. Shielded cables must be used with the unit to ensure compliance. Changes or modifications to this unit not expressly approved by Zebra Technologies Corporation could void the user’s authority to operate this equipment.
Rev. 1.02
ZQ110
- 5 -
Mobile Printer Android SDK API Reference Guide
Canadian Compliance Statement
This Class B digital apparatus complies with Canadian ICES-003. Cet appareil numérique de la classe B est conforme á la norme NMB-003 du Canada. “IC:” before the equipment certification number signifies that the Industry Canada technical specifications were met. It does not guarantee that the certified product will operate to the user’s satisfaction.
Liability Disclaimer Inasmuch as every effort has been made to supply accurate information in this manual, Zebra Technologies Corporation is not liable for any erroneous information or omissions. Zebra Technologies Corporation reserves the right to correct any such errors and disclaims liability resulting therefrom.
No Liability for Consequential Damage In no event shall Zebra Technologies Corporation or anyone else involved in the creation, production, or delivery of the accompanying product (including hardware and software) be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or the results of use of or inability to use such product, even if Zebra Technologies Corporation has been advised of the possibility of such damages. Because some states do not allow the exclusion of liability for consequential or incidental damages, the above limitation may not apply to you.
Rev. 1.02
ZQ110
- 6 -
Mobile Printer Android SDK API Reference Guide
Copyrights
The copyrights in this manual and the label print engine described therein are owned by Zebra Technologies Corporation. Unauthorized reproduction of this manual or the software in the label print engine may result in imprisonment of up to one year and fines of up to $10,000 (17 U.S.C.506). Copyright violators may be subject to civil liability. This product may contain ZPL® , ZPL II® , and ZebraLink programs; Element Energy Equalizer® Circuit; E3® ; and AGFA fonts. Software © ZIH Corp. All rights reserved worldwide. ZebraLink and all product names and numbers are trademarks, and Zebra, the Zebra logo, ZPL, ZPL II, Element Energy Equalizer Circuit, and E3 Circuit are registered trademarks of ZIH Corp. All rights reserved worldwide. Monotype® , Intellifont® and UFST® are trademarks of Monotype Imaging, Inc. registered in the United States Patent and Trademark Office and may be registered in certain jurisdictions. Andy, CG Palacio, CG Century Schoolbook, CG Triumvirate, CG Times, Monotype Kai, Monotype Mincho and Monotype Sung are trademarks of Monotype Imaging, Inc. and may be registered in some jurisdictions. HY Gothic Hangul is a trademark of Hanyang Systems, Inc. Angsana is a trademark of Unity Progress Company (UPC) Limited. Andale® , Arial® , Book Antiqua® , Corsiva® , Gill Sans® , Sorts® and Times New Roman® are trademarks of The Monotype Corporation registered in the United States Patent and Trademark Office and may be registered in certain jurisdictions. Century Gothic™, Bookman Old Style™ and Century Schoolbook are trademarks of The Monotype Corporation and may be registered in certain jurisdictions. HGPGothicB is a trademark of the Ricoh company, Ltd. and may be registered in some jurisdictions. Univers is a trademark of Heidelberger Druckmaschinen AG, which may be registered in certain jurisdictions, exclusively licensed through Linotype Library GmbH, a wholly owned subsidiary of Heidelberger Druckmaschinen AG. Futura® is a trademark of Bauer Types SA registered in the United States Patent and Trademark Office and may be registered in some jurisdictions. TrueType® is a trademark of Apple Computer, Inc. registered in the United States Patent and Trademark Office and may be registered in certain jurisdictions. All other product names are the property of their respective owners. All other brand names, product names, or trademarks belong to their respective holders. © 2014 ZIH Corp.
Rev. 1.02
ZQ110
- 7 -
Mobile Printer Android SDK API Reference Guide
1. ZQ110 Printer Software Development Kit (SDK) for Android
Overview
1-1 Features
1. Android applications developed with the Android SDK can check the status of the printer.
2. The Android SDK is designed to make mobile printing easier with the ZQ110 using Android applications.
1-2 Functions
1. Print Settings (Alignment / Page Mode)
2. Charter Data Settings (Code Page / Device Font Type)
3. Character Style Settings (Bold / Reverse / Underline)
4. Image Printing (Raster Bit / NV Graphics)
5. One-Dimensional Barcode Printing
6. Two-Dimensional Barcode Printing
7. Printer Command Transmission
8. Printer Response Reception (Printing Result / Printer Status)
2. Operating Environment
2-1 Android Version
1. Printing over Bluetooth or Wireless LAN: Android 2.2 (Froyo) or higher
2. Printing over USB: Android 3.1 (Honeycomb) or higher
2-2 Printer Connectivity
1. Bluetooth
2. Wireless LAN
3. USB
Rev. 1.02
- 8 -
Mobile Printer Android SDK API Reference Guide
3. Development Environment
3-1 System Requirements
3-1-1 Operating System
Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit) Mac OS X 10.5.8 or later (x86 only) Linux (tested on Ubuntu Linux, Lucid Lynx)
GNU C Library (glibc) 2.7 or later is required. On Ubuntu Linux, version 8.04 or later is required. 64-bit distributions must be capable of running 32-bit applications.
3-1-2 Eclipse IDE
Eclipse 3.6.2 (Helios) or greater JDK 6 (JRE alone is not sufficient)
ZQ110
Android SDK ADT(Android Development Tools) plugin Reference: http://developer.android.com/sdk/index.html
Rev. 1.02
ZQ110
- 9 -
Mobile Printer Android SDK API Reference Guide
NOTE - Make sure Bluetooth is enabled on your printer and make sure the printer
power is ON.
3-2 Connecting an Android Device to Your Printer
The following screens were captured from an Android 4.4 smartphone. The screens and field names may be slightly different on other Android operating systems or devices.
3-2-1 Bluetooth
1. On your Android device, select Settings > Bluetooth.
2. Select Scan. The printer performs service discovery and pairing operation.
3. The printer’s default PIN code is “0000”. Enter the PIN code on your Android device.
4. Your printer connects directly to your Android device.
Rev. 1.02
- 10 -
Mobile Printer Android SDK API Reference Guide
NOTE – By factory default, the printer network mode is set to “ad-hoc”, also known as
“peer-to-peer” mode. To change the network mode and WLAN configuration
on your printer, use the Net Configuration Tool included on the CD. Refer to the Net Configuration Tool Manual also included on the CD for instructions on installing and using the Net Configuration Tool.
NOTE - Additional settings are not required to connect the Android device to the
TCP/IP port of ZQ110.
3-2-2 Network (WLAN)
1. Print a configuration label on your printer. Refer to the ZQ110 User Manual for instructions. Review the configuration label and make sure WIFI is enabled on your printer and your printer’s Network Mode: Infrastructure (AP).
2. To connect the printer to the network, follow the instructions in the Net Configuration Tool Manual to manually assign an IP address to your printer or obtain an IP address automatically using DHCP (Dynamic Host Configuration Protocol).
3. On your Android device, tap or click Settings.
ZQ110
4. Connect the device to the wireless network. Make sure the printer is connected to the same network.
Rev. 1.02
- 11 -
Mobile Printer Android SDK API Reference Guide
3-2-3 USB
1. Android devices can be connected to USB peripheral devices using OS version 3.1 or higher and a USB cable. A mini/micro USB adaptor may be required depending on your specific Android device. Check with the device manufacturers’ user documentation for further information.
2. Drivers or printer software is not necessary on Android devices to allow printing.
3. When the ZQ110 is connected the first time, the following message may appear:
ZQ110
Rev. 1.02
- 12 -
Mobile Printer Android SDK API Reference Guide
4. The following code should be entered to AndroidManifest.xml and
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" />
<?xml version="1.0" encoding="utf-8"?> <resources>
<usb-device
Product-id="275" vendor-id="2655" />
</resources>
ZQ110
res/xml/device_filter.xml in order to connect USB peripheral devices.
[AndroidManifest.xml]
[device_filter.xml]
Rev. 1.02
ZQ110
- 13 -
Mobile Printer Android SDK API Reference Guide
3-2-4 Wi-Fi Direct
Android version should be 4.0 or higher in order to connect with peripheral devices using Wi-Fi Direct. No special driver or printer software is required on Android device.
1. Tap or click Settings.
2. Select Wi-Fi Direct.
3. Select the printer from search list. The default PIN for Wi-Fi Direct is 12345678.
Rev. 1.02
- 14 -
Mobile Printer Android SDK API Reference Guide
3-2-5 Setting Android Device Developer Options
NOTE - Android Development Tool (ADT) plug-in should be installed in Eclipse IDE.
1. Tap or click Settings.
2. Tap or click Developer options.
3. Tap or click USB debugging.
ZQ110
3-3 Importing Library and Running Sample Application
ADT (Android Development Tool) plug in should be installed in Eclipse.
3-3-1 How to import an Android project in Eclipse
1. Launch Eclipse.
2. Select File > Import.
3. Select General > Existing Project into Workspace.
4. Select Browse and enter the path to the ZQ110Sample file.
3-3-2 How to run/debug the project
1. Select Project > Run/Debug.
Rev. 1.02
- 15 -
Mobile Printer Android SDK API Reference Guide
4. Package Contents
4-1 Package
The following is a list of files in the package:
doc/ZQ110_Android SDK API Reference Guide_english_Rev_x_xx.pdf: Manual in
English
libs/ZQ110.jar: Printer library sample/ZQ110Sample: Sample program project folder
ZQ110
Rev. 1.02
- 16 -
Mobile Printer Android SDK API Reference Guide
5. Sample Program
This chapter explains how to use the sample program. (ZQ110Sample) The sample is provided as an Android application project using Eclipse.
5-1 Functions
Search printer Connect printer Disconnect printer Print text Print image file Print one-dimensional bar code Print two-dimensional bar code Print in the page mode
ZQ110
Check printer status Check printer information
5-2 Environment Configuration
1. Extract the ZQ110 Android SDK package.
2. Copy ZQ110.jar from the downloaded SDK folder to ZQ110Sample library folder. For example, copy the ZQ110.jar file from the downloaded SDK folder ZQ110 Android Printer SDK V1.0.0/lib into the ZQ110 Android Printer SDK V1.0.0/sample/ZQ110Sample/libs folder.
3. Launch Eclipse. Select File > Import from Eclipse.
4. From the following screen, select General > Existing Project into Workspace.
5. Select Browse and select the path where ZQ110Sample is located.
6. Right-click on ZQ110Sample in the Package Explorer and select Properties.
7. In the Java Build Path, select the Libraries tab, then, select Add JARs, then, select lib/ZQ110.jar.
8. Right-click on ZQ110Sample in the Package Explorer and select Run As > Android Application.
9. Install the sample program on the target Android device. Select the ZQ110Sample application and run the program.
Rev. 1.02
- 17 -
Mobile Printer Android SDK API Reference Guide
5-3 How to Use Sample Program
5-3-1 Search and Connect Printer
1. Launch the sample program on your Android device.
2. Select the Option menu and connect your printer using Bluetooth, Network, or a USB interface. A. If Bluetooth is selected, a dialog box containing a list of paired printer(s) and
their MAC addresses appears.
B. If Network is selected, a dialog box containing a list of available printers and
their IP addresses appears.
C. If USB is selected, a dialog box containing a list of printers connected through
USB connection appears.
3. Select the desired printer from the device list.
4. Connected to (Printer Model Name or USB Device ID) appears in the title area when a connection is established.
ZQ110
5. Printer function list is activated when connection is established.
Rev. 1.02
ZQ110
- 18 -
Mobile Printer Android SDK API Reference Guide
6. API Reference
This chapter describes the API provided by the ZQ110 Android SDK.
6-1 Create printer instance
6-1-1 Constructor
Create an instance of ZQ110 to use the printer. Methods implemented in the ZQ110 class are configured for asynchronous operation. When a response is to be received from the printer, other methods can be executed only after reception of the response is completed. When multiple printers are connected, a separate instance should be created for each printer.
[Syntax]
* public ZQ110(Context context, Handler handler, Looper looper)
[Parameters] * context: is a context instance used to access Wi-Fi service, USB service, and file
system of Android.
* handler: is application handler to connect and receive print message. * looper: Set main looper in application to create ZQ110 instance in a separate thread in
order to avoid the collision between the handler in the application and the internal handler in the printer library. Set it to null to create a ZQ110 instance from the main thread.
Rev. 1.02
ZQ110
- 19 -
Mobile Printer Android SDK API Reference Guide
public class MainActivity extends Activity {
private ZQ110 mZQ110;
public void onCreate(Bundle savedInstanceState) {
mZQ110 = new ZQ110(this, mHandler, null);
}
private final Handler mHandler = new Handler(new Handler.Callback() {
public Boolean handleMessage(Message msg) {
} }; }
[Example]
Rev. 1.02
ZQ110
- 20 -
Mobile Printer Android SDK API Reference Guide
public class MainActivity extends Activity {
private ZQ110 mZQ110;
public void onCreate(Bundle savedInstanceState) {
mZQ110 = new ZQ110(this, mHandler, null); mZQ110.findBluetoothPrinters();
}
private final Handler mHandler = new Handler(new Handler.Callback() {
public boolean handleMessage(Message msg) { switch (msg.what) { case ZQ110.MESSAGE_BLUETOOTH_DEVICE_SET: Set<BluetoothDevice> bluetoothDeviceSet = (Set<BluetoothDevice>) msg.obj;
6-2 Search Printer
6-2-1 findBluetoothPrinters
This method obtains the information of paired Bluetooth device and passes the MESSAGE_BLUETOOTH_DEVICE_SET message to the application handler. The message includes the information of the paired Bluetooth device. The return value will be null if no paired Bluetooth device is found.
[Syntax]
* public void findBluetoothPrinters()
[Example]
Rev. 1.02
ZQ110
- 21 -
Mobile Printer Android SDK API Reference Guide
for (BluetoothDevice device : bluetoothDeviceSet) { if (device.getName().equals(“ZQ110”)) { // TODO: Connect printer break; } } break; } return true; } }; }
Rev. 1.02
ZQ110
- 22 -
Mobile Printer Android SDK API Reference Guide
public class MainActivity extends Activity {
private ZQ110 mZQ110;
public void onCreate(Bundle savedInstanceState) {
mZQ110 = new ZQ110(this, mHandler, null); mZQ110.findNetworkPrinters(5000);
}
private final Handler mHandler = new Handler(new Handler.Callback() {
public boolean handleMessage(Message msg) { switch (msg.what) { case ZQ110.MESSAGE_NETWORK_DEVICE_SET:
6-2-2 findNetworkPrinters This method searches the printers connected to the same network as Android device that runs the application. It sends the MESSAGE_NETWORK_DEVICE_SET message to the application handler when the search operation is completed. The message includes the IP addresses of the printers that can be connected. The return value will be null if no printer is found.
[Syntax]
* public void findNetworkPrinters(int timeout)
[Parameters]
* timeout: timeout in searching printer (millisecond)
[Example]
Rev. 1.02
ZQ110
- 23 -
Mobile Printer Android SDK API Reference Guide
if (msg.obj != null) { Set<String> ipAddressSet = (Set<String>) msg.obj; for (String ipAddress : ipAddressSet) { if (ipAddress.equals(“192.168.0.100”)) { // TODO: Connect printer break; } } } break; } return true; } }; }
Rev. 1.02
ZQ110
- 24 -
Mobile Printer Android SDK API Reference Guide
public class MainActivity extends Activity {
private ZQ110 mZQ110;
public void onCreate(Bundle savedInstanceState) {
mZQ110 = new ZQ110(this, mHandler, null); mZQ110.findUsbPrinters();
}
private final Handler mHandler = new Handler(new Handler.Callback() {
public boolean handleMessage(Message msg) { switch (msg.what) { case ZQ110.MESSAGE_USB_DEVICE_SET: Set<UsbDevice> usbDeviceSet = (Set<UsbDevice>) msg.obj; for (UsbDevice device : usbDeviceSet) { if (device.getProductId() == 0x0113) { // TODO: Connect printer
6-2-3 findUsbPrinters This method obtains the information of the printer connected by USB with the Android device that runs the application, and it sends the MESSAGE_USB_DEVICE_SET message to the application handler. The message includes the information of the printer connected by USB. The return value will be null if no USB printer is found.
[Syntax]
* public void findUsbPrinters()
[Example]
Rev. 1.02
ZQ110
- 25 -
Mobile Printer Android SDK API Reference Guide
break; } } break; } return true; } }; }
Rev. 1.02
ZQ110
- 26 -
Mobile Printer Android SDK API Reference Guide
6-3 Connect Printer
6-3-1 connect
This method opens the printer port of USB printer and enables communication. It sends the MESSAGE_STATE_CHANGE that includes STATE_CONNECTING in arg1 when connection process is initiated and MESSAGE_STATE_CHANGE with STATE_CONNECTED in arg1 when the connection is completed to the application handler. The messages are transmitted in the following order when this method is called.
* If connection is successful
1. MESSAGE_STATE_CHANGE (arg1: STATE_CONNECTING): Connection is being established.
2. MESSAGE_DEVICE_NAME: Connection to printer port is successful (USB device name of the printer recognized in Android device is transmitted.)
3. MESSAGE_STATE_CHANGE (arg1: STATE_CONNECTED): Communication with the printer is enabled.
* If connection fails
1. MESSAGE_TOAST: “Unable to connect device” message is sent.
2. MESSAGE_STATE_CHANGE (arg1: STATE_NONE): Printer is not connected.
[Syntax]
* public void connect()
Rev. 1.02
- 27 -
Mobile Printer Android SDK API Reference Guide
[Example]
public class MainActivity extends Activity {
private ZQ110 mZQ110;
public void onCreate(Bundle savedInstanceState) {
mZQ110 = new ZQ110(this, mHandler, null); mZQ110.connect();
}
private final Handler mHandler = new Handler(new Handler.Callback() {
public boolean handleMessage(Message msg) { switch (msg.what) { case ZQ110.MESSAGE_STATE_CHANGE: switch (msg.arg1) { case ZQ110.STATE_CONNECTING: // TODO: Processing when connection to printer is being tried break;
case ZQ110.STATE_CONNECTED: // TODO: Processing when printer connection is completed break;
case ZQ110.STATE_NONE: // TODO: Processing when printer is not connected break; }
ZQ110
Rev. 1.02
ZQ110
- 28 -
Mobile Printer Android SDK API Reference Guide
break;
case ZQ110.MESSAGE_DEVICE_NAME: String connectedDeviceName = msg.getData().getString( ZQ110.KEY_STRING_DEVICE_NAME); break;
case ZQ110.MESSAGE_TOAST: Toast.makeText(getApplicationContext(), msg.getData().getString(ZQ110.KEY_STRING_TOAST), Toast.LENGTH_SHORT).show(); break; } return true; } }; }
Rev. 1.02
ZQ110
- 29 -
Mobile Printer Android SDK API Reference Guide
6-3-2 connect
This method opens the port of paired Bluetooth printer and enables communication. It sends the MESSAGE_STATE_CHANGE message with STATE_CONNECTING in arg1 when connection process is initiated and MESSAGE_STATE_CHANGE with STATE_CONNECTED in arg1 when connection is completed to the application handler. Messages are transmitted in the following order when this method is called.
* If connection is successful
1. MESSAGE_STATE_CHANGE (arg1: STATE_CONNECTING): Connection is being established.
2. MESSAGE_DEVICE_NAME: Connection to printer port is successful. (Bluetooth device name of the printer recognized by Android device is transmitted.)
3. MESSAGE_STATE_CHANGE (arg1: STATE_CONNECTED): Communication with printer is enabled.
* If connection fails
1. MESSAGE_TOAST: “Unable to connect device” message is sent.
2. MESSAGE_STATE_CHANGE (arg1: STATE_NONE): Printer is not connected.
[Syntax]
* public void connect(String address)
[Parameters]
* address: Bluetooth MAC address of the printer to connect (it can also be checked with
Self-Test function.) If this parameter is set to null, then connection will be tried with the first searched printer among all paired printers.
Rev. 1.02
- 30 -
Mobile Printer Android SDK API Reference Guide
[Example]
public class MainActivity extends Activity {
private ZQ110 mZQ110;
public void onCreate(Bundle savedInstanceState) {
String address = “01:23:45:67:89:ab”; mZQ110 = new ZQ110(this, mHandler, null); mZQ110.connect(address);
}
private final Handler mHandler = new Handler(new Handler.Callback() {
public boolean handleMessage(Message msg) { switch (msg.what) { case ZQ110.MESSAGE_STATE_CHANGE: switch (msg.arg1) { case ZQ110.STATE_CONNECTING: // TODO: Processing when connection to printer is being tried break;
case ZQ110.STATE_CONNECTED: // TODO: Processing when printer connection is completed break;
case ZQ110.STATE_NONE: // TODO: Processing when printer is not connected break;
ZQ110
Rev. 1.02
Loading...
+ 93 hidden pages