kami blog

Barcode Crossing

Barcode pada Android

zxing_zebra_logo
Most of the time when employees at Telaeris publish here, it is for real life examples related to our products. This allows us to discuss a wide area of topics, including barcodes and RFID usage, security or safety system implementation or tips on running a business. But at the heart of what we do is to come up with solusi rapi untuk masalah rumit. The next few blog entries are examples of how two interns at Telaeris started to create a free new mobile product for tracking barcodes and RFID tags from your Android or iPhone mobile device. The system is called DataLockr and has just been launched – I highly recommend you check out the app and system. What they describe in this article are their first steps of how to build a simple barcode reading app using the open source Zxing library for Android.

This blog is for the hackers out there that like to code. Enjoy!

Menerapkan Perpustakaan Zxing yang disederhanakan
Sementara kami menjalani proses belajar bagaimana menggunakan Zxing perpustakaan, kami segera menemukan bahwa itu agak merepotkan untuk mencoba memahami apa yang sedang terjadi di perpustakaan besar ini. Ada banyak tutorial di luar sana, tetapi banyak langkah yang membingungkan kami atau ketinggalan jaman. Ada hal-hal yang hilang dari kode, atau hal-hal yang berbeda berdasarkan versi pustaka atau sesuatu yang tidak sepenuhnya diklarifikasi. Kami ingin membuat tutorial yang akan membantu siapa pun yang mencoba menerapkan perpustakaan pemindaian Zxing sederhana untuk mulai menggunakannya dalam aplikasi mereka sendiri.

Tutorial ini menggunakan versi roboh dari pustaka Zxing untuk mengajarkan dasar-dasar cara menerapkan pustaka ke aplikasi yang berdiri sendiri dan menerapkan aplikasi Android asli Anda sendiri. Kami menggunakan Kit Pengembangan Android yang menjalankan SDK 19, perpustakaan 4.4 android. Perpustakaan telah dimodifikasi menjadi pemindai barcode mode potret daripada orientasi horizontal default.

Anda dapat mengunduh versi kami yang disederhanakan dari pustaka Zxing untuk digunakan dan diuji di sini: CaptureActivity. Ini berbeda dari pustaka ZXing yang dirilis, tetapi bagus untuk memulai.

Jika Anda tidak memiliki Eclipse dengan SDK Android, unduh dan instal Kit Pengembangan Android. Buka SDK Android dan pasang komponen yang dibutuhkan. Selanjutnya, buka Eclipse.

Langkah 1. Pertama kami akan membuat proyek.

Pergi ke menu paling atas File -> baru -> Proyek Aplikasi Android. Beri nama proyek Anda (kami menyebutnya "Aplikasi Scanner" kami). Salin pengaturan di bawah dan klik 3 kali berikutnya hingga membuat halaman Aktivitas. Pilih Empty Activity dan klik next, lalu Finish. Folder akan muncul di sisi kiri layar secara default. Jika tidak, klik tombol perbesar untuk membuka layar proyek di Eclipse.

Barcode Crossing

Langkah 2. Perbaiki kesalahan tema (jika Anda tidak memilikinya, lewati ke langkah 3)

If you are having errors in your values folders, this may be an Eclipse issue. Open all style.xml pages and delete all style tags and its contents. Also go to your AndroidManifest.xml and delete the android:theme=”@style/AppTheme” under application.

Langkah 3. Selanjutnya adalah mengimpor perpustakaan pemindai.

Jika Anda belum melakukannya, silakan unduh zip CaptureActivty di atas. Pergi ke File -> Impor -> Impor Kode Android yang Ada ke Ruang Kerja -> dan buka jelajah dan temukan kode sumber Zxing yang telah Anda unduh. Periksa hanya proyek pertama yang disebut CaptureActivity. Jalur tidak boleh memuat build / di dalamnya. Click finish. Klik kanan / CaptureActivity / Folder di tab Package Explorer dan klik properti -> Android and make sure the “Is Library” check box checked. Click ok.

Langkah 4. Kita sekarang harus menghubungkan aplikasi kita dengan perpustakaan pemindai.

Klik kanan folder aplikasi Android Anda dan kemudian klik properti -> Android. Klik pada tombol tambah, dan klik CaptureActivity. Pastikan tanda centang hijau muncul setelah Anda mengeklik oke di layar Android dengan Pemindai proyek. Klik ok.

Langkah 5. Kami sekarang dapat mulai menerapkan pemindai ke dalam aplikasi kami. Mulai dengan file mainActivity.java.

Di folder aplikasi Anda, buka / src / folder dan buka mainActivity.java mengajukan. Di bawah ini adalah kode yang dibutuhkan. Salin dan tempelkan apa yang tidak Anda miliki. Kode yang perlu Anda tambahkan akan berwarna merah. Jika Anda mendapatkan kesalahan, Anda perlu mengimpor kelas-kelas tertentu. Anda cukup menekan ctrl + shift + O, dan semua impor yang dibutuhkan akan diimpor.



package com.example.scannerapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

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

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
   public void openScanner(View view){
      Intent intent = new Intent("com.example.scannerapp.SCAN");
      startActivityForResult(intent, 0);
   }

   public void onActivityResult(int requestCode, int resultCode, Intent intent) {
      if (requestCode == 0) {
         if (resultCode == RESULT_OK) {
            String contents = intent.getStringExtra("SCAN_RESULT");
            Toast.makeText(this,contents,3000).show();
         } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel
         }
      }
   }
} 

Ada dua fungsi utama di sini:

  1. Metode openScanner berjalan ketika tombol ditekan, dan kemudian akan membuka Scanner.
  2. Metode onActivityResult mengembalikan string pembacaan kode batang. Dari sini, Anda dapat membuka intent baru dan memasukkan variabel jika Anda ingin menampilkan layar lain setelah pemindaian Anda.

Langkah 6.We sekarang akan mengubah tata letak dalam file activity_main.xml.

Now in your /aplikasi/ folder, pergi ke res folder -> layout -> activity_main.xml file. Seharusnya terlihat seperti berikut. Tambahkan kode merah berikut:


<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
     android:paddingLeft="@dimen/activity_horizontal_margin"
     android:paddingRight="@dimen/activity_horizontal_margin"
     android:paddingTop="@dimen/activity_vertical_margin"
     tools:context=".MainActivity" >

    <Button
         android:id="@+id/button1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@+id/textView1"
         android:layout_centerHorizontal="true"
         android:layout_marginTop="159dp"
         android:text="Scan" 
         android:onClick="openScanner"/>

</RelativeLayout>

Ini menambahkan tombol, dan ketika ditekan, akan menjalankan metode openScanner dari mainActivity.java mengajukan. Anda mungkin juga perlu memilih tema. Saya memilih Theme.holo.

Langkah 7. Modifikasi terakhir adalah mengedit file androidManifest.xml.

Pergi ke androidManifest.xml file di bawah direktori proyek. Kode harus terlihat seperti berikut, dan lagi salin kode merah



<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.scannerapp"
 android:versionCode="1"
 android:versionName="1.0" >

<uses-sdk
 android:minSdkVersion="8"
 android:targetSdkVersion="21" />

 <!-- PERMISSIONS REQUIRED BY ZXING -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- FEATURES REQUIRED BY ZXING -->
    <uses-feature android:name="android.hardware.camera" android:required="true" />
    <uses-feature android:name="android.hardware.touchscreen"  android:required="false" />
    <uses-feature android:name="android.hardware.telephony"  android:required="false" />

<application
     android:allowBackup="true"
     android:icon="@drawable/ic_launcher"
     android:label="@string/app_name"
     android:theme="@style/AppTheme" >
     <activity
        android:name="com.example.scannerapp.MainActivity"
        android:label="@string/app_name" >
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
    </activity>
    <activity android:name="com.telaeris.datalockrScanner.android.CaptureActivity"
        android:screenOrientation="portrait"
        android:configChanges="orientation|keyboardHidden"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:windowSoftInputMode="stateAlwaysHidden">
        <intent-filter>
         <action android:name="android.intent.category.MAIN"/>
         <category android:name="android.intent.category.LAUNCHER"/>
       </intent-filter>

       <intent-filter>
         <action android:name="com.example.scannerapp.SCAN"/>
         <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
    </activity>

</application>

</manifest>

Kami menambahkan izin yang diperlukan oleh android untuk menggunakan kamera dan termasuk aktivitas ke aplikasi untuk mengetahui file apa yang harus dibuka ketika kami ingin membuka pemindai di perangkat.

Langkah 8. Semua selesai!

Anda sekarang harus dapat mengkompilasi dan menjalankan aplikasi Anda di perangkat. Jika ada kesalahan kompiler, Anda mungkin ingin membersihkan proyek dan / atau memulai ulang gerhana.


Terima kasih
Blog ini berutang banyak terima kasih kepada banyak orang:

  • Alberto Landaverde, yang magang dengan Telaeris musim panas 2012, yang memodifikasi perpustakaan Zxing dan membangun perpustakaan yang disederhanakan awal
  • Kelly Lim, current Telaeris intern, who took this library and moved beyond it to build the DataLockr Aplikasi Android. Kelly juga menulis konten blog ini.
  • Jake Pham, magang Telaeris saat ini, yang mengikuti tutorial di sini untuk memastikan bahwa semuanya berfungsi seperti yang diiklankan.

Stay tuned for the next installment where we discuss how to make the ZXing library scan in both portrait and landscape modes. And if you have time, take a look at the product of all of their effort – DataLockr.

DataLockrLogo
Terlihat. Jadilah Dipindai. Dibagi.

Tinggalkan Komentar A

*

Pembaruan Blog

newsletter


berbicara dengan seorang wakil

Hubungi Kami

Telepon: 858-627-9700
Faks: 858-627-9702
-------------------------------
9123 Chesapeake Dr.
San Diego, CA 92123
-------------------------------
sales@telaeris.com