溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android ZxingPlus精簡的二維碼框架示例代碼

發(fā)布時間:2020-10-19 08:37:44 來源:腳本之家 閱讀:140 作者:鍵盤舞者113 欄目:移動開發(fā)

這個二維碼框架不僅使用的代碼少,而且可以生成帶圖片的二維碼,而且二維碼掃描界面也是先做好的,也比較好看。我們所需要做的就是在掃描二維碼后得到的數(shù)據(jù)對其進行操作。

使用方法

添加依賴

compile 'com.singleshu:ZxingPlus:1.1.4'

代碼

public class MainActivity extends AppCompatActivity {
 TextView test;
 ImageView imageView;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  test = (TextView) findViewById(R.id.test);
  imageView = (ImageView) findViewById(R.id.image1);
  //6.0加上動態(tài)權限申請,需要在外面Acitvity做申請
  PermissionUtils.getInstance().requestPermission(this);
 }
 public void click(View view){
  switch (view.getId()){
   //生成二維碼
   case R.id.score:
    imageView.setImageBitmap(QRCodeUtil.CreateTwoDCode(test.getText().toString()));
    break;
   //掃描二維碼
   case R.id.scan:
    startActivity(new Intent(this,QRCodeScanAtivity.class));
    break;
   //生成二維碼帶圖標,這和圖片大小相關,默認取3/4顯示
   case R.id.scorewithlogo:
    imageView.setImageBitmap(QRCodeUtil.createWithLogo(test.getText().toString(), BitmapFactory.decodeResource(getResources(), R.drawable.timg)));
    break;
   //生成帶圖標二維碼,自設置大小 取 multipart/divisor顯示
   case R.id.custom_scorewithlogo:
    imageView.setImageBitmap(QRCodeUtil.createWithLogo(test.getText().toString(), BitmapFactory.decodeResource(getResources(), R.drawable.timg),1,4));
    break;
  }
 }
}
public class QRCodeScanAtivity extends DefaultQRScanActivity {
 //對控件的自定義,可以修改隱藏默認控件
 @Override
 protected void initCustomViewAndEvents() {
 }
 //掃描圖片結果解析回調 recode二維碼字符串
 @Override
 protected void onAlbumResult(int requestCode, int resultCode, String recode) {
  Bundle bundle = new Bundle();
  bundle.putString("result",recode);
  startActivity(new Intent(QRCodeScanAtivity.this,ResultActivity.class).putExtras(bundle));
  finish();
 }
 //二維碼圖片解析回調 rawResult 二維碼字符串
 @Override
 protected void handleDecodeResult(String rawResult, Bundle bundle) {
  bundle.putString("result",rawResult);
  startActivity(new Intent(QRCodeScanAtivity.this,ResultActivity.class).putExtras(bundle));
  finish();
 }
}
public class ResultActivity extends AppCompatActivity {
 TextView test2;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_result);
  test2 = (TextView) findViewById(R.id.test2);
  if (getIntent() != null){
   Bundle bundle = getIntent().getExtras();
   String result = bundle.getString("result");
   test2.setText(result);
  }
 }
}

代碼真的不多,基本我們就只用去掉用和接受數(shù)據(jù)。

以上這篇Android ZxingPlus精簡的二維碼框架示例代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI