您的位置:首页 > 其它

二维码的应用,扫描二维码和生成二维码,使用回传值,导入依赖

2017-11-06 13:13 288 查看

在module的build.gradle中执行compile操作
compile 'cn.yipianfengye.android:zxing-library:2.2'

在demo Application中执行初始化操作
@Override
public void onCreate() {
super.onCreate();

ZXingLibrary.initDisplayOpinion(this);
}

清单文件中需要添加

android:name=".ErweimaApplication"


  xml布局中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

<Button
android:text="进入二维码页面"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn"
/>

<Button
android:text="生成二维码"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn2"
/>

<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"

4000
android:layout_height="wrap_content" />
<ImageView
android:layout_gravity="center"
android:src="@mipmap/ic_launcher"
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>


代码中

public class MainActivity extends AppCompatActivity {

private Button btn;
private Button btn2;
private ImageView imageView;
private EditText editText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

editText = (EditText) findViewById(R.id.edit);
btn = (Button) findViewById(R.id.btn);
btn2 = (Button) findViewById(R.id.btn2);
imageView = (ImageView) findViewById(R.id.image_view);
//--------------------这是扫码
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//打开扫描二维码的界面
Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
//使用带有回传值的,请求码是1
startActivityForResult(intent,1);

}
});

//这是生成二维码
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

String textContent = editText.getText().toString();
if(TextUtils.isEmpty(textContent)){
//如果输入内容为空就吐司
Toast.makeText(MainActivity.this, "您的输入为空!", Toast.LENGTH_SHORT).show();
return;
}
editText.setText("");
//生成中心带图标的
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
Bitmap resultBitmap = CodeUtils.createImage(textContent,400,400,bitmap);

imageView.setImageBitmap(resultBitmap);
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1) {
//处理扫描结果(在界面上显示)
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_LONG).show();
} else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
}
}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐