NEW! XPressEntry HealthCheck İş yeri və COVID-19 seçimləri. TIKLAYIN daha ətraflı məlumat üçün.

Bloqlar

Barkod keçidi

Androiddə Barkodlama

zxing_zebra_logo
Telaeris-də işləyənlərin əksəriyyəti burada dərc etdikləri zaman məhsullarımızla əlaqəli gerçək həyat nümunələridir. Bu, barkodlar və RFID istifadəsi, təhlükəsizlik və ya təhlükəsizlik sisteminin tətbiqi və ya bir işin aparılmasına dair tövsiyələr daxil olmaqla geniş mövzuları müzakirə etməyə imkan verir. Ancaq etdiyimiz işin mərkəzində düşünmək lazımdır çətin problemlər üçün təmiz həllər. Növbəti bir neçə blog yazısı, Telaeris-də iki stajçının Android və ya iPhone mobil cihazınızdan barkodları və RFID etiketlərini izləmək üçün pulsuz yeni bir mobil məhsul yaratmağa başladığına dair nümunələrdir. Sistem deyilir DataLockr və yeni istifadəyə verilib - Tətbiqə və sistemə baxmağınızı tövsiyə edirəm. Bu məqalədə təsvir etdikləri şey, Android üçün açıq mənbəli Zxing kitabxanasından istifadə edərək sadə bir barkod oxu tətbiqetməsinin necə qurulacağına dair ilk addımlardır.

Bu blog kod yazmağı sevən hakerlər üçündür. Zövq alın!

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ə quraşdırın 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ətbiq Layihəsi. Layihənizə ad verin (özümüzə "Scanner App" dedik). Aşağıdakı parametrləri kopyalayın və Fəaliyyət səhifəsinə qədər növbəti 3 dəfə vurun. Boş Fəaliyyəti seçin və sonrakı düyməni, sonra da Sonu vurun. Qovluq standart olaraq ekranın sol tərəfində görünəcəkdir. Əks təqdirdə, 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)

Dəyərlər qovluğunda səhvlər varsa, bu Eclipse problemi ola bilər. Bütün style.xml səhifələrini açın və bütün stil etiketlərini və içindəkiləri silin. Ayrıca AndroidManifest.xml-ə gedin və tətbiqin altındakı android: theme = "@ style / AppTheme" silmək.

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

Henüz yoksa, yukarıdaki CaptureActivty zip'sini indirin. Getmək Fayl -> İdxal -> Mövcud Android Kodunu İş Alanına İdxal et -> və gözdən keçirin və yüklədiyiniz Zxing kodunu tapa bilərsiniz. Yalnız ilk layihəni yoxlayın CaptureActivity. Yolu qurmaq / içində olmamalıdır. Bitirdikdən sonra basın. sağ basın / CaptureActivity / Package Explorer qovluğunda qovluq və klikləyin xüsusiyyətləri -> Android və “Kitabxanadır” onay qutusunun işarələndiyinə əmin olun. Tamam düyməsini vurun.

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.

İndi sizin / 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 edirəm
Bu blogun bir çox insanlara təşəkkür etdiyinə görə böyük borcu var:

  • Alberto Landaverde, ZNXX-nin Telaeris yayına girmiş, Zxing kitabxanasını dəyişdirmiş və ilk sadələşdirilmiş kitabxana tikmişdir
  • Kelly Lim, bu kitabxana aldı və qurmaq üçün kənarda köçüb, mövcud Telaeris intern, 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.

ZXing kitabxanasının həm portret, həm də landşaft rejimlərində necə taranacağını müzakirə edəcəyimiz növbəti hissəyə baxın. Vaxtınız varsa, bütün səylərinin məhsuluna bir nəzər yetirin - DataLockr.

DataLockrLogo
Olsun. Tarama olun. Paylaşılan olun.

A Şərh yaz

*

Email Subscription

Doğrudan gələnlər qutunuza göndərilən son yeniləmələri əldə edin