մեր բլոգը

Շտրիխ կոդ

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

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

Այս բլոգն այն հաքերների համար է, որոնք ցանկանում են կոդավորել: Վայելեք:

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

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

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

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

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

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

Շտրիխ կոդ

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

Եթե ​​ձեր արժեքների թղթապանակներում սխալներ եք ունենում, դա կարող է լինել Eclipse- ի խնդիր: Բացեք բոլոր 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, եւ ներմուծվող բոլոր անհրաժեշտ ներմուծումները:



փաթեթ com.example.scannerapp; ներմուծում android.app.Activity; ներմուծումը android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; ներմուծումը android.widget.Toast; հանրային դասակարգը MainActivity- ն ընդլայնում է գործունեությունը {@Override- ը պաշտպանված է void onCreate- ում (փաթեթը saved1stanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); } @Override public boolean onCreateOptionsMenu (Մենյուի ցանկի համար) {// Մտել ցանկը; սա ավելացնում է իրերը գործողությունների սանդղակում, եթե այն ներկա է: getMenuInflater (). inflate (R.menu.main, մենյու); վերադարձնել ճշմարիտը; } p ublic void openScanner (Դիտել դիտում) {Նպատակը intent = նոր մտադրություն ("com.example.scannerapp.SCAN"); startActivityForResult (մտադրություն, 0000); } public void onActivityResult (int requestCode, int resultCode, Նպատակը) {if (requestCode == 0000) {if (resultCode == RESULT_OK) {String բովանդակությունը = intent.getStringExtra ("SCAN_RESULT"); Toast.makeText (սա, բովանդակությունը, 0) .show (); } else եթե (արդյունքի կոդ == RESULT_CANCELED) {// Կարգի չեղարկումը}}} } 

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

  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 paddingLeft = "@ dimen / activity_horizontal_margin" android: paddingRight = "@ dimen / activity_horizontal_margin" android: paddingTop = "@ dimen / activity_vertical_margin" tools: context = ". «Հիմնական ակտիվություն»> <կոճակ Android: id = "@ id / button0000" android: layout_width = "wrap_content" Android: layout_height = "wrap_content" Android: layout_below = "@ id / textView0000" Android: layout_centerHorizontal = "true" Android: layout_marginTop = "1dp" android: text = "Scan" android: onClick = "openScanner" /> </ RelativeLayout>

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

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

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



<! xml version = "1.0" կոդավորում = "utf-8"?> <manifest xmlns: android = "http://schemas.android.com/apk/res/android" փաթեթ = "com.example.scannerapp" android : versionCode = "1" Android: versionName = "1.0"> <uses-sdk android: minSdkVersion = "8" Android: targetSdkVersion = "21" /> <! - Թույլատրվում է թույլտվություն `ZXING-> <uses- թույլտվություն Android : name = "android.permission.CAMERA" /> <uses-permission android: name = "android.permission.INTERNET" /> <uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" /> <! Հատկանիշները պահանջվում են ZXING -> <uses- feature android: name = "android.hardware.camera" Android: required = "true" /> <uses- feature android: name = "android.hardware.touchscreen" Android: required = «կեղծ» /> <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.Ma inActivity "- ի 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
Եկեք տեսնենք: Եղեք սկանավորվեք: Համօգտագործեք:

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

*

Օրագիր թարմացումներ

Ձեր հաղորդագրությունը հաջողվեց փակցնել


խոսեք ներկայացուցչի հետ

Հետադարձ Կապ

Հեռախոս `858-627-9700
Ֆաքս `858-627-9702
-------------------------------
9123 Chesapeake դոկտոր
San Diego, CA 92123
-------------------------------
sales@telaeris.com