TSC选配模式有三 :以太网(WiFi)、蓝牙、USB ,并提供了开发文档

1、先去官网下载,Android SDK

SDK 中包含,三种模式 ,不必逐个下载了,文档中有对 接口很详细的解释

解压如下:

2、新建工程 ,并将 SDK 中的 jar 加入 libs下,结构如下图:

3、modle 下 build.gradle中添加依赖,如下:

implementation files('libs/tscsdk.jar')

 4、清单文件配置:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.tscsample"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="15" /><!--蓝牙权限--><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /><uses-permission android:name="android.permission.BLUETOOTH" /><!--WiFi--><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme"><activityandroid:name=".MainActivity"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /><!--TSC  USB--><action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /></intent-filter></activity><activityandroid:name=".TscUsbActivity"android:theme="@style/Theme.AppCompat.Light.NoActionBar" /><!--TSC  USB--><meta-dataandroid:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"android:resource="@xml/device_filter" /></application>
</manifest>
4.1、在res 下创建xml文件 创建device_filter

内容:

<?xml version="1.0" encoding="utf-8"?>
<resources><usb-device vendor-id="4611" product-id="0017" /><usb-device vendor-id="4611" product-id="0032" /><usb-device vendor-id="4611" product-id="0018" /><usb-device vendor-id="4611" product-id="0368" /><usb-device vendor-id="4611" product-id="0369" /><usb-device vendor-id="4611" product-id="0544" /><usb-device vendor-id="4611" product-id="0545" /><usb-device vendor-id="4611" product-id="0546" /><usb-device vendor-id="4611" product-id="0373" /><usb-device vendor-id="4611" product-id="0374" /><usb-device vendor-id="4611" product-id="0352" /><usb-device vendor-id="4611" product-id="0298" /><usb-device vendor-id="4611" product-id="0289" /><usb-device vendor-id="4611" product-id="0257" /><usb-device vendor-id="4611" product-id="0296" /><usb-device vendor-id="4611" product-id="0345" /><usb-device vendor-id="4611" product-id="0297" /><usb-device vendor-id="4611" product-id="0353" /><usb-device vendor-id="4611" product-id="0304" /><usb-device vendor-id="4611" product-id="0323" /><usb-device vendor-id="4611" product-id="0288" /><usb-device vendor-id="4611" product-id="0308" /><usb-device vendor-id="4611" product-id="0307" /><usb-device vendor-id="4611" product-id="0320" /><usb-device vendor-id="4611" product-id="0288" /><usb-device vendor-id="4611" product-id="0338" /><usb-device vendor-id="4611" product-id="0294" /><usb-device vendor-id="4611" product-id="0343" /><usb-device vendor-id="4611" product-id="0584" /><usb-device vendor-id="4611" product-id="0354" /><usb-device vendor-id="4611" product-id="0309" /><usb-device vendor-id="4611" product-id="0305" /><usb-device vendor-id="4611" product-id="0322" /><usb-device vendor-id="4611" product-id="0292" /><usb-device vendor-id="4611" product-id="0339" /><usb-device vendor-id="4611" product-id="0295" /><usb-device vendor-id="4611" product-id="0337" /><usb-device vendor-id="4611" product-id="0580" /><usb-device vendor-id="4611" product-id="0577" /><usb-device vendor-id="4611" product-id="0344" /><usb-device vendor-id="4611" product-id="0583" /><usb-device vendor-id="4611" product-id="0342" /><usb-device vendor-id="4611" product-id="0585" /><usb-device vendor-id="4611" product-id="0340" /><usb-device vendor-id="4611" product-id="0581" /><usb-device vendor-id="4611" product-id="0578" /><usb-device vendor-id="4611" product-id="0336" /><usb-device vendor-id="4611" product-id="0579" /><usb-device vendor-id="4611" product-id="0576" /><usb-device vendor-id="4611" product-id="0582" /><usb-device vendor-id="4611" product-id="0313" /><usb-device vendor-id="4611" product-id="0560" /><usb-device vendor-id="4611" product-id="0561" /><usb-device vendor-id="4611" product-id="0562" /></resources>

5、配置完毕,根据开发文档,根据你当前的打印机,选配模式去编辑,公司选购的打印机选配(以太网、USB),所以,下文中,也只包含,网络连接,USB连接demo

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;import com.example.tscdll.TscWifiActivity;import static android.content.ContentValues.TAG;/*** @author sd* * 以太网*/
public class MainActivity extends Activity implements OnClickListener {/**以太网  WiFi*/TscWifiActivity TscEthernetDll = new TscWifiActivity();private Button test;private TextView mIp,mPort;private String qrCode = " 二维码内容";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {mIp = findViewById(R.id.ed_ip);mPort = findViewById(R.id.ed_port);test = (Button) findViewById(R.id.bt_test);test.setOnClickListener(this);findViewById(R.id.bt_qr).setOnClickListener(this);findViewById(R.id.bt_usb).setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()){//测试case R.id.bt_test:String mIpAddress = mIp.getText().toString();String mPortNumber = mPort.getText().toString();if (TextUtils.isEmpty(mIpAddress) || TextUtils.isEmpty(mPortNumber)){
//                  輸入IP Address  ,portTscEthernetDll.openport("192.168.0.102",9100);}else {TscEthernetDll.openport(mIpAddress, Integer.parseInt(mPortNumber));}//设置标签的寬度、高度、列印速度、列印浓度、感应器类别、gap/black mark 垂直间距、gap/black mark 偏移距离)TscEthernetDll.setup(59, 44, 4, 4, 0, 3, 0);TscEthernetDll.clearbuffer();TscEthernetDll.sendcommand("SET TEAR ON\n");TscEthernetDll.sendcommand("SET COUNTER @1 1\n");TscEthernetDll.sendcommand("@1 = \"0001\"\n");TscEthernetDll.sendcommand("TEXT 100,300,\"3\",0,1,1,@1\n");TscEthernetDll.barcode(100, 100, "128", 100, 1, 0, 3, 3, "123456789");TscEthernetDll.printerfont(100, 250, "3", 0, 1, 1, "987654321");TscEthernetDll.printlabel(2, 1);TscEthernetDll.closeport();break;case R.id.bt_qr:// WiFi  打印二维码图片String mAddress = mIp.getText().toString();String mPortNum = mPort.getText().toString();printBmp(mAddress,Integer.parseInt(mPortNum));break;case R.id.bt_usb://跳转 USB 连接模式Intent intent = new Intent(this, TscUsbActivity.class);startActivity(intent);break;default:throw new IllegalStateException("Unexpected value: " + v.getId());}}/*** 打印图片* @param printIp* @param printPort* return*/@SuppressLint("SdCardPath")public  void printBmp(String printIp,int printPort){try{//声明以太网连接实例if(TscEthernetDll==null){TscEthernetDll = new TscWifiActivity();}//打开指定IP和端口号TscEthernetDll.openport(printIp, printPort);TscEthernetDll.clearbuffer();//设置标签的寬度、高度、列印速度、列印浓度、感应器类别、gap/black mark 垂直间距、gap/black mark 偏移距离)TscEthernetDll.setup(59, 44, 4, 4, 0, 3, 0);//打印二维码的参数和内容String command = "QRCODE 120,90,Q,8,A,0,M1,S7,\"" + qrCode+"\"";//传送指令TscEthernetDll.sendcommand(command);//图片路径String path = "/sdcard/Download/" + "qrPic" + ".png";//设置图片在标签纸的坐标TscEthernetDll.sendpicture(0,20,path);//延迟一秒等待装载完了再打印Thread.sleep(1000);/*   說明: 列印标签內容參數:a: 字串型別,设定列印标签式数(set)b: 字串型別,设定列印标签份数(copy)*/TscEthernetDll.printlabel(1, 1);TscEthernetDll.closeport();}catch(Exception e){Log.e(TAG, "打印异常->" + e.getMessage());}}
}

USB 连接

import android.content.Context;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;import com.example.tscdll.TSCUSBActivity;/*** @author sd** TSC  USB 连接打印机*/
public class TscUsbActivity extends AppCompatActivity {TSCUSBActivity TscUSB = new TSCUSBActivity();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_tsc_usb);initView();}private void initView() {findViewById(R.id.bt_usb).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {UsbManager mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);UsbDevice mUsbDevice = (UsbDevice) getIntent().getParcelableExtra(UsbManager.EXTRA_DEVICE);TscUSB.openport(mUsbManager,mUsbDevice);//设置 标签宽、高 列印速度、列印濃度、感應器類別、gap/black mark 垂直間距、gap/black mark 偏移距離)TscUSB.setup(70, 50, 4, 4, 0, 0, 0);TscUSB.clearbuffer();TscUSB.sendcommand("SET TEAR ON\n");TscUSB.sendcommand("SET COUNTER @1 1\n");TscUSB.sendcommand("@1 = \"0001\"\n");TscUSB.sendcommand("TEXT 100,300,\"3\",0,1,1,@1\n");//设置图片在标签纸的坐标
//        String path = "/sdcard/Download/" + "qrPic" + ".png";
//        TscUSB.sendpicture(100,100,path);TscUSB.barcode(100, 100, "128", 100, 1, 0, 3, 3, "123456789");TscUSB.printerfont(100, 250, "3", 0, 1, 1, "987654321");TscUSB.printlabel(1, 1);TscUSB.closeport(500);}});}
}

蓝牙:

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemProperties;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
public class EmptyActivity extends Activity {TSCActivity TscDll = new TSCActivity();public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//MAC AddressTscDll.openport("00:19:0E:A0:04:E1");TscDll.downloadpcx("UL.PCX");TscDll.downloadbmp("Triangle.bmp");TscDll.downloadttf("ARIAL.TTF");TscDll.setup(70, 110, 4, 4, 0, 0, 0);TscDll.clearbuffer();TscDll.sendcommand("SET TEAR ON\n");TscDll.sendcommand("SET COUNTER @1 1\n");TscDll.sendcommand("@1 = \"0001\"\n");TscDll.sendcommand("TEXT 100,300,\"3\",0,1,1,@1\n");TscDll.sendcommand("PUTPCX 100,300,\"UL.PCX\"\n");TscDll.sendcommand("PUTBMP 100,520,\"Triangle.bmp\"\n");TscDll.sendcommand("TEXT 100,760,\"ARIAL.TTF\",0,15,15,\"THIS IS ARIAL FONT\"\n");TscDll.barcode(100, 100, "128", 100, 1, 0, 3, 3, "123456789");TscDll.printerfont(100, 250, "3", 0, 1, 1, "987654321");String status = TscDll.status();text1.setText(status);String batch = TscDll.batch();text2.setText(batch);TscDll.printlabel(2, 1);TscDll.sendfile("zpl.txt");TscDll.closeport();}
}

调试图片:

6、结束: PC 端请参考  Java TSC 打印机调用java 实例

Android 连接 TSC打印机, 打印标签(文字、图片)相关推荐

  1. android 蓝牙地址连接打印机,android 连接蓝牙打印机 BluetoothAdapter

    android 连接蓝牙打印机 BluetoothAdapter 源码下载地址:https://github.com/yylxy/BluetoothText.git public class Prin ...

  2. uni-app H5+ 连接蓝牙打印机打印文字及二维码

    基于Native.js 实现的连接蓝牙打印机 打印效果图 核心代码 测试代码 运行设备及环境 PS: PPS: Demo 打印效果图 核心代码 /*** @Description: 蓝牙打印类 基于h ...

  3. JAVA调用TSC打印机打印标签(二维码,数据等)超详细!!

    本文打印机型号: TSC MA3400P 后端调用tsc打印机是通过DLL来进行调用的,首先你需要两个TSC文件直接复制到项目目录下边即可 可以直接去官网下载:https://www.chinatsc ...

  4. android连接小票打印机,打印小票数据的两种模式

    为了开发android无线点餐系统,需要用到打印小票任务,根据网上查找资料所得,学习了两种方法,一种为通过tomcat服务连接服务器所连接的打印机打印,一种为直接连接网络打印机打印 一.通过tomca ...

  5. H5开发 连接蓝牙打印机 打印标签(斑马ZR628)

    1.连接蓝牙打印机(先用手机自带蓝牙进行配对),然后绑定出已配对的蓝牙设备(用来选择/切换打印机之用),代码如下 已配对蓝牙设备,中显示的就是已连接的,点击一下即可 代码: 1 <!DOCTYP ...

  6. Android连接蓝牙打印机

    前言 在之前写过一篇Android操作蓝牙打印机(上),当时也是因为自己在工作中确实走了许多弯路,所以当时计划着用两篇文章详细阐述蓝牙打印的整个流程,也是对工作的一种总结,其次也可以给蓝牙打印方面感觉 ...

  7. 蓝牙连接打印机打印文字图片条形码二维码 用的是Gprinter打印机

    实现了蓝牙打印,正在进一步完善,欢迎留言交流 :) Github链接

  8. mui android连接蓝牙打印机打印

    android设备连蓝牙打印机打印,代码如下:  mui.plusReady(function(){             main = plus.android.runtimeMainActivi ...

  9. Android连接蓝牙打印机实现PDF文档的打印

    目前网上教程与Demo介绍的都是蓝牙连接热敏打印机(pos机大小的打印机),如果想通过蓝牙连接日常所见到的打印机,进行打印,这些教程或Demo是做不到的. 目前Android的蓝牙并不支持BPP(Ba ...

最新文章

  1. 如何让网站建设实际效果比之前更好?
  2. 关于ajax里面嵌套ajax
  3. tomcat的安装和部署项目
  4. hdu 5639(区间dp)
  5. leetcode 35. 搜索插入位置 思考分析
  6. 经典面试题(3):关于this指向的常见面试题
  7. [图解]红旗Linux6.0下如何安装VMWARE TOOLS
  8. Session共享的四种方法
  9. LeetCode:Permutations, Permutations II(求全排列)
  10. RunTime之类与对象
  11. 完美掌握MySQL登录方法]MySQL登录教程
  12. 基于asp.net742自驾游旅游服务网站的设计
  13. 量子计算机是否存在相对论,从量子到宇宙——颠覆人类认知的科学之旅
  14. RPA 的优点与缺点
  15. 服务器终端输出,服务器与终端数据交互程序
  16. ECCV 2022 | 清华腾讯AI Lab提出REALY: 重新思考3D人脸重建的评估方法
  17. 关于信息搜集的部分介绍
  18. 回撤率 python_回的解释|回的意思|汉典“回”字的基本解释
  19. 3维旋转矩阵推导与助记
  20. 中国液化天然气载体市场趋势报告、技术动态创新及市场预测

热门文章

  1. 《Spring系列》第15章 声明式事务(一) 基础使用
  2. mac外接显示器 竖屏 黑苹果_调教Mac外接显示器(开启HiDPI)
  3. python 一组数据 正态分布散点图_R语言入门之散点图
  4. [点点搬家]与Perl厮混后感觉嘚儿嘚儿的
  5. Silverlight开发历程—(绘制放射渐变图形)
  6. 【离散数学】数理逻辑 第一章 命题逻辑(7) 命题逻辑的推理理论
  7. 基于Stanford Parser 及OpenNLP Shallow Parser构建句子语法解析树
  8. Anaconda 虚拟环境:pyuic之找不到模块之最后的希望(最新)
  9. 第二部分 太阳能预测(半经验模型)
  10. 客观分析电子合同是如何提升效率的?