(3) 学习 android 的系统框架和开发流程,了解有关生命周期的概念,并学习 了 SQLite 的使用方法设计并实现了 Android 端的冠字号二维码识别子系统, 实现了二维码的扫描解析、冠字号的存储和查询功能。
1.4 论文的组织结构
第一章。 绪论 介绍了本文的选题背景,对当前国内外研究和实际应用情况进行 了分析,对全文的工作内容进行了整体的规划和介绍。
第二章。 相关技术介绍:介绍了系统开发所用到得到相关技术 第三章。 系统总体设计方案。。论文网
第四章。 PC 端二维码生成系统的设计和实现。 第五章。 手机端二维码识别子程序设计和实现。 第六章。 总结和展望。
2 相关技术介绍
2.1 FSN 文件的结构
FSN 文件是银行定义的一种存储点钞机冠字号码记录的文件。其记录的信息均为 二进制格式。
FSN 文件的分为连个部分:文件头和文件记录内容。具体定义用 c 语言结构和语 法描述如下:
1.文件头结构: typedef struct {
Uint16 HeadStart[4]; Uint16 HeadString[6]; Uint32 Counter; Uint16 HeadEnd[4];
}
文件头结构说明:
HeadStart 由 4 个 16 比特无符号数据组成,内容为十进制数,分别是 20,10,7,26;
HeadString 由 6 个 16 比特无符号数据组成,内容为
HeadString[0] = 0
HeadString[1] = 1 HeadString[2] = 0x2E 或 0x2D
0x2E 表示该 U 盘数据记录包含图像序列号,0x2D 表示不包含图像序列号 HeadString[3] = 'S',大写字符 S
HeadString[4] = 'N', 大写字符 N HeadString[5] =‘o’,小写字符 o
Counter 为 32 比特无符号数值,记录当前冠字号码的记录数。当向冠字号码文件 写入新号码记录时必须更改此数。否则,Counter 与实际的记录个数不符,U 盘数据 将会被认为为非法文件。
HeadEnd 由 4 个 16 比特无符号数据组成,内容为十进制数,数值分别是 0,1,2,3。
2.文件记录结构: typedef struct {
Uint16 Date; //验钞启动日期 Uint16 Time; //验钞启动时间
Uint16 tfFlag; //真、假、残和旧币标志 Uint16 ErrorCode[3]; //错误码(3 个)
Uint16 MoneyFlag[4]; //货币标志 Uint16 Ver; //版本号 Uint16 Valuta; //币值
Uint16 CharNUM; //冠字号码字符数 Uint16 SNo[12]; //冠字号码
Uint16 MachineSNo[24];//机具编号 Uint16 Reserve1 //保留字 1 TImageSNo ImageSNo;//图像冠字号码
}
文件记录结构说明:
Date 和 Time 为机器点一把钞时,机器开始点验钞的时间: 指定年月日的日期数据的产生算法为: Date = ((Year-1980)<<9) + (Month<<5)
+ Day文献综述
其中:Year 为年份,大于等于 1980;Month 为月份;Day 为日; 指定时分秒的时间数据产生算法为:Time = (Hour<<11) + (Minute<<5) +