码迷,mamicode.com
首页 > 移动开发 > 详细

Gprinter Android SDK V1.0 使用说明

时间:2014-11-06 10:47:06      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   io   color   ar   os   使用   

Gprinter Android SDK旨在佳博用户更快速,更高效的在Android平台下开发和使用佳博打印机。如果您在使用SDK中碰到问题,或者发现BUG,请随时联系我,发送邮箱到MrAladin@163.com

一、下载GprinterSDK 

GprinterSDK可在佳博打印机官网下载http://www.gainscha.cn/cn/download.aspx?current=down或点击GprinterSDK,即可下载。

一、将gprinter.jar导入到工程

在eclipse中,将gprinter.jar拷贝到工程的libs文件夹下,。

二、建立与打印机的通信

1、 获取设备的对象

GpDevice mDevice = new GpDevice();

2、注册接收数据回调函数(此接口是用来接收数据的)

mDevice.registerCallback(this);

3、打开蓝牙、USB、网口

蓝牙通信

a、需要获取蓝牙操作权限,在AndroidManifest.xml中,加入以下代码

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />  

b、调用蓝牙打开API

mDevice.openBluetoothPort(Context context,String addr)

context 为上下文,addr 为蓝牙地址。例如蓝牙地址为"98:D3:31:40:27:D7",则调用

mDevice.openBluetoothPort(MainActivity.this,"98:D3:31:40:27:D7");

USB通信

a、需要获取USB操作权限,在AndroidManifest.xml中,加入以下代码

<uses-feature android:name="android.hardware.usb.host" />

b、注册USB设备插入和拔出广播,在AndroidManifest.xml中,加入以下代码

 <intent-filter>
     <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
 </intent-filter>
 <intent-filter>
      <action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
 </intent-filter>
 <meta-data
      android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
      android:resource="@xml/device_filter" />
 <meta-data
      android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
      android:resource="@xml/device_filter" />    

c、device_filter.xml为USB设备过滤文件,里面存储USB设备的PID和VID号,只有匹配的设备USB插入,才能产生USB插入或拔出广播,device_filter.xml需放在res/xml 文件夹下,文件格式如下,例如Gp2120TL标签打印机VID 为26728 PID为1280

<?xml version="1.0" encoding="utf-8"?><resources>   
    <usb-device vendor-id="26728" product-id="1280" />
</resources>

d、旧版的Android SDK中是不支持USBhost的,最小SDK版本为 12,所以需加入

android:minSdkVersion="12"

e、调用USB端口打开API

mDevice.openBluetoothPort(MainActivity.this);

网口通信

a、需要获取网络操作权限,在AndroidManifest.xml中,加入以下代码

<uses-permission android:name="android.permission.INTERNET" />

b、调用网口API

例如佳博网络打印机的初始IP为192.168.123.100  打印端口为9100

mDevice.openEthernetPort(“192.168.123.100”, 9100)

4、关闭蓝牙、USB、网口

调用关闭端口API

mDevice.closePort();

5、发送数据

立即发送数据API

mDevice.sendDataImmediately(Vector<Byte> data)

将发送数据放在发送缓冲区

mDevice.sendData(Vector<Byte> data)

三、TSC和ESC命令编辑

佳博打印机兼容两种行业命令标准,5890XIII、58130IVC等票据打印机兼容ESC/POS指令集;

2120T、2120TL等系列标签打印机兼容TSC指令集;

2120TF则是同时兼容ESC和TSC,模式切换需拨动拨位开关

1、TSC命令调用模板如下,Gprinter SDK中的JavaDoc文件中有TSCCommand API的调用说明

TscCommand tsc = new TscCommand(60,30,0);//设置标签尺寸宽度、高度、间隙
tsc.addReference(0, 0); //设置原点坐标
tsc.addSpeed(SPEED.SPEED1DIV5);//设置打印速度
tsc.addDensity(DENSITY.DNESITY0);//设置打印浓度
tsc.addDirection(DIRECTION.BACKWARD);//设置打印方向
tsc.addCls();//清除打印缓冲区
tsc.addSound(2, 100);
tsc.addText(20,20,FONTTYPE.FONT_TAIWAN,ROTATION.ROTATON_0,FONTMUL.MUL_1,FONTMUL.MUL_1,"Hello Gprinter");//绘制文字
tsc.add1DBarcode(20, 50, BARCODETYPE.CODE128, 100, READABEL.EANBEL, ROTATION.ROTATION_180, "12345");//绘制一维条码
tsc.addPrint(1,1);//加入打印标签命令
Vector<Byte> Command = new Vector<Byte>(4096, 1024);
Command = tsc.getCommand();//获取上面编辑的打印命令
mDevice.sendDataImmediately(Command);  //发送命令     

2、ESC命令调用模板如下,Gprinter SDK中的JavaDoc文件中有ESCCommand API的调用说明

EscCommand esc = new EscCommand();
esc.addTurnEmphasizedModeOnOrOff(EscCommand.ENABLE.ON);//加粗模式有效 esc.addText("Hello World\n");//打印文字 esc.addUPCA("123456789012");//打印UPCA条码 esc.addCODE128("Gprinter");//打印CODE128条码 Vector<Byte> Command = new Vector<Byte>(4096, 1024); Command = esc.getCommand();//获得编辑的命令数据 mDevice.sendDataImmediately(Command);// 发送命令

 在Eclipse下建立好Android工程后调用Gprinter.jar文件,只需按上述步骤操作,您就可以自由编辑您想要的标签了

 

Gprinter Android SDK V1.0 使用说明

标签:android   style   blog   http   io   color   ar   os   使用   

原文地址:http://www.cnblogs.com/MrDing/p/4078010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!