我创建了一个应用程序,该应用程序利用zxing条形码扫描程序扫描条形码作为输入表单的一部分,并在mainActivity.java中使用以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
scanBtn = (Button)findViewById(R.id.scan_button);
formatTxt = (TextView)findViewById(R.id.scan_format);
contentTxt = (TextView)findViewById(R.id.scan_content);
scanBtn.setOnClickListener(this);
public void onClick(View v){
if(v.getId()==R.id.scan_button){
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) {
String scanContent = scanningResult.getContents();
String scanFormat = scanningResult.getFormatName();
formatTxt.setText("FORMAT: " + scanFormat);
contentTxt.setText("CONTENT: " + scanContent);
}
else{
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
然后我在这里分配了我的文本输入值:
String postCode = etPostCode.getText().toString();
String address1 = etAddress1.getText().toString();
并使用以下代码尝试对扫描的内容值执行相同的操作:
String scanVal = ((s)findViewById(R.id.scan_content)).toString();
然后将其添加到我的代码的最后一部分
Toast.makeText(this, "Adding Record...", Toast.LENGTH_SHORT).show();
new SignupActivity(this).execute(postCode, address1, scanVal);
}
然后我将值发送到我的网络服务器,以便在单击提交按钮时保存到数据库中,唉,它不起作用。
我得到了'邮政编码'的文字值和'地址1'但是没有扫描字段,它只是我数据库中的空字段。
有人能看到我在哪里出错吗?
答案 0 :(得分:0)
你需要做到这一点:
var url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
fetch(url)
.then(res => res.blob())
.then(blob => console.log(blob))