data—要写入的数据字符串,可为任意字符,包括中文字符,总长度不超过 16 个字节,超过则截取前16个字节。
返回:执行状态,0—命令执行成功,非0—执行失败 int readData(int block,String[] data ) 功能:读数据块
参数:block—绝对块号,取值范围0-63,块0及每个区的
块3不可写
Data—输出类型:data[0]为读到的块数据。
返回:执行状态吗,0—操作成功,1—输入参数非法,255
—无卡,
252—认证出错、 246—未认证,-1—操作失败 3.3.4 POS机操作类
int openAndConnect(int port ,int mode, int baudRate); 功能:连接设备
参数:port - 串口(默认值为2,即COM2)
mode–端口模式(mode=0,表示POS机连接至串口),
baudRate—波特率(默认值为7,表示波特率为115200),取
值为0-9,分别表示波特率为
\\; 返回:执行状态,0—命令执行成功,非0—执行失败 void closeAndDisconnect() 功能:断开设备 参数:无
ArrayList
datalist)
功能:生成小票打印行集合 参数:小票数据集合 long getWithhold()
功能:获得扣款金额 参数:无 3.3.4 主界面类文件
(1) 欢迎界面类:WelcomeActivity.java,为欢迎界面如图5-24,界面加载欢迎界面图片,通过线程停留2秒后进入主界面。
图5-24 欢迎界面
(2)
主界面类文件RechargeActivity.java对应
“activity_recharge.xml”布局文件的详细功能实现;主要实现了高频读取高频卡、高频卡进行充值、POS机小票打印等功能。该类文件位于“com/newland/ui”包下。以下为该类文件的关键代码:
private void initComponent() {
tvCardNum = (TextView) findViewById(R.id.tvCardNum); tvBalance = (TextView) findViewById(R.id.tvBalance); pos = new Pos();
handler = new Handler(); // 打印小票线程
runnable_SPRT = new Runnable() {
int index = 0; public void run() {
// TODO Auto-generated method stub
if (index >= SPRTlist.size()) {
index = 0;
handler.removeCallbacks(this);
} else {
try {
byte[] bs_line =
SPRTlist.get(index).getBytes(\);
pos.printReceipt(bs_line); index++;
// 100ms之后再次运行此runnable,100ms打印一行
};}
}
handler.postDelayed(this, 100);
} catch (UnsupportedEncodingException e) {
// TODO 自动生成的 catch 块 e.printStackTrace();
} }
3.4 图书登记系统
3.4.1图书馆登记系统功能描述及设计说明 3.4.1-1. 功能描述