RW 420 Android SDK?

We have a customer that has a bunch of these RW 420 printers.

It appears that this printer does not include support for Link OS SDK.

Are Android Apps able to discover and interface to this printer without LinkOS SDK support?

If yes, which SDK needs to be used?

Thanks.

Javier Molina
There are different models of

There are different models of the RW420, they can include a Bluetooth or Wi-Fi radio (or both). You will be able to print to them using either type of connection, as long as you send the appropriate CPCL or ZPL commands to it. Note, however, that this model was discontinued in 2015 and support for it will be discontinued at the end of 2020 as per https://www.zebra.com/gb/en/support-downloads/printers/mobile/rw-420.html

Here's a code sample for connecting through Bluetooth:

                    Connection thePrinterConn = new BluetoothConnection(theBtMacAddress);

                    // Open the connection - physical connection is established here.

                    thePrinterConn.open();

                    // This example prints "This is a ZPL test." near the top of the label.

                    String zplData = "^XA^FO20,20^A0N,25,25^FDThis is a ZPL test.^FS^XZ";

                    // Send the data to printer as a byte array.

                    thePrinterConn.write(zplData.getBytes());

                    thePrinterConn.close();

The LinkOS SDK does support legacy printers, however, so you can still use its legacy support:

public class PrinterStatusExample {

     public static void main(String[] args) throws Exception {

         Connection connection = new TcpConnection("192.168.1.100", TcpConnection.DEFAULT_ZPL_TCP_PORT);

         try {

             connection.open();

             ZebraPrinter printer = ZebraPrinterFactory.getInstance(connection);

             PrinterStatus printerStatus = printer.getCurrentStatus();

             if (printerStatus.isReadyToPrint) {

                 System.out.println("Ready To Print");

             } else if (printerStatus.isPaused) {

                 System.out.println("Cannot Print because the printer is paused.");

             } else if (printerStatus.isHeadOpen) {

                 System.out.println("Cannot Print because the printer head is open.");

             } else if (printerStatus.isPaperOut) {

                 System.out.println("Cannot Print because the paper is out.");

             } else {

                 System.out.println("Cannot Print.");

             }

         } catch (ConnectionException e) {

             e.printStackTrace();

         } catch (ZebraPrinterLanguageUnknownException e) {

             e.printStackTrace();

         } finally {

             connection.close();

         }

     }

}

What you will not be able to do is use the LinkOS specific classes from the SDK, such as ZebraPrinterLinkOs

Javier Molina

Technical Architect, Kutir Mobility

Posted on behalf of Zebra Technologies

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments