Cordova(PhoneGap)基于android平台的二维码

2017-08-15  本文已影响0人  trimcode
20170815152718.png

引言

  Cordova 是一个可以让 JS 与原生代码(包括 Android 的 java,iOS 的 Objective-C 等)互相通信的一个库,并提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。更多关于Cordova学习请移步官网http://cordova.apache.org/
   接下来要说的是cordova插件处理二维码(基于Android平台),这里只是简单实现了效果,现将其记录下来,方便以后有个引导。至于cordova的安装需要借助于npm包管理工具,可自行Google。

开发步骤

1、cmd进入命令行
2、在D盘下依次执行以下语句(前提在cordova环境配置好之后)

cordova create MyBarcode com.example.cordova MyCode

其中MyBarCode是你新建工程的名称,MyCode是你App名字

cd MyBarcode
cordova platform add android(添加android平台)
cordova plugin add cordova-plugin-barcodescanner(有些博客写的是cordova plugin add https://github.com/wildabeast/BarcodeScanner.git)

3、导入工程,其中有很多坑,直接导入并不能运行,正确的导入方法是打开D:\MyBarcode\platforms\android的build.gradle文件(本人用的是Android Studio)。
4、在assets/www/index.html文件,注释掉原有代码并添加以下代码

    <html>  
    <head>  
        <script type="text/javascript" src="cordova.js"></script>  
        <script type="text/javascript">  
            function scannerCode(){  
             //扫码的js接口代码  
                cordova.plugins.barcodeScanner.scan(  
                    function (result) {  
                       document.getElementById("test").innerHTML = "结果: " + result.text;  
                    },  
                    function (error) {  
                       alert("扫描失败: " + error);  
                    });  
             }  
             //生成二维码的js接口代码  
             function encodeCode(){  
                cordova.plugins.barcodeScanner.encode(  
                   "TEXT_TYPE",   //编码的类型 文本型、email、sms、手机号  
                   "http://www.baidu.com",   //url  
                   function(success) {  
                       //实现功能逻辑  
                       alert("encode success: " + success);  //生成之后会默认作为图片显示出来  
                   },  
                   function(fail) {  
                       alert("encoding failed: " + fail);  
                    });  
             }  
        </script>  
    </head>  
    <body>  
    <center>  
        <button style="margin-top:80px; width=100px; height:40px" onclick="scannerCode()">扫描二维码</button>  
        <button style=" width=100px; height:40px" onclick="encodeCode()">生成二维码</button>  
        <div style="margin-top:50px" id="test">扫描结果</div>  
    </center>  
    </body>  
    </html>  

好了,大功告成,貌似可以扫描了,但你会发现他是横屏的,好像达不到预期效果,不用急,慢慢看下面操作。下载 zxing_4.1.8.jar (http://download.csdn.net/download/cmh1748218486/9792791)这个jar包,替换掉之前D:\MyBarcode\platforms\android\libs目录下的com.google.zxing.client.android.captureactivity.jar文件,在AndroidMainifest.xml文件中把android:screenOrientation="landscape"改为:

android:screenOrientation="portrait"

在运行,嗯非常完美。。。

上一篇下一篇

猜你喜欢

热点阅读