2012-05-02 4 views
1

Мне нужно создать приложение, в котором одна из функций будет иметь сканер штрих-кода. Я искал примеры кода для создания сканера штрих-кода, но я не нашел полного кода примера.Android - Сканер штрих-кода

Единственное, что я нашел, было примером кода, который работает с приложением Zxing. Но я не хочу выполнять какое-либо вторичное приложение. Я хочу иметь все-в-одном.

Кто-нибудь знает пример?

Спасибо.

+0

принять ответ, если вы нашли его полезным – SeanPONeil

+0

я не вижу ни одного веские причины, чтобы иметь все это в одном. Начало работы с другим приложением осуществляется на Android, и если вы используете существующее приложение, вам не нужно его поддерживать. –

ответ

4

ZXing - с открытым исходным кодом! Если вы действительно хотите реализовать свой собственный сканер штрих-кода, посмотрите на источник.

Вы можете просматривать код онлайн here, он лицензируется как Apache License 2.0.

3

Zxing имеет отличный API на основе намерений и предназначен для использования в качестве дополнительного приложения. Я бы рекомендовал проверить, установлено ли у пользователя приложение Zxing, а если нет, перенаправите их в магазин Google Play, чтобы загрузить его.

2

Я знаю, что довольно поздно ответить здесь, но все люди, которые ищут обновленный ответ на этот вопрос, больше не нуждаются в зависимости от сторонней apis, Google предлагает Barcode Scanning APIs через Google Play Services 7.8. Для получения дополнительной информации см. CodeLabs, Documentation, Github Sample.

0

Если вы хотите реализовать сканер штрих-кода внутри вашего приложения вне зависимости от других приложений, которые вы можете использовать ZXing Android Embedded, вам просто нужно, чтобы объявить его dependecies в ваших Gradle dependecies и использовать его возможности в вашем приложении.

Чтобы использовать его, добавьте следующие строки в ваших build.gradle файлов (проект/модуль):

repositories { 
    jcenter() 
} 

dependencies { 
    compile 'com.journeyapps:zxing-android-embedded:[email protected]' 
    compile 'com.google.zxing:core:3.2.1' 
    compile 'com.android.support:appcompat-v7:23.1.0' // Version 23+ is required 
} 

android { 
    buildToolsVersion '23.0.2' // Older versions may give compile errors 
} 

Теперь в вашем коде вы начинаете активность сканирования таким образом:

public void scanBarcode() { 
    IntentIntegrator integrator = new IntentIntegrator(this); 
    integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES); 
    integrator.setPrompt("Scan the barcode"); 
    integrator.setCameraId(0); // Use a specific camera of the device 
    integrator.setBeepEnabled(false); 
    integrator.setBarcodeImageEnabled(true); 
    integrator.initiateScan();   
} 

и процесс результаты таким образом:

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); 
    if (scanResult != null && scanResult.getContents() != null) { 
     String content = scanResult.getContents().toString(); 
     // content = this is the content of the scanned barcode 

     // do something with the content info here 
    } 
} 

Более подробную информацию можно найти на ZXing Android Встроенный github repo, ссылка ниже.

Источник: https://github.com/journeyapps/zxing-android-embedded

Смежные вопросы