blog kami

Barcode Crossing

Barcoding 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 penyelesaian yang kemas 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!

Melaksanakan Perpustakaan Zxing yang dipermudahkan
Semasa kami melalui proses pembelajaran cara menggunakannya Zxing perpustakaan, kami mendapati bahawa ia agak menyusahkan untuk memahami apa yang berlaku di perpustakaan besar ini. Terdapat banyak tutorial di sana, tetapi banyak langkah sama ada kita keliru atau sudah ketinggalan zaman. Ada perkara yang hilang dari kod, atau perkara yang berbeza berdasarkan versi perpustakaan atau sesuatu yang tidak dijelaskan sepenuhnya. Kami mahu membuat tutorial yang akan membantu sesiapa yang cuba melaksanakan perpustakaan pengimbasan Zxing mudah mendapatkan permulaan yang cepat untuk menggunakannya dalam aplikasi mereka sendiri.

Tutorial ini menggunakan versi Zxing dirobohkan untuk mengajar asas-asas cara melaksanakan perpustakaan ke dalam aplikasi yang berdiri sendiri dan menggunakan aplikasi Android asli anda sendiri. Kami menggunakan Kit Pembangunan Android yang menjalankan SDK 19, pustaka 4.4 android. Perpustakaan telah diubahsuai menjadi pengimbas kod bar mod potret dan bukan orientasi mendatar yang asal.

Anda boleh memuat turun versi ringkas pustaka Zxing untuk digunakan dan diuji di sini: CaptureActivity. Ini berbeza daripada perpustakaan ZXing yang dilepaskan, tetapi bagus untuk membuat anda bermula.

Sekiranya anda tidak mempunyai Eclipse dengan SDK Android, muat turun dan pasang Kit Pembangunan Android. Buka SDK Android dan pasang komponen yang diperlukan. Seterusnya, buka Eclipse.

Langkah 1. Mula-mula kita akan mewujudkan projek ini.

Pergi ke menu utama Fail -> baru -> Projek Aplikasi Android. Namakan projek anda (kami memanggil kami "Aplikasi Pengimbas"). Salin tetapan di bawah dan klik kali 3 seterusnya sehingga membuat halaman Aktiviti. Pilih Aktiviti Kosong dan klik kemudian Selesai. Folder akan muncul di sebelah kiri skrin secara lalai. Jika tidak, klik butang memaksimumkan untuk membuka skrin projek di Eclipse.

Barcode Crossing

Langkah 2. Betulkan ralat tema (jika anda tidak mempunyai apa-apa, langkau 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. Seterusnya adalah untuk mengimport perpustakaan pengimbas.

Jika anda belum lagi, sila muat turun zip CaptureActivty di atas. Pergi ke Fail -> Import -> Import Kod Android yang sedia ada ke Workspace -> dan buka semak imbas dan cari kod sumber Zxing yang telah anda muat turun. Periksa hanya projek pertama yang dipanggil CaptureActivity. Laluan tidak boleh mengandungi membina / di dalamnya. Click finish. Klik kanan / CaptureActivity / Folder dalam tab Pakej Explorer dan klik ciri -> Android and make sure the “Is Library” check box checked. Click ok.

Langkah 4. Sekarang kita mesti menyambungkan apl kami dengan perpustakaan pengimbas.

Klik kanan folder apl Android anda dan kemudian klik ciri -> Android. Klik pada butang tambah, dan klik pada CaptureActivity. Pastikan tanda semak hijau muncul selepas anda mengklik okay pada skrin Android dengan Pengimbas projek. Klik ok.

Langkah 5. Sekarang kita boleh mula melaksanakan pengimbas ke dalam permohonan kami. Mulakan dengan fail mainActivity.java.

Dalam folder aplikasi anda, pergi ke / src / folder dan buka akaun anda mainActivity.java fail. Berikut adalah kod yang diperlukan. Salin dan tampal apa yang anda tidak ada. Kod yang anda perlu tambahkan akan dalam teks merah. Jika anda mendapat kesilapan, anda perlu mengimport kelas tertentu. anda hanya boleh tekan ctrl + shift + O, dan semua import yang diperlukan akan diimport.



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
         }
      }
   }
} 

Terdapat dua fungsi utama di sini:

  1. Kaedah openScanner berjalan apabila butang ditekan, dan seterusnya akan membuka Pengimbas.
  2. Kaedah onActivityResult mengembalikan rentetan membaca kod bar. Dari sini, anda boleh membuka niat baru dan lulus dalam pembolehubah jika anda mahu memaparkan skrin lain selepas imbasan anda.

Langkah 6.Kami sekarang akan mengubah susun atur dalam fail activity_main.xml.

Now in your /aplikasi/ folder, pergi ke res folder -> layout -> file activity_main.xml. Ia sepatutnya kelihatan seperti berikut. Tambah kod 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 menambah butang, dan apabila ditekan, akan menjalankan kaedah openScanner dari mainActivity.java fail. Anda juga mungkin perlu memilih tema. Saya memilih Theme.holo.

Langkah 7. Pengubahsuaian terakhir adalah untuk mengedit Fail AndroidManifest.xml.

Pergi ke androidManifest.xml fail di bawah direktori projek. Kod harus dilihat seperti berikut, dan sekali lagi menyalin kod 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 menambah kebenaran bahawa android memerlukan untuk menggunakan kamera dan termasuk aktiviti untuk aplikasi untuk mengetahui apa file yang akan dibuka apabila kami ingin membuka pengimbas pada peranti.

Langkah 8. Semua dilakukan!

Anda kini boleh menyusun dan menjalankan aplikasi anda pada peranti. Sekiranya terdapat sebarang kesilapan pengkompil, anda mungkin mahu membersihkan projek dan / atau memulakan semula gerhana.


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

  • Alberto Landaverde, yang diawasi dengan musim panas Telaeris dari 2012, yang mengubahsuai perpustakaan Zxing dan membina perpustakaan ringkas awal
  • Kelly Lim, current Telaeris intern, who took this library and moved beyond it to build the DataLockr Aplikasi Android. Kelly juga menulis kandungan blog ini.
  • Jake Pham, pelatih Telaeris semasa, yang melalui tutorial di sini untuk memastikan segala-galanya 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
Dilihat. Diimbas. Dikongsi.

Leave A Comment

*

Maklumat Blog

Surat berita


bercakap dengan seorang wakil

Hubungi Kami

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