bizim blog

Barkod keçidi

Androiddə Barkodlama

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 çətin problemlər üçün təmiz həllər. 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!

Sadələşdirilmiş Zxing Kitabxanasının tətbiqi
Biz necə istifadə edəcəyini öyrənmə prosesindən gedirik Zxing kitabxana, tezliklə bu böyük kütüphanede nə baş verdiyini anlamaq üçün bir az çətin olduğunu bilirik. Orada çox dərslər var idi, amma addımların bir çoxu bizi qarışdırdı və ya köhnəlmişdi. Koddan itkin olan şeylər var idi və ya kitabxana versiyası və ya bir şeyə əsasən fərqli olan şeylər tamamilə aydınlaşdırılmadı. Sadə bir Zxing tarama kitabxanasını tətbiq etməyə çalışan hər kəsə öz tətbiqi içində istifadə etmək üçün sürətli bir başlanğıc əldə etməyə kömək edəcək bir tutorial etmək istədik.

Bu dərslik kütüphaneyi bağımsız bir tətbiqə necə tətbiq etmək və öz doğma Android tətbiqini yerləşdirməyin əsaslarını öyrətmək üçün Zxing kitabxanasının yırtıcı bir versiyasını istifadə edir. SDK 19, android 4.4 kitabxanasını idarə edən Android Development Kit istifadə edirik. Kitabxana daha sonra üslublu üfüqi oriyentasiya şəklində bir portret rejimi barkod tarayıcısı olaraq dəyişdirildi.

Zxing kitabxanasının sadələşdirilmiş versiyasını buradan istifadə etmək və test etmək üçün yükləyə bilərsiniz: CaptureActivity. Bu sərbəst ZXing kitabxanasından fərqli, lakin başlamağınız yaxşıdır.

Android SDK ilə Eclipse yoxdursa, yükləyin və yükləyin Android İnkişaf Kiti. Android SDK-ni açın və lazım olan komponentləri quraşdırın. Sonra Eclipse açın.

1 addımı. Əvvəlcə layihəni hazırlayacağıq.

Üst menyudan gedin Fayl -> yeni -> Android tətbiqi layihəsi. Layihənizə ad verin (biz "Scanner App" deyirik). Aşağıdakı ayarları kopyalayın və 3 dəfə sonrakı dəfə Aktivləşdirmə səhifəsini yaratın. Boş Aktivliyi seçin və Sonradan sonra basın. Klasör, ekranın sol tərəfində default olaraq görünür. Əgər olmasaydı, Eclipse-də layihə ekranını açmaq üçün maksimize düyməsini basın.

Barkod keçidi

2 addımı. Tema səhvlərini düzəldin (əgər sizdə yoxsa, 3 addım atlayın)

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.

3 addımı. Sonrakı brauzer kitabxanasını idxal etməkdir.

Henüz yoksa, yukarıdaki CaptureActivty zip'sini indirin. Getmək Fayl -> İthalat -> Mövcud Android Kodunu İş yerinə idxal et -> və açıq göz atın və yüklədiyiniz Zxing kodunu tapa bilərsiniz. Yalnız ilk layihəni yoxlayın CaptureActivity. Yolu qurmaq / içində olmamalıdır. Click finish. sağ basın / CaptureActivity / Package Explorer qovluğunda qovluq və klikləyin xüsusiyyətləri -> Android and make sure the “Is Library” check box checked. Click ok.

4 addımı. İndi appimizi brauzer kitabxanasına bağlamalıyıq.

Android tətbiq qovluğuna sağ basın və sonra basın xüsusiyyətləri -> Android. Əlavə düyməsinə vurun və CaptureActivity-ə basın. Proje Tarayıcısı ile Android ekranında tıkladıktan sonra yaşıl bir onay işareti göründüğünden əmin olun. Tamam'ı basın.

5 Adım. İndi tətbiqimizi brauzerin tətbiqinə başlaya bilərik. MainActivity.java faylı ilə başlayın.

Sizin app qovluğunuza gedin / src / qovluq və açın ƏsasActivity.java fayl. Aşağıda lazım olan koddur. Kopyaladığınız şeyi yoxlayın. Əlavə edəcəyiniz kod qırmızı mətndə olacaq. Səhvlər alırsınızsa, müəyyən sinifləri idxal etməliyik. yalnız ctrl + shift + O basın və bütün lazımi idxal idxal olunacaq.



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

Burada iki əsas funksiya var:

  1. OpenScanner metodu bir düyməyə basıldığında işləyir və sonradan Brauzer açılır.
  2. OnActivityResult metodu, oxunan barkodun simasını qaytarır. Taramadan sonra başqa bir ekranı göstərmək istəyirsinizsə buradan yeni bir niyyət aça və dəyişənlərə keçə bilərsiniz.

Addım 6.Biz indi activity_main.xml faylında layout dəyişəcək.

Now in your / app / qovluğa get res qovluğu -> layout -> activity_main.xml faylı. Bu aşağıdakı kimi olmalıdır. Aşağıdakı qırmızı kod əlavə edin:


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

Bu bir düyməni əlavə edir və bərkincə, openScanner metodundan istifadə edəcəkdir ƏsasActivity.java fayl. Bir mövzunu da seçməlisiniz. Theme.holo seçdim.

7 Adım. Son dəyişiklik, androidManifest.xml Faylını redaktə etməkdir.

Yanına gedin androidManifest.xml layihə dizininin altında fayl. Kod aşağıdakı kimi görünməlidir və yenə qırmızı kodun surətini çıxarın



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

Biz cihazın brauzerini cihazda açmaq istədiyimiz zaman hansı faylların açılacağını bilmək üçün Android-dən kameranı istifadə etməyi və proqrama daxil olan fəaliyyətləri daxil etmək üçün icazə tələblərini əlavə edirik.

8 addımı. Hər şey hazırdır!

İndi tətbiqinizi cihaza kompilyasiya etmək və idarə etmək lazımdır. Hər hansı bir kompilyator səhvi varsa, layihəni təmizləyin və / və ya tutmağı yenidən başladın.


Təşəkkür edirik
Bu blog bir çox millətə çox təşəkkür edir:

  • Alberto Landaverde, ZNXX-nin Telaeris yayına girmiş, Zxing kitabxanasını dəyişdirmiş və ilk sadələşdirilmiş kitabxana tikmişdir
  • Kelly Lim, current Telaeris intern, who took this library and moved beyond it to build the DataLockr Android proqramı. Kelly də bu blogun məzmununu yazdı.
  • Jake Pham, mövcud Telaeris stajı, hər şeyin reklam olaraq işlədiyinə əmin olmaq üçün buradakı təlimçidən keçdi.

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
Olsun. Tarama olun. Paylaşılan olun.

A Şərh yaz

*

Blog yeniləmələri

Bülletenlər


bir nümayəndəsi ilə danışın

Əlaqə

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