現在走在路上隨隨便便都可以看到QR code
但是要怎麼產生?
首先先把函式庫匯入到我們的專案當中
先到Build.gradle裡面implementation這兩行
注意:如果你更新到AndroidX以後請用下面這三行代替上面那兩行
editText(Plain Text):輸入文字,用來轉成QR code
button:按鈕,觸發轉換
imageView:顯示生成完的圖片
喔對了,如果你拉imageView的時候他出現這個視窗叫你選擇圖片你就隨便選一張
然後再到文字編輯模式(Text)那裡把下面那行程式碼刪掉就不會有圖片了
不然你功力夠強直接寫程式碼不用拉的也可以
新增一個副程式getCode()
在裡面先實做ImageView和EditText物件
外面要加try catch避免使用者亂來(誤
到最上面implements View.OnClickListener
這是用來監聽你有沒有按下Button
但是你打完會發現他有錯誤
對者它按鍵盤上的Alt+Enter(同時按)
選擇第一個
一樣第一個按OK
他就會自動多出幾行程式碼
在裡面呼叫剛剛寫的副程式
原作者的github
但是要怎麼產生?
今天就用5分鐘來教大家如何自己寫一個Android APP產生QR code
做完會長這樣首先先把函式庫匯入到我們的專案當中
先到Build.gradle裡面implementation這兩行
implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.google.zxing:core:3.2.1'
注意:如果你更新到AndroidX以後請用下面這三行代替上面那兩行
implementation('com.journeyapps:zxing-android-embedded:3.6.0') { transitive = false }
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.zxing:core:3.3.0'
然後隨便拉一拉物件
editText(Plain Text):輸入文字,用來轉成QR code
button:按鈕,觸發轉換
imageView:顯示生成完的圖片
喔對了,如果你拉imageView的時候他出現這個視窗叫你選擇圖片你就隨便選一張
然後再到文字編輯模式(Text)那裡把下面那行程式碼刪掉就不會有圖片了
app:srcCompat="@mipmap/ic_launcher"
不然你功力夠強直接寫程式碼不用拉的也可以
新增一個副程式getCode()
在裡面先實做ImageView和EditText物件
ImageView ivCode=(ImageView)findViewById(R.id.imageView);
EditText etContent=(EditText)findViewById(R.id.editText);
呼叫別人寫好的BarcodeEncoder類別BarcodeEncoder encoder = new BarcodeEncoder();
因為已經有大神寫好了所以簡單套用外面要加try catch避免使用者亂來(誤
BarcodeEncoder encoder = new BarcodeEncoder();
try{
Bitmap bit = encoder.encodeBitmap(etContent.getText()
.toString(),BarcodeFormat.QR_CODE,250,250);
ivCode.setImageBitmap(bit);
}catch (WriterException e){
e.printStackTrace();
}
到最上面implements View.OnClickListener
這是用來監聽你有沒有按下Button
但是你打完會發現他有錯誤
對者它按鍵盤上的Alt+Enter(同時按)
選擇第一個
一樣第一個按OK
他就會自動多出幾行程式碼
在裡面呼叫剛剛寫的副程式
getCode();
然後到onCreate裡面註冊按鈕Button btn=(Button)findViewById(R.id.button);
接者讓他掛載監聽btn.setOnClickListener(this);
這樣就能執行了執行結果:
這樣操作有點不直覺,稍微移動一下物件
這樣看起來是不是有模有樣阿?
接者就可以在Play Store上架了
有需要的話告訴我之後再寫一篇文章教學
附上完整程式碼:
import com.google.zxing.BarcodeFormat; import com.google.zxing.WriterException; import com.journeyapps.barcodescanner.BarcodeEncoder; public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn=(Button)findViewById(R.id.button); btn.setOnClickListener(this); } public void getCode(){ ImageView ivCode=(ImageView)findViewById(R.id.imageView); EditText etContent=(EditText)findViewById(R.id.editText); BarcodeEncoder encoder = new BarcodeEncoder(); try{ Bitmap bit = encoder.encodeBitmap(etContent.getText().toString() ,BarcodeFormat.QR_CODE,250,250); ivCode.setImageBitmap(bit); }catch (WriterException e){ e.printStackTrace(); } }
原作者的github
請問樂透的QRCODE要怎設計呢
回覆刪除不好意思,不太明白您的需求,請問可以詳細說明要實現的功能嗎?
刪除