最近在用佳博的SDK做打印的功能,由于一直做的是.net,没有android的基础,这个功能我做了一个多月,包括前期调研佳博打印机的打印方式。佳博打印机有两种打印方式,一种是标签打印,要用到TscCommand这个接口;另外一种是票据打印,要用到EscCommand这个接口。由于没有android基础,不知道更新UI是需要放在UI线程里面,不能放在其他线程里面。这个问题我也弄了好久。不过现在已经解决了。这是更新UI的代码,以便以后方便查找。

// 构建Runnable对象,在runnable中更新界面
Runnable runnableUi = new Runnable() {
@Override
public void run() {
// 更新界面
GridView gview = (GridView) findViewById(R.id.gview);
ListView lview = (ListView) findViewById(R.id.lview);
TextView pchecked = (TextView) findViewById(R.id.p10);
TextView ptemperature = (TextView) findViewById(R.id.p9);
LinearLayout playout = (LinearLayout) findViewById(R.id.temperaturelayout);
CheckBox ck = (CheckBox) findViewById(R.id.pchecked);
Button btnspot = (Button) findViewById(R.id.btnspotmit); // 现货库
Button btnreceipt = (Button) findViewById(R.id.btnreceiptmit); // 补签收
Button btndelivery = (Button) findViewById(R.id.btndelivery); // 送货联
Button btnsubmit = (Button) findViewById(R.id.btnpsubmit);// 提交送货联
pchecked.setVisibility(TextView.GONE);
ptemperature.setVisibility(TextView.GONE);
playout.setVisibility(LinearLayout.GONE);
ck.setVisibility(CheckBox.GONE);
btndelivery.setVisibility(Button.GONE);
btnspot.setVisibility(Button.GONE);
btnreceipt.setVisibility(Button.GONE);
btnsubmit.setVisibility(Button.VISIBLE);
gview.setVisibility(GridView.GONE);
lview.setVisibility(ListView.VISIBLE);
SimpleAdapter adapter = new SimpleAdapter(PurchaseActivity.this,
maps, R.layout.listviewsource, new String[] { "pid",
"pcode", "punit" }, new int[] { R.id.p000,
R.id.p001, R.id.p003 });
lview.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
};

首先要在OnCreate方法里面声明一个专门用于更新UI的handler

Handler h=new Handler();

然后在需要用到的地方调用一下:

h.post(runnableUi);

我这边是在加入送货联的时候用到的这个:

// 加入送货联
btndelivery.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {

new Thread() {
public void run() {
clearCheck();
for (int i = 0; i < gv.getChildCount(); i++) {
View view = gv.getChildAt(i);
CheckBox checkBox = (CheckBox) ((ViewGroup) view)
.getChildAt(10);
if (checkBox.isChecked()) {
TextView pushid = (TextView) view
.findViewById(R.id.p00);
txtid = pushid.getText().toString();
Log.i("订单号", txtid);
ordlist.add(txtid);
strordid += txtid + ",";
}
}
if (ordlist.size() > 0) {
saveCheck("orderid", strordid);// 将选取的订单ID放入缓存中
InitLview();
h.post(runnableUi);
} else {
error_msg = "您还没有选取数据";
alertHandler.sendEmptyMessage(0);
}
}
}.start();
} catch (Exception e) {
e.printStackTrace();
}
}

});

最后贴上gprinter Android SDK:

http://pan.baidu.com/s/1bpjhD9t 这个是1.1版本的

http://pan.baidu.com/s/1hsIjybM 这个是2.1版本的

转载于:https://www.cnblogs.com/xiuselaoli/p/7728215.html

gprinter佳博打印机androidSDK相关推荐

  1. java 佳博打印机,佳博蓝牙打印的java 连接

    适用于gp-3120tu机型通过蓝牙协议与android app的对接, 用的是TSC指令. package com.freestyle.demo; import android.content.In ...

  2. 佳博打印机接入(java)

    需求:某司要求做的web端应用调用本地打印机(佳博),打印内容从后端获取.思路变成了前端获取内容,传输到打印机,调用打印功能.这里我的另一篇文章已经完成前端带参数调用打印功能,有需要的同志们可以去TO ...

  3. java使用佳博打印机打印条形码

    在实际开发中我们使用条形码打印机打印条形码,这里介绍下使用动态链接库TSClib.dll编辑方式打印条形码,还有js实现方式,这里不进行介绍,会给相关的demo 准备工作: 1.佳博打印机,如佳博GP ...

  4. java使用佳博打印机打印标签

    文章目录 1.前言 1.1打印机型号及驱动说明 1.2背景概要 2.填坑 3.上代码 1.项目截图 2.==中文打印需要注意两点== 3.项目源码 4.总结 1.前言 1.1打印机型号及驱动说明 打印 ...

  5. 蓝牙热敏打印开发(佳博打印机)

    最近在研究蓝牙打印,这是个大坑啊,不同的打印机会有不同的设置,这边用的是佳博的热敏打印机,就以它为例吧. 一,首先,蓝牙打印当然得要连接蓝牙,这边在demo里有两个文件,ConnectViewCont ...

  6. 佳博便携式条码打印机怎么使用_佳博打印机如何设置热敏打印

    原标题:佳博打印机如何设置热敏打印 现在市场上标签纸种类比较多,如果你的打印机适合哪种标签纸,你需要在你的打印机上安装对应的标签纸即可,这里以佳博打印机安装热敏纸为例,首选需要在打印机上安装热敏纸,安 ...

  7. 佳博打印机android版本代码优化

    最近公司需要使用蓝牙打印功能,买了两个样机,一个是佳博,另外一个是MobilePrinter. 不得不说因为都用的人比较少,开发文档都比较坑,佳博打印机虽然文档还算完整,但是demo实在很难看,业务流 ...

  8. uniapp连接佳博打印机实现蓝牙打印票据功能

    开始实现搜索蓝牙.获取蓝牙设备.连接蓝牙设备等操作.代码如下 <template><view class="content"><button clas ...

  9. (失败作)用NodeJS调用打印机 - 型号:Gprinter佳博 GP-L80250I

    2015.10.22 开始尝试,后续成功后再修改文章. 2015.10.23 尝试失败. 看了一下nodejs里的node-printer包和ipp打印包. 貌似都是有针对性的C/C++组件的. 英文 ...

最新文章

  1. 十四、堆(Heap)
  2. java 编写异常_Java基础编程之异常处理
  3. Junit4常用注解
  4. c语言构造报文,构造一个缓冲区溢出的C语言的例子
  5. 软件开发模型和软件过程模型_什么是软件和软件过程?
  6. 用友邮件撤回怎么操作_用户体验原则——“操作可控”
  7. WPF纯手工两步打造图片切割工具(二)
  8. ios 录音生成.aac录音文件
  9. Wap开发FAQ大全
  10. Android Activity 硬件加速
  11. 一篇文章搞懂富人的内在逻辑|普通人如何改变命运?【财富02】
  12. 2017年人工智能十大关键词!
  13. Java 文件操作#常用io流方法解读
  14. 英特尔 back,全新架构 coming
  15. firefox html5 pop,数组的push、unshift、pop、shift方法实现
  16. 深入浅出理解Java并发AQS的共享锁模式
  17. 大白菜装机教程win10_装机吧教你没有光盘的情况下:如何重装系统
  18. 校招----青颖飞帆二面面经
  19. VIA 威盛VL162新款switch数据切换芯片。方案设计
  20. Unity Shader - ddx/ddy偏导函数测试,实现:锐化、高度图、Flat shading应用、高度生成法线

热门文章

  1. IB数学课程复习指南
  2. AI 绘画(1):生成一个图片的标准流程
  3. verilog实现简单的除法运算
  4. uniapp监听视频播放进度,完成视频试看操作
  5. 一文了解USB Type-C
  6. 硬盘详解---磁道,扇区,柱面和磁头数
  7. 硬盘检测 Victoria教程:每个扇区512byte(现在新的硬盘每个扇区有4K)一个块是4K(4096)扇区,1个块由连续的8个扇区组成。Victoria扫描常选块由2048扇区每扇区512字节
  8. stress的安装和基本使用
  9. qemu-img转换镜像文件格式
  10. Codevs 抄书问题123