Seperti yang kita telah ketahui selama ini, QR CODE merupakan kepanjangan Quick Response Code yang merupakan kode matriks (atau dua dimensi barcode) yang dibuat oleh perusahaan Jepang Denso-Wave pada tahun 1994, di sisi kemampuan menyimpan data QR CODE lebih mampu menyimpan data lebih banyak dari pada barcode standar. QR Code dapat menyimpan sampai 4.296 karakter alfanumerik. Dan ini dapat berisi bebas, bisa url, teks, informasi kontak, no telepon dan lain-lain. dengan adanya QR CODE ini setidaknya memberikan gebrakan tehnologi baru yang mampu menjadi penggantI BARCODE.
kali ini download aplikasi android akan memberikan informasi mengenai, bagaimana kita bisa membuat QR CODE di Gadget android. QR CODE ANDROID
paramater yang dapat di tambahkan setelah tanda "?" yaitu seperti yang dijelaskan di bawah ini :
cht=qr : Untuk membuat spesifik QR Code (required).
chs=
chl= : Isi dari QR Code yang akan dibuat. Data bisa digit (0-9), karakter alfanumerik, binary bytes, maupun kanji. Data tidak ada spasi dan di gabung, jika ingin digabung harus di encode menggunakan UTF-8. Panjang maksimum data 2k, jika lebih dari 2k data harus dikirim menggunakan "POST" (required).
choe=
chld=
Untuk membuat QR Code sederhana dengan menggunakan android saya menggunakan 1 class dan 1 xml. Kodenya sebagai berikut:
private static String generateQRCode = "https://chart.googleapis.com/chart?chs=400x400&cht=qr&choe=UTF-8&chl=";
private EditText qrMessage;
private Button generateQR ;
private LinearLayout progressBar;
private LinearLayout qrForm;
private ImageView showQR;
private TextView titleText;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
qrMessage = (EditText) findViewById(R.id.qr_message);
generateQR = (Button) findViewById(R.id.generate_qr_code);
showQR = (ImageView) findViewById(R.id.qr_code_image);
progressBar = (LinearLayout) findViewById(R.id.qr_progressbarr);
qrForm = (LinearLayout) findViewById(R.id.layout_form);
titleText = (TextView) findViewById(R.id.title_text);
generateQR.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(qrMessage.getText().toString().length() > 0){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(qrMessage.getWindowToken(), 0);
progressBar.setVisibility(View.VISIBLE);
qrForm.setVisibility(View.GONE);
titleText.setText("QR Code");
String message = qrMessage.getText().toString();
generateQRCode(generateQRCode+message);
}else{
showLoginAlert("Alert", "Please input message");
}
}
});
}
public void showLoginAlert(String alertTitle, String alertMessage) {
try{
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle(alertTitle);
alertDialog.setMessage(alertMessage);
alertDialog.setButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertDialog.show();
}catch(Exception e){
//window gone, do nothing....
}
}
public void generateQRCode(final String url){
AsyncTask generatedQRCode = new AsyncTask (){
@Override
protected Bitmap doInBackground(Void... arg0) {
Bitmap bmImg = null;
HttpURLConnection conn = null;
try {
URL myFileUrl = new URL(url.replace(" ", "-"));
conn = (HttpURLConnection)myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bmImg = BitmapFactory.decodeStream(is);
} catch (MalformedURLException e) {
showLoginAlert("Alert!", "Sorry QR Code can't be show, please try again");
} catch (IOException e) {
showLoginAlert("Alert!", "Sorry QR Code can't be show, please try again");
} finally{
if(conn != null){
conn.disconnect();
}
}
return bmImg;
}
@Override
protected void onPostExecute(Bitmap result) {
progressBar.setVisibility(View.GONE);
showQR.setVisibility(View.VISIBLE);
showQR.setImageBitmap(result);
}
};
generatedQRCode.execute();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
qrMessage.setText("");
titleText.setText("Input QR Code Message");
qrForm.setVisibility(View.VISIBLE);
showQR.setVisibility(View.GONE);
}
return false;
}
Disini Menggunakan onKeyDown karna saya cuman menggunakan 1 class tetapi beda tampilan.
XML yang dibuat sebagai berikut :
[html:Button
android:id="@+id/generate_qr_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dip"
android:text="Generate QR Code" /]
Nah setelah selesai semua saya menambahkan 1 file xml di drawable untuk mempercantik progressbar yang diberi nama anim_progress.xml Dan ingat file tersebut kita simpan di folder drawable.
di bawah ini hasilnya:
|
|
Aplikasi Android
|
|
|

1comments:
makasih pak sangat bermanfaat
Post a Comment