最近在用佳博的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. .NET、C#和ASP.NET、ASP.NET MVC四者之间的区别

    什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语 ...

  2. 实现img图片不能被拖动的两种简单方法

    1,在img标签中添加属性 draggable="false" 2,通过css样式设置 img { -webkit-user-drag: none; }

  3. [Maven - Java Version] 如何设置Maven的Java版本或者使用不同的JDK版本编译

    In pom.xml, defined this maven.compiler.source properties to tell Maven to use Java 8 to compile the ...

  4. java小白也能懂的面向对象

    类是对一组具有共同特征和行为的对象的抽象描述. 理解 [1]类是专门用于描述现实生活中的事物的. [2]类描述的事物都具有共同的特征和行为. [3]类就是我们通常所说的 “类型” ,描述的是一个群体性 ...

  5. inconfont的使用

    iconfont 进入阿里的矢量图标库,进入到我的项目(图标库)中,可以看到如下页面 根据不同的使用方式(Unicode.Font class.Symbol)可将对应文件下载至本地或直接在项目中引入 ...

  6. Vue非父子级通信

    <div id="app"> <xz-todo></xz-todo> </div> <!--1. 为每个组件定义HTML 模板 ...

  7. oracle创建删除表空间

    create [undo|temporary] tablespace orcp datafile|tempfile 'E:\orcle\oracleBaseDir\oradata\orcp\orcp. ...

  8. c++连续读取未知个数的数字

    #include <iostream> using namespace std; int main() { int n; ]; ,count=; while(cin>>n){ ...

  9. io.undertow.websockets.jsr.ServerWebSocketContainer cannot be cast to org.apache.tomcat.websocket.server.WsServerContainer

    Caused by: java.lang.ClassCastException: io.undertow.websockets.jsr.ServerWebSocketContainer cannot ...

  10. 【Linux】grep命令

    grep 命令 在文件中搜索一个单词,命令会返回一个包含 “match_pattern” 的文本行: grep match_pattern file_name grep "match_pat ...