二维码与字符串比较ANDROID
QR code comparison to string ANDROID
我正在使用编译 'com.google.android.gms:play-services:10.2.0' (https://developers.google.com/android/reference/com/google/android/gms/vision/barcode/Barcode.html#valueFormat) 来读取二维码。我想将我读取的 QR 与字符串进行比较。如果匹配,它应该显示一条消息。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null) {
final Barcode barcode = data.getParcelableExtra("barcode");
// I also tried barcode.displayValue!
final String password = barcode.rawValue;
if (password == "123456") {
resultText.post(new Runnable() {
@Override
public void run() {
resultText.setText("Sucess");
}
});
当我显示我的二维码时,它显示为 123456,但将它与“123456”进行比较却不起作用。
我认为 displayValue 和 rawValue 正在将我的 QR 转换为字符串。有人有什么主意吗?
谢谢
您必须使用 password.equals("123456")
来比较您的字符串。 ==
运算符检查字符串是否是完全相同的对象,而不是具有相同的值。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null) {
final Barcode barcode = data.getParcelableExtra("barcode");
// I also tried barcode.displayValue!
final String password = barcode.rawValue;
if (password.equals("123456")) {
resultText.post(new Runnable() {
@Override
public void run() {
resultText.setText("Sucess");
}
});
如果它们相等,则使用等于 return true 否则 return false for details
password.equals("12345")
使用password.equals("123456"),比较字符串有效。我希望这能解决您的问题。 As "==" 比较字符串中值的引用,其中 as .equals() 比较实际值 .
我正在使用编译 'com.google.android.gms:play-services:10.2.0' (https://developers.google.com/android/reference/com/google/android/gms/vision/barcode/Barcode.html#valueFormat) 来读取二维码。我想将我读取的 QR 与字符串进行比较。如果匹配,它应该显示一条消息。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null) {
final Barcode barcode = data.getParcelableExtra("barcode");
// I also tried barcode.displayValue!
final String password = barcode.rawValue;
if (password == "123456") {
resultText.post(new Runnable() {
@Override
public void run() {
resultText.setText("Sucess");
}
});
当我显示我的二维码时,它显示为 123456,但将它与“123456”进行比较却不起作用。
我认为 displayValue 和 rawValue 正在将我的 QR 转换为字符串。有人有什么主意吗? 谢谢
您必须使用 password.equals("123456")
来比较您的字符串。 ==
运算符检查字符串是否是完全相同的对象,而不是具有相同的值。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null) {
final Barcode barcode = data.getParcelableExtra("barcode");
// I also tried barcode.displayValue!
final String password = barcode.rawValue;
if (password.equals("123456")) {
resultText.post(new Runnable() {
@Override
public void run() {
resultText.setText("Sucess");
}
});
如果它们相等,则使用等于 return true 否则 return false for details
password.equals("12345")
使用password.equals("123456"),比较字符串有效。我希望这能解决您的问题。 As "==" 比较字符串中值的引用,其中 as .equals() 比较实际值 .