libzxing架包的使用方法
1、首先导入model架包libzxing
2、在settings.gradle手动添加————–,’:libzxing’并运行
public interface ILoginActivityCallback {
void succeed(String userInfo);
void Faild(String error);
}
public class MUtils {
boolean success =false ;
public void login(String user, String password,IModelLoginCallback callback) {
//去登陆
/**
* 省略1000行
*/
if(success=true){
//告诉用户成功了
callback.succeed("登陆成功我是用户信息");
}else{
//告诉用户失败
callback.Faild("用户密码错误");
}
}
interface IModelLoginCallback {
void succeed(String userInfo);
void Faild(String error);
}
}
public class PUtils {
public void login(String user, String password) {
MUtils mUtils = new MUtils();
mUtils.login(user, password, new MUtils.IModelLoginCallback() {
@Override
public void succeed(String userInfo) {
//告诉用户成功了
mCallback.succeed("登陆成功我是用户信息");
}
@Override
public void Faild(String error) {
//告诉用户失败
mCallback.Faild("用户密码错误");
}
});
}
ILoginActivityCallback mCallback;
public void setILoginCallback(ILoginActivityCallback callback){
mCallback=callback;
}
}
扫描的方法
if (ContextCompat.checkSelfPermission(Main3Activity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
// 申请CAMERA权限
ActivityCompat.requestPermissions(Main3Activity.this, new String[]{Manifest.permission.CAMERA}, 1);
} else {
//跳转到zxing的扫描页面
// 打开扫描界面扫描条形码或二维码
Intent openCameraIntent = new Intent(Main3Activity.this, CaptureActivity.class);
startActivityForResult(openCameraIntent, 0);
}
生成二维码的方法
//1读et的内容 2生成bitmap 3设置给iv
String contentString = mEdittext.getText().toString();
if (!TextUtils.isEmpty(contentString)) {
// 根据字符串生成二维码图片并显示在界面上,第二个参数为图片的大小(350*350)
Bitmap qrCodeBitmap = EncodingUtils.createQRCode(contentString, 350, 350, checkBox.isChecked() ? BitmapFactory.decodeResource(getResources(), R.drawable.umeng_socialize_qq) : null);
mImgshengcheng.setImageBitmap(qrCodeBitmap);
} else {
Toast.makeText(Main3Activity.this, "Text can not be empty", Toast.LENGTH_SHORT).show();
}
接口回调
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//接受zixing扫描页面的字符串扫描结果
if (resultCode == RESULT_OK) {
Bundle bundle = data.getExtras();
String scanResult = bundle.getString("result");
mFanhuierweima.setText(scanResult);
}
//用户是否同意权限的回调
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//如果同意直接打开相机
//跳转到zxing的扫描页面
// 打开扫描界面扫描条形码或二维码
Intent openCameraIntent = new Intent(Main3Activity.this, CaptureActivity.class);
startActivityForResult(openCameraIntent, 0);
}