The QL320 Plus uses the CPCL language, however, the Link-OS Multiplatform SDK does not support the QL Plus series printers. The QLn series is the newer replacement for the QL Plus series and is Link-OS compatible. You can learn more about Link-OS and Link-OS compatible printers here: Link-OS™ | Zebra
The QL Plus is not a Link-OS printer. The Link-OS SDK still does support a lot of the commands that do work with non-Link-OS printers. Your best option is to use the SDK versions off of this link: Link-OS Multiplatform SDK , not the standard Link-OS Multiplatform SDK | Zebra page. The sample you pulled down should work with a couple of modifications in the MainActivity.java file.
1. delete line 222: "ZebraPrinterLinkOs linkOsPrinter = ZebraPrinterFactory.createLinkOsPrinter(printer);"
2. modify line 224: PrinterStatus printerStatus = printer.getCurrentStatus();
3. If you intend to use CPCL, you will need to delete line 276: "SGD.SET("device.languages", "zpl", connection);"
There may be a few commands that will not work as expected with the older printer model, but most of the time there are work-arounds. Let us know if you run into commands that you want a work-around for.
Robin, thanks for your answer. What is the difference between those two Link-OS SDK? Why they coexists and which is winner of the future and which is going to die? How do I know when I should use this LINK-OS SDK instead of another LINK-OS SDK?
The difference is that one is a slightly older version - look at the Android versions to check. It is more compatible with non-Link-OS printers. We call these printers ZebraLink printers. This version is not really being updated and will eventually be phased out as our portfolio moves more towards Link-OS printers. Eventually nearly all our printers will be Link-OS, so there will only need to be the one SDK. You can use the newer SDK with ZebraLink printers for simply opening connections and sending data, but the methods to do things like file management and status are slowly being updated to more Link-OS only commands as they are faster and less error prone. Also new features are being added to make it easier to do things like device management that are just not capabilities of the older printer models.
As I mentioned before, there are work-arounds for most of the API's that were updated to work better with Link-OS printers. Link-OS printers are backwards compatible with their previous iterations so code written for ZebraLink printers should work on Link-OS printers.
We replaced the QL Plus with the QLn (Link-OS) models over 5 years ago.