最近在用佳博的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版本的

gprinter佳博打印机androidSDK的更多相关文章

  1. 59、佳博wifi打印机怎么配置

    1.去这里下载配置软件(注意,需要再windows下进行)http://pan.baidu.com/s/1bn1y4FX,并解压安装程序 2.连上wifi打印机的热点,比如说佳博打印机的默认为Gpri ...

  2. 佳博GprinterApp编辑软件使用说明

    佳博打印机代理商淘宝店https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.Sqz8Pf 在此店购买的打印机 ...

  3. C# 打开钱箱支持北洋、佳博、爱普生

    /// <summary> /// 执行开钱箱操作 /// 没钱箱或打印机原功能都可以正常使用 /// </summary> public void ExecuteOpenCa ...

  4. 佳博80250打印机怎么看打印机IP

    插上电源关机状态开机前按住走纸键(FEED)先别放手长按大概5-10秒手放开,打印机就会自动打印出一张测试纸的,纸上有个IP的,此IP就是打印机IP了!

  5. Gprinter Android SDK V2.1.4 使用说明

    佳博打印机Android的SDK开发包,已更新到Gprinter Android SDK V2.1.4. IOS的SDK开发包更新为GprinterSDKandDemoforIOS_v1.0.8. 根 ...

  6. Gprinter Android SDK V1.0 使用说明

    佳博打印机代理商淘宝店https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.Sqz8Pf 在此店购买的打印机 ...

  7. Gprinter Android SDK V2.0 使用说明

    佳博特约经销商,此店购买的打印机问题优先解决哟 https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.V1p ...

  8. 菜鸟学开店—自带U盘的打印机

    本文旨在提供最简单.便宜.有效的解决方案,解决普通用户最困扰的问题.今天提供普通用户一个低价的小票打印机驱动安装解决方案 相信很多用户都碰到过这种情况,电脑的重装了系统,打印机的驱动没有备份,要用打印 ...

  9. (九)打印机驱动设置—USB接口的设置

    佳博打印机代理商淘宝店https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.Sqz8Pf 在此店购买的打印机 ...

随机推荐

  1. HDU 1041 Computer Transformation(找规律加大数乘)

    主要还是找规律,然后大数相乘 #include<stdio.h> #include<string.h> #include<math.h> #include<t ...

  2. 如何解锁亚马逊A9的新算法?

    亚马逊每一次变动总能在跨境圈里掀起一场场风波,最近A9算法的更新更是牵动着不少卖家的心. A9算法是亚马逊运行的内核算法,只要消费者在亚马逊上面搜索了商品,那么他就已经开始使用了A9算法,通过分析每一 ...

  3. 运维案例 | Exchange2010数据库损坏的紧急修复思路

    ​​关注嘉为科技,获取运维新知 Exchange后端数据库故障,一般都会是比较严重的紧急故障,因为这会直接影响到大面积用户的正常使用,而且涉及到用户数据.一旦遇到这种级别的故障,管理员往往都是在非常紧 ...

  4. OO-第二单元总结

    一.三次作业的设计策略 (1). 第五次作业 第五次作业由于较为简单,在强测及互测中均没有出现BUG,但是并没有做优化.本次的设计有些不合理,所以在后面的作业中也做了重构.本次的作业主要有三个类,主函 ...

  5. activiti-explore(activiti5.17) 替换数据库

    http://blog.csdn.net/xiangwangye66/article/details/46943301

  6. _proto_理解

    一个对象就是一个属性集合,并拥有一个独立的prototype(原型)对象.这个prototype可以是一个对象或 者null. 一个对象的prototype是以内部的[[Prototype]]属性来引 ...

  7. C++标准模板库(STL)之Stack

    1.Stack的常用用法 stack:栈,一个后进先出的容器. 1.1.stack的定义 加上头文件#include<stack>和using namespace std; stack&l ...

  8. 八大排序算法——快速排序(动图演示 思路分析 实例代码Java 复杂度分析)

    一.动图演示 二.思路分析 快速排序的思想就是,选一个数作为基数(这里我选的是第一个数),大于这个基数的放到右边,小于这个基数的放到左边,等于这个基数的数可以放到左边或右边,看自己习惯,这里我是放到了 ...

  9. js promise中如何取到[[PromiseValue]]

    返回的值Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: "http://dl.stream.qqmus ...

  10. windows异步通知I/O模型

    回声服务器端: #include <stdio.h> #include <stdlib.h> #include <WinSock2.h> #define BUF_S ...