掃一掃與二維碼
阿新 • • 發佈:2019-01-11
implementation 'cn.yipianfengye.android:zxing-library:2.2'
<Button android:id="@+id/button_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="掃描二維碼" /> <EditText android:id="@+id/edit" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="生成不帶logo的二維碼" /> <Button android:id="@+id/button_3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="生成帶logo的二維碼" /> <ImageView android:id="@+id/img" android:layout_width="100dp" android:layout_height="100dp" android:src="@mipmap/ic_launcher" />
//3.在主頁面中重寫onactivityresult的方法(掃描二維碼時需要寫)
(request_code)是自己定義的int常量
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable 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_SHORT).show(); }if (bundle.getInt(CodeUtils.RESULT_TYPE)==CodeUtils.RESULT_FAILED){ Toast.makeText(this,"解析失敗",Toast.LENGTH_SHORT).show(); } } } }
Intent intent=new Intent(MainActivity.this,CaptureActivity.class);
startActivityForResult(intent,request_code);
//生成不帶logo的二維碼
String text = edittext.getText().toString(); if (TextUtils.isEmpty(text)){ Toast.makeText(this,"您輸入的為空",Toast.LENGTH_SHORT).show(); return; } edittext.setText(""); Bitmap bitmap = CodeUtils.createImage(text, 400, 400, null); img.setImageBitmap(bitmap);
//生成帶logo的二維碼
text2 = edittext.getText().toString();
if (TextUtils.isEmpty(text2)) {
Toast.makeText(this, "您的輸入為空!", Toast.LENGTH_SHORT).show();
return;
}
bitmap = CodeUtils.createImage(text2, 400, 400, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
img.setImageBitmap(bitmap);
//定義全域性配置類
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
ZXingLibrary.initDisplayOpinion(this);
}
}
//清單檔案中配置許可權
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.VIBRATE"/>
//以及application中配置name
android:name=".App"