美文网首页
Cordova(PhoneGap)基于android平台的二维码

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

作者: trimcode | 来源:发表于2017-08-15 15:13 被阅读0次
    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"
    

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

    相关文章

      网友评论

          本文标题:Cordova(PhoneGap)基于android平台的二维码

          本文链接:https://www.haomeiwen.com/subject/nyfvrxtx.html