现在的位置: 首页 > 综合 > 正文

android二维码制作

2014年09月05日 ⁄ 综合 ⁄ 共 3102字 ⁄ 字号 评论关闭

如果你希望生成的二维码名片可以被智能设备识别,并可以直接导入到通讯录中,那么就应遵循某种标准格式。常见的是生成vcard标准格式。

一个简单的vcard名片格式例子参考如下:

二维码名片

生成名片二维码,通过扫描,可以马上把联系人添加到手机通讯录里

二维码中文本格式如下:

BEGIN:VCARD
VERSION:3.0
FN:任侠
TEL;CELL;VOICE:15201280000
TEL;WORK;VOICE:010-62100000
TEL;WORK;FAX:010-62100001
EMAIL;PREF;INTERNET:lzw#lzw.me
URL:http://lzw.me
orG:志文工作室
ROLE:产品部
TITLE:CTO
ADR;WORK;POSTAL:北京市朝阳区北四环中路35号;100101
REV:2012-12-27T08:30:02Z
END:VCARD


常见数据类型的手机二维码生成与识别格式参考 (转)

随着智能设备的普及,二维码(2D barcode or QR code=Quick reference code)的使用越来越广泛,用智能手机拍下二维码就方便地获取网址、手机号码以及个人名片等有用的信息。本文将要介绍的是可被一般智能设备识别的二维码数据存储格式。

1. 网址 (URL)

包含网址的二维码是当前应用使用最广泛的(例如:http://lzw.me),二维码识别软件能够通过
http://前缀识别该数据代表一个网址。使用{URLTO:www.zhiwenweb.cn} 类似的语法格式也可产生同样的效果。

2. 电子邮箱地址(E-mail Address)

电子邮箱基本上是每个互联网用户必备的沟通方式之一,二维码保存可识别的电子邮箱地址(例如webmaster@zhiwenweb.com)的语法格式是{mailto:webmaster@zhiwenweb.com}。

 

3. 电话号码 (telephone numbers)

电话号码的二维码数据格式很简单:{tel:13955555555}。如果是家用或办公固话则需要加上区号,需要和海外联系的朋友则需加上中国国家代码+86。

 

4. 联系人名片(Contact information)

适合以二维码识别的联系人名片数据格式有多种,其中vcard(电子名片)是一种最常见的格式。相对于其他数据类型来说,联系人名片的格式要复杂的多。

1>. MECARD
当前大部分的二维码识别软件,一般都支持由日本的docomo公司制定的MECARD数据格式。MECARD是一种相对较为简单的格式,一个示例如下:

MECARD:N:ren,xia;ADR:beijing,beijing,china;TEL:+865558888888; EMAIL:webmaster@zhiwenweb.com;URL:http://lzw.me;QQ:12345678;; 

2>. BIZCARD

这种数据格式和MECARD类似,似乎比MECARD更加简单。一个可供参考的例子如下:

BIZCARD:N:xia;X:ren;T:Software Engineer;C:sina;A:chaoyang, beijing, China 100101;B:+8655555555;E:webmaster@zhiwenweb.cn;;

3>. vCard

一种很常用的电子名片数据格式。从windows的地址簿到linux的联系人;手机、PC皆能兼容,语法比较烦琐。可参考该文:

php生成二维码方法及二维码名片的生成格式vcard介绍
http://lzw.me/Category/Learning/php-qrcode-vcard.html 

 

5. 短信(SMS)

语法格式:

{smsto:13800138000:你好,我来自志文工作室}

 

6. 彩信(MMS)

和短信的格式类似:

{mmsto:13800138000:你好,我来自志文工作室}

 

7. 地理位置(Geographic information)

和朋友一起分享你现在的位置,无疑是个很有用的功能。例如查看google公司在美国纽约的位置:北纬40.71872,西经73.98905;高度为100米。语法格式:

{geo:40.71872,-73.98905,100} 

8. 获取安卓软件

在google的安卓市场找软件,可以使用应用市场软件识别并进行软件搜索,例如微信的格式:

 

{market://details?id=com.tencent.mm}

 

9.获取Wifi配置(Android)

{WIFI:T:WPA;S:mynetwork;P:mypass;;}

相关参数说明

1 参数 
例子  说明
2 T  
WPA 认证类型: WEP 或WPA, ‘nopass’ 代表无需认证
3 S  
network 无线网络的 SSID. (例如 “ABCD”)
4 P  
mypass  无线网络的密码,如果无需认证则忽略此项 (例如 “pass”)
5 H  
true    可选。针对隐藏了SSID的网络

二维码会议签到思路记录:

开会人员只需通过手机中的二维码或者电子门票,扫描二维码凭证,系统会快速识别记录参会人员信息,节省签到时间快速完成签到工作。

    private int sizeImg=300;
	/**
     * 用字符串生成二维码
     * @param str
     * @author zhouzhe@lenovo-cw.com
     * @return
     * @throws WriterException
     */
    private Bitmap create2DCode(String str) throws Exception {
        //生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败
        Hashtable<EncodeHintType,String> hints = new Hashtable<EncodeHintType,String>();
        hints.put(EncodeHintType.CHARACTER_SET, "gbk");//解决中文乱码
        BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, sizeImg, sizeImg,hints);
        info(str);
        int width = matrix.getWidth();
        int height = matrix.getHeight();
        //二维矩阵转为一维像素数组,也就是一直横着排了
        int[] pixels = new int[width * height];
        for (int y = 0; y < height; y++) {
            for (int x = 0; x < width; x++) {
                if(matrix.get(x, y)){
                    pixels[y * width + x] = 0xff000000;
                }                
            }
        }        
        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        //通过像素数组生成bitmap,具体参考api
        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
        return bitmap;
    }

抱歉!评论已关闭.