Բարեկեցում Android- ում
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
}
}
}
}
Այստեղ կան երկու հիմնական գործառույթ `
- OpenScanner մեթոդը գործարկում է, երբ կոճակը սեղմվում է, եւ հետագայում բացում է սկաների կողմից:
- 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- ը:

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