Как получить идентификатор продукта из штрих-кода? - PullRequest
0 голосов
/ 01 июня 2011

Я использовал тот же способ Zxing Intent, чтобы открыть сканер из моего приложения. Но мое приложение просто открывает сканер и ничего не делает. Кроме того, я получаю некоторые FileNotfoundException.

Должен ли я добавить какое-либо разрешение в манифест?

Это мой класс, где я использую Намерение:

public class BarCodes extends Activity {

   /** Called when the activity is first created. */
   @Override public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      Button ok;

      ok=(Button) findViewById(R.id.b1);
      ok.setOnClickListener(new View.OnClickListener() {  

         @Override public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.setPackage("com.google.zxing.client.android");
            intent.putExtra("SCAN_MODE","QR_CODE_MODE");
            startActivityForResult(intent, 0);
         }

      });
      System.out.println("SSSSSSSSSSSSS");
   }

   public void onActivityResult(int requestCode, int resultCode, Intent intent) {
      if (requestCode == 0) {   
          if (resultCode == RESULT_OK) {
              String contents = intent.getStringExtra("SCAN_RESULT");
              System.out.println("contentsssssssssssssssssssssss" + contents);
              String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
              // Handle successful scan
          } else if (resultCode == RESULT_CANCELED) {
              // Handle cancel
          }
       }
    }
}

Также LogCat здесь:

java.lang.RunTimeException:Unable to instantiate activity componentInfo{com.pkg.BarCode...}  
caused by : java.lang.classNotFoundException:com.pkg.Scan in loader dalvik.System   Loader…  

В чем может быть проблема ??

Ответы [ 3 ]

0 голосов
/ 03 июня 2011

Ваша ошибка не имеет ничего общего с проектом. Android говорит, что не может найти ваш класс, com.pkg.Scan. Вам придется исправить настройки вашего проекта.

Однако я бы также предложил вам не пытаться писать свой собственный код, а использовать код , предоставленный проектом , для интеграции через Intent.

0 голосов
/ 15 июня 2011

шагов:

  1. Установите Apache Ant (http://www.youtube.com/watch?v=XJmndRfb1TU, это видео поможет вам сделать это), а также обратитесь к http://ant.apache.org/ для получения дополнительной информации и загрузите ant
  2. Загрузите исходный код ZXing с домашней страницы ZXing и распакуйте его (для получения дополнительной информации: http://code.google.com/p/zxing/source/browse/trunk/android/)
  3. С помощью командной строки Windows (Run-> CMD) перейдите к извлеченному каталогу
  4. Введите 'ant -f core / build.xml' или 'ant -f android / build.xml'
  5. Введите Eclipse -> новый Android-проект
  6. Щелкните правой кнопкой мыши папку проекта -> Свойства -> Путь сборки Java -> Библиотека -> Добавить внешние JAR-файлы
  7. Если сканер штрих-кода установлен на вашем Android-устройстве, вы можете отсканировать его и вернуть результат, просто отправив его Намерение. Например, вы можете подключить кнопку для сканирования QR-кода следующим образом
  8. В нем будет храниться код продукта в строковом значении 'contents'
    Получайте удовольствие от использования BarCode, реализовав его по-своему :-)
0 голосов
/ 01 июня 2011

На этот вопрос дан более подробный ответ здесь и здесь . Относительно того, почему вы получаете FileNotFoundException, вам нужно будет предоставить более подробную информацию, такую ​​как код, для которого вы вызываете намерение Zxing, а также трассировку стека logcat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...