Android ZxingPlus精簡(jiǎn)的二維碼框架示例代碼
這個(gè)二維碼框架不僅使用的代碼少,而且可以生成帶圖片的二維碼,而且二維碼掃描界面也是先做好的,也比較好看。我們所需要做的就是在掃描二維碼后得到的數(shù)據(jù)對(duì)其進(jìn)行操作。
使用方法
添加依賴
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加上動(dòng)態(tài)權(quán)限申請(qǐng),需要在外面Acitvity做申請(qǐng)
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;
//生成二維碼帶圖標(biāo),這和圖片大小相關(guān),默認(rèn)取3/4顯示
case R.id.scorewithlogo:
imageView.setImageBitmap(QRCodeUtil.createWithLogo(test.getText().toString(), BitmapFactory.decodeResource(getResources(), R.drawable.timg)));
break;
//生成帶圖標(biāo)二維碼,自設(shè)置大小 取 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 {
//對(duì)控件的自定義,可以修改隱藏默認(rèn)控件
@Override
protected void initCustomViewAndEvents() {
}
//掃描圖片結(jié)果解析回調(diào) 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();
}
//二維碼圖片解析回調(diào) 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精簡(jiǎn)的二維碼框架示例代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android實(shí)現(xiàn)ImageView陰影和圖層效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)ImageView陰影和圖層效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
Android——Android lint工具項(xiàng)目資源清理詳解
這篇文章主要介紹了Android——Android lint工具項(xiàng)目資源清理詳解的相關(guān)資料,需要的朋友可以參考下2016-11-11
Android實(shí)現(xiàn)清除應(yīng)用緩存功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)清除應(yīng)用緩存功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Android7.0 MTK設(shè)置默認(rèn)桌面
這篇文章主要為大家詳細(xì)介紹了Android7.0 MTK設(shè)置默認(rèn)桌面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
Mono for Android 實(shí)現(xiàn)高效的導(dǎo)航(Effective Navigation)
Android 4.0 系統(tǒng)定義了一系列的高效導(dǎo)航方式 (Effective Navigation), 主要包括標(biāo)簽、下拉列表、以及向上和返回等, 本文介紹如何用 Mono for Android 實(shí)現(xiàn)這些的導(dǎo)航方式2012-12-12
kotlin中EditText賦值Type mismatch方式
這篇文章主要介紹了kotlin中EditText賦值Type mismatch方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
Android?O對(duì)后臺(tái)Service限制詳解
這篇文章主要為大家介紹了Android?O對(duì)后臺(tái)Service限制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
詳解Flutter點(diǎn)擊空白隱藏鍵盤(pán)的全局做法
這篇文章主要介紹了詳解Flutter點(diǎn)擊空白隱藏鍵盤(pán)的全局做法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

