我想将QRCode添加到我的android应用程序中。
我使用的是Android Studio 8.1。
我下载zxing核心。maven存储库中的jar文件(http://repo1.maven.org/maven2/com/google/zxing/core/3.1.0/)
我在清单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.");
}
}
}
}
现在我遇到“无法解决符号捕获活动”错误,我该如何修复?
问候
编辑:
我添加了以下文件,并修复了此错误
编译文件('libs/android-core-3.1.0.jar')编译文件('libs/android-integration-3.1.0.jar')
但我得到了以下错误:
Java语言lang.ClassNotFoundException:没有找到类“com.google.zxing.client.android.CaptureActivity”我该如何解决这个问题?
在捕获活动中添加意图过滤器。
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
只有三个原因你会得到这个错误:
该类确实不存在。如果您使用官方示例中的代码并获得此代码,请确保您拥有库的最新版本
您尚未将jar添加到构建路径。要解决这个问题,右键单击Eclipse中的jar,然后执行构建路径► 添加到生成路径。
jar不在 /libs文件夹中。当您将jar添加到构建路径时,会发生这种情况,但较新版本的ADT需要它在 /libs.将其放在那里并重新将其添加到构建路径中。
您不打算在您的应用程序中使用Capture Active
。出于这个原因,它不在core
中,这就是您的应用程序找不到它的原因。
您的代码令人困惑,因为您似乎想通过Intent
集成,但是,您不需要android
甚至core
中的任何代码。相反,您应该按照https://github.com/zxing/zxing/wiki/Scanning-Via-Intent的说明进行操作
我想将zxing scanner集成到我的应用程序中,而不需要外部应用程序(play store的zxing scanner)。这是我的密码 AndroidManifest。xml 我的Android Studio说无法解析符号:<代码>。AndroidCaptureActivity,如果运行此操作,则会发生错误 Java语言lang.ClassNotFoundException:未找到类“com
问题内容: 我正在使用扫描仪逐行读取文本文件,但是由于扫描仪遍历每个输入,因此如何获取行号?我的程序是这样的: 这很好用,但是例如: 我想知道它的行号,这意味着1,2,3在第1行中,而3,4,5在第2行中。我如何得到它? 问题答案: 在扫描程序执行操作时,您可以使用代替来跟踪行号。 注意: 由于扫描程序会先读取当前令牌,因此我最初发布的“明显”解决方案不起作用。 ~~~~
问题内容: 我想为扫描器指定一个分隔符,该分隔符可以按某种模式进行拆分,但不会从令牌中删除该模式。我似乎无法完成这项工作,因为正则表达式所标识的所有内容也会作为分隔符的一部分被占用。有什么建议? 我的具体问题是,我的文件看起来像: 我想从文本/数字混合+行中分离出来,直到下一个文本/数字混合。我有正则表达式来标识它们,但是如上所述,因为定界符占用了我想要的内容,所以使用了它。 编辑:代码添加: 是
代码运行,但无法获得函数、类等的建议。 谢谢
更改applicationId后,Android Studio无法从支持库中解析AppCompatActivity、DialogFragment、support V4片段和类似项目。 我尝试过: 清洁项目 重建项目 将项目与gradle文件同步 分离gradle项目同步并再次同步 使缓存失效并重新启动 删除项目并再次克隆 删除所有依赖并添加一个再见 将应用ID重命名为以前的名称 这是我的应用程序b
问题内容: 我试图找到一种方法来从键盘输入。 我尝试使用: 该方法不存在。 我尝试了作为。但是,它并不总是在每种情况下都可行,因为我从我的方法中调用的另一个方法需要作为输入。因此,我必须找到一种显式将char作为输入的方法。 有什么帮助吗? 问题答案: 你可以从中提取第一个字符: 消耗正好一个字符,你可以使用: 要严格使用一个字符,可以使用: