Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Mobile Development
Code

Android SDK: Membuat Pembaca Barcode

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Shylchemist (you can also view the original English article)

Dalam tutorial ini, kita akan menggunakan perpustakaan ZXing (Zebra Crossing) untuk melakukan pemindaian barcode dalam aplikasi Android. Kita akan memanggil sumber daya di pustaka sumber terbuka ini di dalam aplikasi, mengambil dan memproses hasil yang dikembalikan.

Karena menggunakan pustaka ZXing, kita tidak perlu khawatir tentang pengguna tanpa pemindai barcode yang diinstal, karena kelas integrasi yang disediakan akan menangani ini untuk kita. Dengan mengimpor kelas integrasi ZXing ke aplikasi, kita dapat mempermudah pemindaian pengguna dan memfokuskan upaya pengembangan pada penanganan hasil pemindaian. Dalam seri lanjutan yang akan segera hadir, kita akan mengembangkan aplikasi pemindaian buku tempat kita akan membangun aplikasi yang dibuat dalam tutorial ini. Kita juga akan menambahkan dukungan untuk Google Books API sehingga kita dapat menampilkan informasi tentang buku yang dipindai.


1. Membuat Proyek Android Baru

Langkah 1

Di Eclipse, membuat proyek Android baru. Masukkan nama aplikasi, proyek, dan paket yang Anda pilih. Biarkan Eclipse membuat aktivitas kosong untuk Anda, dengan nama pilihan Anda untuk aktivitas dan tata letaknya.

New Project

Langkah 2

Buka file layout utama Anda. Dengan pengaturan default, Eclipse memulai layout Anda dengan objek Relative Layout, yang dapat Anda biarkan apa adanya. Di dalamnya, ganti konten yang ada (biasanya Text View) dengan tombol.

Setelah tombol, tambahkan dua Text Views di mana kita akan menampilkan informasi pemindaian.

Tambahkan string teks tombol ke file XML "res/values/strings" Anda.

Pengguna akan menekan tombol untuk memindai. Ketika aplikasi menerima hasil dari operasi pemindaian barcode, itu akan menampilkan data konten pemindaian dan nama format di dua Text Views.


2. Tambahkan ZXing ke Proyek Anda

Langkah 1

ZXing adalah pustaka sumber terbuka yang menyediakan akses ke pemindaian barcode yang teruji dan fungsional pada Android. Banyak pengguna yang sudah menginstal aplikasi di perangkat mereka, sehingga Anda dapat dengan mudah meluncurkan Intents pemindaian dan mengambil hasilnya. Dalam tutorial ini kita akan menggunakan metode Scanning via Intent untuk mempermudah pemindaian. Metode ini melibatkan pengimporan beberapa kelas ke dalam aplikasi Anda dan memungkinkan ZXing menangani hal-hal di mana pengguna tidak menginstal pemindai. Jika pengguna tidak menginstal pemindai barcode, mereka akan diminta untuk mengunduhnya.

Tips: Karena ZXing adalah open source, Anda dapat mengimpor kode sumber ke dalam proyek Anda secara keseluruhan. Namun, ini benar-benar hanya disarankan jika Anda perlu membuat perubahan pada fungsinya. Anda juga dapat mengkompilasi proyek dan memasukkan file JAR di aplikasi Anda sendiri jika diinginkan. Untuk sebagian besar tujuan, menggunakan Scanning via Intent adalah opsi yang andal dan mudah diimplementasikan, ditambah pengguna Anda akan memiliki akses ke versi terbaru dari aplikasi ZXing.

Di Eclipse, tambahkan paket baru ke proyek Anda dengan mengklik kanan folder "src" dan memilih "New", lalu "Pakage", dan memasukkan "com.google.zxing.integration.android" sebagai nama paket.

New Package

Langkah 2

Eclipse menawarkan beberapa cara untuk mengimpor kode yang ada ke proyek Anda. Untuk keperluan tutorial ini, Anda mungkin akan merasa lebih mudah untuk hanya membuat dua kelas yang diperlukan dan menyalin kode dari ZXing. Klik kanan paket baru Anda, pilih "New" lalu "Class" dan masukkan "IntentIntegrator" sebagai nama kelas. Anda dapat membiarkan pengaturan default lainnya apa adanya. Setelah Anda membuat kelas ini, lakukan hal yang sama untuk kelas lain yang akan diimpor, berikan "IntentResult" sebagai nama kelasnya.

New Class

Salin kode dari kedua kelas di perpustakaan ZXing dan rekatkan ke file kelas yang dibuat. Ini adalah IntentIntegrator dan IntentResult. Lihat unduhan kode sumber jika Anda ragu tentang di mana berbagai file dan folder seharusnya atau apa yang seharusnya ada di dalamnya.

Project Package

Anda sekarang dapat mengimpor kelas ZXing ke dalam kelas Aktivitas utama Anda.

Silakan dan tambahkan pernyataan impor lainnya yang akan digunakan untuk tutorial ini. Ingatlah bahwa Eclipse mungkin telah menambahkan beberapa untuk Anda.

Silakan lihat konten dari dua kelas ZXing. Ini cukup mudah, tetapi rincian pemrosesan pemindaian barcode dilakukan di tempat lain di perpustakaan. Kedua kelas ini benar-benar bertindak sebagai interface untuk fungsi pemindaian.


3. Lakukan Pemindaian

Langkah 1

Mari menerapkan pemindaian saat pengguna mengklik tombol yang ditambahkan. Di kelas aktivitas utama aplikasi Anda, metode onCreate default yang dimasukkan oleh Eclipse akan terlihat seperti ini.

Di atas metode ini, tambahkan variabel instance berikut untuk mewakili tombol dan dua Text Views yang dibuat di file layout.

Di onCreate, setelah kode yang ada, instantiate variabel-variabel ini menggunakan nilai ID yang ditentukan dalam XML.

Selanjutnya, tambahkan listener ke tombol sehingga kita bisa menangani penekanan.

Perpanjang garis pembukaan deklarasi kelas untuk mengimplementasikan interface OnClickListener.

Langkah 2

Sekarang kita dapat menanggapi klik tombol dengan memulai proses pemindaian. Tambahkan metode onClick ke kelas aktivitas Anda.

Periksa apakah tombol pemindaian telah ditekan di dalam metode ini.

Di dalam blok bersyarat ini, buat instance kelas Intent Integrator yang diimpor.

Sekarang kita dapat memanggil metode Intent Integrator untuk mulai memindai.

Pada titik ini, pemindai akan mulai jika diinstal pada perangkat pengguna. Jika tidak, mereka akan diminta untuk mengunduhnya. Hasil pemindaian akan dikembalikan ke aktivitas utama tempat pemindaian dimulai, jadi kita akan dapat mengambilnya di metode onActivityResult.

Tips: Saat Anda memanggil metode initiateScan, Anda dapat memilih untuk meneruskan koleksi jenis barcode yang ingin Anda pindai. Secara default, metode ini akan memindai semua jenis yang didukung. Ini termasuk UPC-A, UPC-E, EAN-8, EAN-13, Kode QR, RSS-14, RSS Diperluas, Matriks Data, Aztec, PDF 417, Codabar, ITF, Kode 39, 93, dan 128. Perpustakaan ZXing juga mencakup opsi pemindaian barcode yang tidak akan kita bahas dalam tutorial ini. Anda dapat memeriksa proyek di Google Code untuk info lebih lanjut.


4. Ambil Hasil Pemindaian

Langkah 1

Ketika pengguna mengklik tombol pindai, pemindai barcode akan diluncurkan. Ketika mereka memindai kode batang, itu akan mengembalikan data yang dipindai ke metode onActivityResult dari aktivitas panggilan. Tambahkan metode ke kelas aktivitas utama Anda.

Di dalam metode, coba parsing hasilnya menjadi turunan dari kelas Hasil Intensi ZXing yang diimpor.

Langkah 2

Seperti halnya data yang diambil dari aplikasi lain, sangat penting untuk memeriksa nilai-nilai nol. Hanya lanjutkan jika kita memiliki hasil yang valid.

Jika data pindaian tidak diterima (misalnya, jika pengguna membatalkan pemindaian dengan menekan tombol kembali), kita dapat dengan mudah menampilkan pesan.

Kembali di blok if, mari kita cari tahu data apa yang dikembalikan pemindaian. Objek Intent Result memberikan metode untuk mengambil konten pemindaian dan format data yang dikembalikan darinya. Ambil kembali konten sebagai nilai string.

Ambil nama format, juga sebagai string.

Langkah 3

Sekarang program Anda memiliki format dan konten data yang dipindai, sehingga Anda dapat melakukan apa pun yang Anda inginkan dengannya. Untuk tujuan tutorial ini, kita hanya akan menulis nilai ke Text Views di layout kita.

Jalankan aplikasi Anda di perangkat alih-alih emulator sehingga Anda dapat melihat pemindaian berfungsi. Coba pindai buku atau barcode lain yang mungkin Anda miliki.

App During Scanning

Ketika pemindaian dimulai, pengguna dibawa ke aplikasi ZXing untuk memindai kode batang.
Scan Result

Hasil pemindaian dikembalikan ke aplikasi.

Kesimpulan

Dalam tutorial ini, kita telah menjalankan proses memfasilitasi pemindaian barcode dalam aplikasi Android menggunakan library ZXing. Di aplikasi Anda sendiri, Anda mungkin ingin melakukan pemrosesan lebih lanjut pada hasil pemindaian yang diambil, seperti memuat URL atau mencari data di sumber data pihak ketiga. Dalam tindak lanjut tutorial ini, kita akan menggunakan fungsionalitas pemindaian barcode untuk membuat aplikasi pemindaian buku yang memungkinkan kita mengambil data tentang buku yang dipindai dari Google Books API.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.