NEW! XPressEntry HealthChek- ի աշխատավայր և COVID-19 զննում: ՍԵՂՄԵՔ ԱՅՍՏԵՂ սովորել ավելին:

բլոգները

Շտրիխ կոդ

Բարեկեցում Android- ում

zxing_zebra_logo
Laամանակի մեծ մասը, երբ Telaeris- ի աշխատակիցները հրապարակում են այստեղ, դա իրական կյանքի օրինակներ են ՝ կապված մեր արտադրանքի հետ: Սա մեզ հնարավորություն է տալիս քննարկել թեմաների լայն շրջանակ, ներառյալ շտրիխ ծածկագրերը և RFID- ի օգտագործումը, անվտանգության կամ անվտանգության համակարգի ներդրումը կամ խորհուրդներ բիզնեսի վարման վերաբերյալ: Բայց մեր արածի հիմքում մտածելն է կոշտ խնդիրների լուծման համար, Բլոգի հաջորդ մի քանի գրառումներն այն օրինակներն են, թե ինչպես Telaeris- ի երկու ստաժորներ սկսեցին ստեղծել անվճար նոր բջջային արտադրանք ձեր Android կամ iPhone շարժական սարքից շտրիխ կոդերին և RFID պիտակներին հետևելու համար: Համակարգը կոչվում է DataLockr- ը և նոր է գործարկվել. խորհուրդ եմ տալիս ստուգել հավելվածն ու համակարգը: Այն, ինչ նրանք նկարագրում են այս հոդվածում, իրենց առաջին քայլերն են, թե ինչպես կառուցել պարզ շտրիխ կոդ կարդալու ծրագիր ՝ օգտագործելով Android- ի համար բաց աղբյուրի Zxing գրադարանը:

Այս բլոգը նախատեսված է այն հակերների համար, ովքեր սիրում են ծածկագրել: Վայելեք

Իրականացնել Zxing- ի պարզեցված գրադարան
Մինչ մենք գնում էինք ուսուցման գործընթացը, թե ինչպես օգտագործել Zxing գրադարանը, մենք շուտով պարզեցինք, որ դա մի փոքր անհանգիստ էր, փորձելով հասկանալ, թե ինչ է կատարվում այս հսկայական գրադարանում: Այնտեղ շատ ձեռնարկներ կան, բայց շատ քայլեր էլ մեզ շփոթեցին կամ հնացած էին: Կոդից բացակայում էին բաներ, կամ տարբեր բաներ, որոնք հիմնված էին գրադարանային տարբերակով կամ ինչ-որ բանով, լիովին հստակեցված չէր: Մենք ուզում էինք կատարել մի ձեռնարկ, որը կօգնի որեւէ մեկին, որը փորձում է իրականացնել պարզ Zxing սկանավորման գրադարանը, արագ սկսելու համար օգտագործել այն իր սեփական դիմումի մեջ:

Այս ձեռնարկը օգտագործում է Zxing- ի գրադարանի պատռված տարբերակը, որն ուսուցանում է գրադարանը որպես ինքնուրույն ծրագիր իրականացնելու հիմունքներ եւ տեղադրելու ձեր սեփական հայրենի Android ծրագիրը: Մենք օգտագործում ենք Android- ի Զարգացման հավաքածու, որը աշխատում է SDK 19, Android 4.4 գրադարան: Գրադարանը ձեւափոխվել է որպես դիմանկարային ռեժիմ շտրիխ սկաներ, այնուհանդերձ, ստանդարտ հորիզոնական կողմնորոշում:

Դուք կարող եք ներբեռնել Zxing- ի գրադարանի պարզեցված տարբերակը այստեղ օգտագործելու եւ փորձարկելու համար. CaptureActivity. Սա տարբերվում է ZXing- ի գրադարանից այլ տարբերակով, բայց լավ է, որ սկսեք սկսել:

Եթե ​​Android SDK- ի հետ Eclipse չունեք, ներբեռնեք և տեղադրեք այն Android- ի զարգացման հավաքածու. Բացել Android SDK եւ տեղադրել անհրաժեշտ բաղադրիչները: Հաջորդը, բացեք Eclipse:

Քայլ 1. Նախ նախագիծը կստեղծենք:

Գնալ դեպի վերեւ Ֆայլ -> նոր -> Android հավելվածի նախագիծ, Անվանեք ձեր նախագիծը (մենք մերն անվանեցինք «Սկաներների ծրագիր»): Պատճենեք ներքևի պարամետրերը և կտտացրեք հաջորդ անգամ 3 անգամ, մինչև ստեղծեք Գործողություն էջը: Ընտրեք դատարկ գործողություն և կտտացրեք հաջորդին, ապա ավարտեք: Թղթապանակը լռելյայն կհայտնվի էկրանի ձախ կողմում: Եթե ​​ոչ, կտտացրեք առավելագույնի հասցնել կոճակին ՝ Eclipse- ում ծրագրի էկրանը բացելու համար:

Շտրիխ կոդ

 

Քայլ 2. Խմբագրել թեմայի սխալները (եթե չունես, անցեք 3 քայլին)

Եթե ​​ձեր արժեքների պանակներում սխալներ եք ունենում, դա կարող է Խավարման խնդիր լինել: Բացեք style.xml բոլոր էջերը և ջնջեք ոճի բոլոր պիտակներն ու դրանց պարունակությունը: Անցեք նաև ձեր AndroidManifest.xml և ջնջեք android: theme = ”@ style / AppTheme” հավելվածի տակ:

Քայլ 3. Հաջորդը սկաների գրադարանի ներմուծումն է:

Եթե ​​դեռ չկան, ներբեռնեք վերեւում CaptureActivty zip- ը: Գնալ Ֆայլ -> Ներմուծում -> Ներմուծել գոյություն ունեցող Android կոդը աշխատանքային տարածք -> և բացել թերթել եւ գտնել Zxing աղբյուրի կոդը, որը դուք ներբեռնել եք: Ստուգեք միայն առաջին նախագիծը CaptureActivity: Ճանապարհը չպետք է պարունակի / կառուցել: Սեղմեք ավարտել. Աջ սեղմեք / CaptureActivity / Թղթապանակ փաթեթի Explorer էջանիշում եւ սեղմեք հատկություններ -> Android և համոզվեք, որ «Արդյո՞ք գրադարանն է» վանդակը նշված է: Կտտացրեք ok- ին:

Քայլ 4. Մենք պետք է հիմա միացնենք մեր ծրագիրը սկաների գրադարանում:

Անմիջապես կտտացրեք ձեր Android ծրագիրը թղթապանակը, այնուհետեւ կտտացրեք հատկություններ -> Android. Սեղմեք ավելացրեք կոճակը եւ սեղմեք CaptureActivity- ին: Համոզվեք, որ կանաչ ստուգման նշանը հայտնվում է Android սմարթֆոնում սկուտեղի վրա: Սեղմեք OK:

Քայլ 5. Մենք կարող ենք հիմա սկսել սկանավորումը մեր դիմումի մեջ: Սկսեք գլխավորActivity.java ֆայլի հետ:

Ձեր հավելվածի պանակում, գնացեք / src / թղթապանակը եւ բացեք ձեր հիմնականActivity.java ֆայլը: Ստորեւ բերված կոդը անհրաժեշտ է: Պատճենեք եւ կպցրեք այն, ինչ չունեք: Ձեզ անհրաժեշտ կլինի ավելացնել կոդ կարմիր տեքստում: Եթե ​​սխալներ եք ստանում, ապա ձեզ հարկավոր է որոշակի դասեր ներկրել: Դուք կարող եք պարզապես սեղմեք ctrl + shift + O, եւ ներմուծվող բոլոր անհրաժեշտ ներմուծումները:



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

Այստեղ կան երկու հիմնական գործառույթ `

  1. OpenScanner մեթոդը գործարկում է, երբ կոճակը սեղմվում է, եւ հետագայում բացում է սկաների կողմից:
  2. The onActivityResult մեթոդը վերադառնում է կարդացած շտրիխ տողը: Այստեղից կարող եք բացել նոր մտադրություն եւ անցնել փոփոխականներ, եթե ցանկանում եք ցուցադրել այլ էկրան:

Քայլ 6.We այժմ փոխելու դասավորությունը activity_main.xml ֆայլում:

Այժմ ձեր մեջ / app / թղթապանակ, գնացեք res պանակ -> դասավորություն -> activity_main.xml ֆայլ. Այն պետք է նման լինի հետեւյալին. Ավելացնել հետեւյալ կարմիր կոդ:


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

Սա ավելացնում է կոճակ, եւ սեղմելիս, բացում է openScanner մեթոդը հիմնականActivity.java ֆայլը: Կարող եք նաեւ ընտրել թեմա: Ես ընտրել Theme.holo- ն:

Քայլ 7. Վերջին փոփոխությունը հետեւյալն է `edit androidManifest.xml ֆայլը:

Կարդացեք androidManifest.xml ֆայլը նախագծի դիրեկտորիայի ներքո: Կոդը պետք է նայենք հետեւյալ կերպ, եւ կրկին պատճենեք կարմիր կոդը



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

Մենք ավելացնում ենք թույլտվություններ, որ Android- ը պահանջում է օգտագործել տեսախցիկը եւ ներառել գործողությունները, որպեսզի իմանա, թե ինչ ֆայլեր կբացվեն, երբ ցանկանում ենք սարքի վրա սկաների բացել:

Քայլ 8. Ամեն ինչ արված է!

Այժմ դուք պետք է կարողանաք հավաքել եւ գործարկել ձեր դիմումը սարքում: Եթե ​​առկա են կոմպիլյատորային սխալներ, կարող եք մաքրել ծրագիրը եւ / կամ վերսկսել խավարումը:

 
Շնորհակալություն
Այս բլոգը մեծ շնորհակալություն է հայտնում շատ մարդկանց.

  • Alberto Landaverde- ը, որն անցել է 2012- ի Telaeris ամռանը, ով ձեւափոխել է Zxing գրադարանը եւ կառուցել նախնական պարզեցված գրադարանը
  • Kelly Lim- ը, ներկայիս Telaeris Intern- ը, ով այս գրադարանը վերցրեց եւ դուրս եկավ այն կառուցելու համար DataLockr- ը Android ծրագիրը: Kelly- ն նաեւ գրել է այս բլոգի բովանդակությունը:
  • Jake Pham- ը, ներկայիս Telaeris- ի պրակտիկանտ, որն անցավ ուսումնական ձեռնարկով `համոզվելու համար, որ ամեն ինչ գովազդվում է:

Մնացեք հաջորդ բաժնում, որտեղ մենք կքննարկենք, թե ինչպես կարելի է ZXing գրադարանի սկանավորում ինչպես դիմանկարային, այնպես էլ լանդշաֆտային ռեժիմներում: Եվ եթե ժամանակ ունեք, նայեք նրանց բոլոր ջանքերի արդյունքին. DataLockr- ը:

DataLockrLogo
Եկեք տեսնենք: Եղեք սկանավորվեք: Համօգտագործեք:

Թողնել Մեկնաբանություն

*

Email Բաժանորդագրում

Ստացեք վերջին թարմացումները, որոնք ուղարկվել են անմիջապես ձեր մուտքի արկղ