ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:18.04KB ,
资源ID:6983359      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6983359.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(麦子学院Android开发教程生成商品条形码实例.docx)为本站会员(nacm35)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

麦子学院Android开发教程生成商品条形码实例.docx

1、IT 在线教育平台麦子学院 http:/下面来看一篇关于 Android 生成商品条形码的例子,这个生成是利用了 EAN-13 方式来生成了,代码与生成例子都在文章下面有大家可测试一下。简介商品条码,或者 EAN 是欧洲标准条码。该条码被作为商品和商品制造商的唯一标识,同时,是美国标准 UPC 的超集。EAN-13 由前十二位数字和第十三位作为校验位的数字组成。其中第十三位数字由前十二位数字按照一定公式计算得出。如今,各个领域都有条码的应用。如果你以写代码为生,你的程序需要支持条码是早晚的事儿。比如超市的会员打折系统,用户以手机获取的条码作为唯一标识,来获得折扣。又比如支付系统中的星巴克支付系

2、统。本文中,我们将讨论如何在安卓系统中生成 EAN-13 条码。EAN-13 计算基础EAN-13 采用的是是各位商品码,第十三位作为校验位。该校验位有前十二位数字生成。生成校验位的算法如下(数据从左到右计数):P1 = 偶数位的数字和P2 = 奇数位的数字和Z = P1 + 3 * P2R = 取个位数作为 Z 值校验位 = R - Z下面我们看一下 EAN-13 的编码结构 :首位不参与计算随后六位根据首位数字编码末六位以下列规则转换首位 左六位 右六位0 LLLLLL RRRRRR1 LLGLGG RRRRRR2 LLGGLG RRRRRR3 LLGGGL RRRRRRIT 在线教育平台

3、麦子学院 http:/4 LGLLGG RRRRRR5 LGGLLG RRRRRR6 LGGGLL RRRRRR7 LGLGLG RRRRRR8 LGLGGL RRRRRR9 LGGLGL RRRRRR位编码:Digit L - code G - code R - code0 0001101 0100111 11100101 0011001 0110011 11001102 0010011 0011011 11011003 0111101 0100001 10000104 0100011 0011101 10111005 0110001 0111001 10011106 0101111 000

4、0101 10100007 0111011 0010001 10001008 0110111 0001001 10010009 0001011 0010111 1110100应用文章尾部,我贴出了一个用十二位数字生成 EAN-13 条码的类 EAN13CodeBuilder。这个类可以把生成的十三位数字的每一位都替换为可以展示到屏幕的特殊字体。该字体包括了一些特殊字符,比如$,+,!和其如上所述的十个数字的编码 L,R,G。在 EAN-13 条码必须以以下方式生成:起始界定符(取决于第一位数字)-左六位-中间分隔符-右六位-终止符(!)Digit L - code G - code R -co

5、de Start delimiter0 0 A a #!1 1 B b $!2 2 C c %!3 3 D d private String generatedCode;/url : http:/ public EAN13CodeBuilder(String codeString)codeStringValue = codeString;parse();public String getCode()return generatedCode;/ this method generates EAN 13 control number ans returns full / string to enc

6、odeIT 在线教育平台麦子学院 http:/private String getFullCode()int chetVal = 0, nechetVal = 0;String codeToParse = codeStringValue;for( int index = 0;index6;index+ )chetVal += Integer.valueOf(codeToParse.substring(index*2+1,index*2+2).intValue();nechetVal += Integer.valueOf(codeToParse.substring(index*2,index*2

7、+1).intValue();chetVal *= 3;int controlNumber = 10 - (chetVal+nechetVal)%10;if( controlNumber = 10 ) controlNumber = 0;codeToParse += String.valueOf(controlNumber);return codeToParse;private String DigitToUpperCase( String digit)String letters = “ABCDEFGHIJ“;int position = Integer.valueOf(digit).int

8、Value();String retVal = letters.substring(position,position+1);IT 在线教育平台麦子学院 http:/return retVal;private String DigitToLowerCase( String digit)String letters = “abcdefghij“;int position = Integer.valueOf(digit).intValue();String retVal = letters.substring(position,position+1);return retVal;/ this me

9、thod generates EAN 13 encoded string/ algorithm can be found at http:/en.wikipedia.org/wiki/EAN-13private String createEAN13Code(String rawCode)int firstFlag = Integer.valueOf(rawCode.substring(0,1).intValue();String leftString = rawCode.substring(1,7);String rightString = rawCode.substring(7);Strin

10、g rightCode = “;IT 在线教育平台麦子学院 http:/String leftCode = “;for( int i=0;i6;i+)rightCode += DigitToLowerCase( rightString.substring(i,i+1) );if( firstFlag = 0 )leftCode = “#!“+leftString.substring(0,1)+leftString.substring(1,2)+leftString.substring(2,3)+leftString.substring(3,4)+leftString.substring(4,5

11、)+leftString.substring(5);if( firstFlag = 1 )leftCode = “$!“+leftString.substring(0,1)+leftString.substring(1,2)+DigitToUpperCase(leftString.substring(2,3)+leftString.substring(3,4)+DigitToUpperCase(leftString.substring(4,5)+DigitToUpperCase(leftString.substring(5);if( firstFlag = 2 )IT 在线教育平台麦子学院 h

12、ttp:/leftCode = “%!“+leftString.substring(0,1)+leftString.substring(1,2)+DigitToUpperCase(leftString.substring(2,3)+DigitToUpperCase(leftString.substring(3,4)+leftString.substring(4,5)+DigitToUpperCase(leftString.substring(5);if( firstFlag = 3 )leftCode = “if( firstFlag = 4 )leftCode = “!“+leftStrin

13、g.substring(0,1)+DigitToUpperCase(leftString.substring(1,2)+leftString.substring(2,3)+leftString.substring(3,4)+DigitToUpperCase(leftString.substring(4,5)+DigitToUpperCase(leftString.substring(5);if( firstFlag = 5 )leftCode = “(!“+leftString.substring(0,1)+DigitToUpperCase(leftString.substring(1,2)+

14、DigitToUpperCase(leftString.substring(2,3)IT 在线教育平台麦子学院 http:/+leftString.substring(3,4)+leftString.substring(4,5)+DigitToUpperCase(leftString.substring(5);if( firstFlag = 6 )leftCode = “)!“+leftString.substring(0,1)+DigitToUpperCase(leftString.substring(1,2)+DigitToUpperCase(leftString.substring(2,

15、3)+DigitToUpperCase(leftString.substring(3,4)+leftString.substring(4,5)+leftString.substring(5);if( firstFlag = 7 )leftCode = “*!“+leftString.substring(0,1)+DigitToUpperCase(leftString.substring(1,2)+leftString.substring(2,3)+DigitToUpperCase(leftString.substring(3,4)+leftString.substring(4,5)+Digit

16、ToUpperCase(leftString.substring(5);if( firstFlag = 8 )leftCode = “+!“+leftString.substring(0,1)+DigitToUpperCase(leftString.substring(1,2)+leftString.substring(2,3)+DigitToUpperCase(leftString.substring(3,4)+DigitToUpperCase(leftString.substring(4,5)+leftString.substring(5);IT 在线教育平台麦子学院 http:/if(

17、firstFlag = 9 )leftCode = “,!“+leftString.substring(0,1)+DigitToUpperCase(leftString.substring(1,2)+DigitToUpperCase(leftString.substring(2,3)+leftString.substring(3,4)+DigitToUpperCase(leftString.substring(4,5)+leftString.substring(5);String retVal = leftCode + “-“ + rightCode + “!“;return retVal;p

18、rivate void parse()String fullString = getFullCode();System.out.println( “Full code: “ + fullString );generatedCode = createEAN13Code(fullString);System.out.println( “Generated code: “ + generatedCode );代码IT 在线教育平台麦子学院 http:/为了生成一个在线条码,并将它展示到安卓屏幕上,你可能需要自己生成条码并用其中的特殊字符展示到屏幕上。为了在安卓系统的 TextView 部件中设置字符

19、集,你需要在工程文件的 /assets 下放置一个文件,加载 Typeface 并且设置 Typeface 到TextView 中:代码如下 复制代码import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.TextView;import android.graphics.Typeface;public class AndroidEAN13Activity extends Activity /* Called when the activity is f

20、irst created. */Overridepublic void onCreate(Bundle icicle) super.onCreate(icicle);/ ToDo add your GUI initialization code herethis.setContentView(R.layout.main);TextView t = (TextView)findViewById(R.id.barcode);/ set barcode font for TextView./ ttf file must be placed is assets/fonts Typeface font = Typeface.createFromAsset(this.getAssets(), “fonts/EanP72Tt Normal.Ttf“);t.setTypeface(font);/ generate barcode string IT 在线教育平台麦子学院 http:/EAN13CodeBuilder bb = new EAN13CodeBuilder(“124958761310“);t.setText(bb.getCode();

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报