【发布时间】:2014-09-24 09:15:03
【问题描述】:
我想将 QRCode 添加到我的 android 应用程序中。
我使用的是 Android Studio 8.1。
我从 maven 存储库 (http://repo1.maven.org/maven2/com/google/zxing/core/3.1.0/) 下载 zxing core.jar 文件
我在清单 xml 文件中添加了以下几行:
<uses-permission android:name="android.permission.CAMERA" />
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape" >
</activity>
然后我将 jar 文件添加到“lib”文件夹中,并在 gradle 构建文件中添加为库:
编译文件('libs/core-3.1.0.jar')
我创建了以下活动:
public class QrCodeReader extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_qrcode);
HandleClick hc = new HandleClick();
findViewById(R.id.butQR).setOnClickListener(hc);
findViewById(R.id.butProd).setOnClickListener(hc);
findViewById(R.id.butOther).setOnClickListener(hc);
}
private class HandleClick implements View.OnClickListener {
public void onClick(View arg0) {
Intent intent = new Intent(getApplicationContext(),CaptureActivity.class);
intent.setAction("com.google.zxing.client.android.SCAN");
intent.putExtra("SAVE_HISTORY", false);
startActivityForResult(intent, 0);
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
TextView tvStatus=(TextView)findViewById(R.id.tvStatus);
TextView tvResult=(TextView)findViewById(R.id.tvResult);
if (resultCode == RESULT_OK) {
tvStatus.setText(intent.getStringExtra("SCAN_RESULT_FORMAT"));
tvResult.setText(intent.getStringExtra("SCAN_RESULT"));
} else if (resultCode == RESULT_CANCELED) {
tvStatus.setText("Press a button to start a scan.");
tvResult.setText("Scan cancelled.");
}
}
}
}
现在我收到“无法解析符号 CaptureActivity”错误,我该如何解决?
问候
编辑:
我添加了以下文件并修复了此错误
编译文件('libs/android-core-3.1.0.jar') 编译文件('libs/android-integration-3.1.0.jar')
但我收到以下错误:
java.lang.ClassNotFoundException:找不到类“com.google.zxing.client.android.CaptureActivity”我该如何解决这个问题?
【问题讨论】:
-
你会得到这个错误的原因只有三个: 这个类真的不存在。如果您使用官方示例中的代码并获取此代码,请确保您拥有最新版本的库您尚未将 jar 添加到您的构建路径中。要解决此问题,请右键单击 Eclipse 中的 jar,然后执行 Build Path ► Add to Build Path。您的 jar 不在 /libs 文件夹中。当您将 jar 添加到构建路径时会发生这种情况,但较新版本的 ADT 需要它位于 /libs 中。将其放在那里并重新添加到构建路径中。
标签: android android-studio zxing