1. 程式人生 > >Android 生成二維碼

Android 生成二維碼

在這裡插入圖片描述

1.佈局
Xml

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center">
        <EditText
            android:id="@+id/sou"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="請輸入文字"/>
        <Button
            android:id="@+id/btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="搜尋"/>
    </LinearLayout>
    <ImageView
        android:id="@+id/img"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_gravity="center_horizontal"/>

MainActivity

package com.bwie.demo1;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;

import com.uuzuche.lib_zxing.activity.CodeUtils;

public class MainActivity extends AppCompatActivity {

private EditText mSou;
private Button mBtn;
private ImageView mImg;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //找控制元件
    mSou = findViewById(R.id.sou);
    mBtn = findViewById(R.id.btn);
    mImg = findViewById(R.id.img);
    //輸入內容後點擊搜尋生成一個二維碼
    mBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String msou = mSou.getText().toString().trim();
            if (TextUtils.isEmpty(msou)){
                return;
            }
            Bitmap image = CodeUtils.createImage(msou, 300, 300, BitmapFactory.decodeResource(getResources(),0));
            mImg.setImageBitmap(image);
        }
    });
}

}
2.千萬記得在build匯入這個程式碼片段

configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            def requested = details.requested
            if (requested.group == 'com.android.support') {
                if (!requested.name.startsWith('multidex')) {
                    details.useVersion '27.1.1' //這裡改為你專案使用的版本即可
                }
            }
        }
    }

3.現在是兩個依賴

//加入兩個依賴
    implementation 'com.android.support:design:28.1.1'
    compile 'cn.yipianfengye.android:zxing-library:1.9'