当前位置:   article > 正文

Android实现扫描和生成二维码_android 生成二维码

android 生成二维码

本文实例为大家分享了Android实现扫描和生成二维码的具体代码,供大家参考,具体内容如下

需求:

就是需要把数据存放到二维码中,然后通过扫描二维码拿到数据,并展示到页面上。

功能展示:

demo:Android扫描生成二维码

代码实现:

1.引用第三方

  1. //AndroidX 版本
  2. implementation 'com.king.zxing:zxing-lite:1.1.7-androidx'

2.在AndroidManifest.xml 声明CaptureActivity

  1. <activity
  2. android:name="com.king.zxing.CaptureActivity"
  3. android:screenOrientation="fullSensor"
  4. android:theme="@style/CaptureTheme" />

3.主要代码

  1. import android.content.Intent;
  2. import android.graphics.Bitmap;
  3. import android.os.Bundle;
  4. import android.text.TextUtils;
  5. import android.util.Log;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.EditText;
  9. import android.widget.ImageView;
  10. import android.widget.Toast;
  11. import androidx.annotation.Nullable;
  12. import androidx.appcompat.app.AppCompatActivity;
  13. import com.king.zxing.CaptureActivity;
  14. import com.king.zxing.util.CodeUtils;
  15. import org.json.JSONObject;
  16. import static com.king.zxing.CaptureFragment.KEY_RESULT;
  17. public class MainActivity extends AppCompatActivity implements View.OnClickListener {
  18. protected EditText edtResutlt;
  19. protected Button btnScan;
  20. protected Button btnCreate;
  21. protected EditText edtData;
  22. protected ImageView ivQr;
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. super.setContentView(R.layout.activity_main);
  27. PermissionUtils.applyPermission(this);
  28. initView();
  29. }
  30. @Override
  31. public void onClick(View view) {
  32. if (view.getId() == R.id.btn_scan) {
  33. //跳转到扫描界面
  34. Intent intent = new Intent(this, CaptureActivity.class);
  35. startActivityForResult(intent, 1);
  36. } else if (view.getId() == R.id.btn_create) {
  37. String data = edtData.getText().toString().trim();
  38. if (TextUtils.isEmpty(data)) {
  39. Toast.makeText(this, "请输入文字", Toast.LENGTH_SHORT).show();
  40. } else {
  41. //生成二维码
  42. Bitmap qrCode = CodeUtils.createQRCode(data, 600, null);
  43. ivQr.setImageBitmap(qrCode);
  44. }
  45. }
  46. }
  47. /**
  48. * 在该方法中拿到扫描的数据
  49. * @param requestCode
  50. * @param resultCode
  51. * @param data
  52. */
  53. @Override
  54. protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
  55. super.onActivityResult(requestCode, resultCode, data);
  56. if (resultCode == RESULT_OK) {
  57. if (requestCode == 1) {
  58. String result = data.getStringExtra(KEY_RESULT);
  59. Log.e("aaa", "resu-->" + result);
  60. //展示到页面上
  61. edtResutlt.setText(result);
  62. }
  63. }
  64. }
  65. private void initView() {
  66. edtResutlt = (EditText) findViewById(R.id.edt_resutlt);
  67. btnScan = (Button) findViewById(R.id.btn_scan);
  68. btnScan.setOnClickListener(MainActivity.this);
  69. btnCreate = (Button) findViewById(R.id.btn_create);
  70. btnCreate.setOnClickListener(MainActivity.this);
  71. edtData = (EditText) findViewById(R.id.edt_data);
  72. ivQr = (ImageView) findViewById(R.id.iv_qr);
  73. }
  74. }

 

转载于:Android实现扫描和生成二维码_移动开发-学习编程-模板哥 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/949586
推荐阅读
相关标签
  

闽ICP备14008679号