Android应用开发android 二维码的简单扫描的实现教程
白羽 2019-03-04 来源 :网络 阅读 1710 评论 0

摘要:本文将带你了解Android应用开发android 二维码的简单扫描的实现教程,希望本文对大家学Android有所帮助。

    本文将带你了解Android应用开发android 二维码的简单扫描的实现教程,希望本文对大家学Android有所帮助。



Android应用开发android 二维码的简单扫描的实现教程



    android 二维码的简单扫描的实现教程。
   
    一:二维码的简单实现的扫描
   
    1.导入zxing依赖
   
  
    compile 'cn.yipianfengye.android:zxing-library:2.1'
    2.布局文件
   
    TextView用于显示扫描的结果网址,button开启扫描,
   
    也可以把扫描的跳转到另一个页面用webView 加载下网页
   
   
  
    3:Activity.class

  
 
    public class MainActivity extends AppCompatActivity {
        String TAG = MainActivity;
        int REQUEST_CODE = 1;
        TextView textView;
        @Override
        protected void onCreate(Bundle   savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
            //获取摄像头权限
            getCameraPermission();
            //ZXingLibrary初始化
              ZXingLibrary.initDisplayOpinion(this);
            //控件初始化
            textView =   (TextView)findViewById(R.id.jieguo);
            Button qrButton =   (Button)findViewById(R.id.code);
              qrButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View   view) {
                    Intent intent = new   Intent(MainActivity.this, CaptureActivity.class);
                      startActivityForResult(intent, REQUEST_CODE);
                }
            });
     
        }
        @Override
        protected void   onActivityResult(int requestCode, int resultCode, Intent data) {
              super.onActivityResult(requestCode, resultCode, data);
            if (requestCode ==   REQUEST_CODE) {
                //处理扫描结果(在界面上显示)
                if (null != data) {
                    Bundle bundle =   data.getExtras();
                    if (bundle == null)   {
                        return;
                    }
                    if   (bundle.getInt(CodeUtils.RESULT_TYPE) ==   CodeUtils.RESULT_SUCCESS) {
                        String result =   bundle.getString(CodeUtils.RESULT_STRING);
                          Toast.makeText(this, 解析结果: + result, Toast.LENGTH_LONG).show();
                        Log.e(TAG,解析结果: +   result);
                          textView.setText(result);//解析结果显示在TextView
                    } else if   (bundle.getInt(CodeUtils.RESULT_TYPE) ==   CodeUtils.RESULT_FAILED) {
                        Toast.makeText(MainActivity.this,   解析二维码失败, Toast.LENGTH_LONG).show();
                    }
                }
            }
        }
        public void   getCameraPermission()
        {
            if (Build.VERSION.SDK_INT>22){
                if   (ContextCompat.checkSelfPermission(MainActivity.this,
                          android.Manifest.permission.CAMERA)!=   PackageManager.PERMISSION_GRANTED){
                    //先判断有没有权限   ,没有就在这里进行权限的申请
                      ActivityCompat.requestPermissions(MainActivity.this,
                            new   String[]{android.Manifest.permission.CAMERA},2);
                }else {
                    //说明已经获取到摄像头权限了   想干嘛干嘛
                }
            }else {
                //这个说明系统版本在6.0之下,不需要动态获取权限。
            }
        }
     
    }


 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程