2012-11-15 2 views
0

Biggu 바코드 라이브러리를 사용하고 있습니다.Android 바코드 스캐너

패키지 라이브러리에는 데모 및 샘플 응용 프로그램을 사용하여 모든 것이 나열되어 있습니다.

하지만 더 클래스 정의를 받고하지하고 오류

 java.lang.NoClassDefFoundError: com.biggu.scannerdemo.ScannerActivity 

을 발견하지만 클래스는 패키지와 매니페스트 파일에는 모든 활동에있다. 빌드 경로의 경로에 biggu_scanner-1.1.0.jar 파일이 있습니다.

package com.biggu.scannerdemo; 

import com.biggu.barcodescanner.client.android.Intents; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 

public class Demo extends Activity { 

private static final int SCANNER_REQUEST_CODE = 0; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button button = (Button)findViewById(R.id.btn); 
    button.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      Intent intent = new Intent(v.getContext(), com.biggu.scannerdemo.ScannerActivity.class); 
      intent.putExtra(Intents.Preferences.ENABLE_BEEP, true); 
      intent.putExtra(Intents.Preferences.ENABLE_VIBRATE, true); 

      ((Activity)v.getContext()).startActivityForResult(intent, SCANNER_REQUEST_CODE); 
     } 
    }); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (resultCode == Activity.RESULT_OK && requestCode == SCANNER_REQUEST_CODE) { 

     Bundle extras = data.getExtras(); 
     String result = extras.getString("SCAN_RESULT"); 
     TextView textView = (TextView)findViewById(R.id.txt); 
     textView.setText(result); 
    } 
}} 

ScannerActivity는

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.biggu.scannerdemo" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Demo" 
       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=".ScannerActivity" 
     android:label="Scanner Activity" android:screenOrientation="landscape" 
     android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
    </activity> 

</application> 
<uses-sdk android:minSdkVersion="4" /> 

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.FLASHLIGHT" /> 

시도 모든것이 제대로 설정

package com.biggu.scannerdemo; 

import com.biggu.barcodescanner.client.android.CaptureActivity; 

public class ScannerActivity extends CaptureActivity { 

@Override 
public int get_R_id_preview_view() { 

    return R.id.preview_view; 
} 

@Override 
public int get_R_id_viewfinder_view() { 

    return R.id.viewfinder_view; 
} 

@Override 
public int get_R_layout_scanner() { 

    return R.layout.scanner; 
} 

@Override 
public int get_R_raw_beep() { 

    return R.raw.beep; 
} 
} 

안드로이드 매니페스트 파일 아래의 코드를 가지고있다 사람은 나를 잘못 될 수 알려 수 코드에서. reply.thanks를 기다리십시오.

답변

2

APK를 만들 때 라이브러리를 내 보내야합니다.

프로젝트 속성> Java 빌드 경로> 순서 및 내보내기 => 라이브러리 확인

0

프로젝트 환경 설정에서 라이브러리를 추가해야합니다.

+0

감사합니다. 그것은 하나의 프로젝트입니다, 거기에 도서관 프로젝트가 없습니다 .. 나는 자바 빌드 경로의 도서관에서'biggu_scanner - 1.1.0.jar' 항아리 파일을 참조하고 있습니다. – Mukunda

+0

프로젝트를 청소하려고 했습니까 ?? – alejandrocordon