[英]Android Barcode Scanner - auto display SQL data
I want to create android barcode scanner and display query result from SQL Database. 我想创建android条码扫描器并显示来自SQL数据库的查询结果。 The result can be retrieved with view button :
可以使用查看按钮检索结果:
btnview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if((edtproname.getText().toString().length()==28)&&(edtproname.getText() !=null))
try {
PreparedStatement statement = connect.prepareStatement("EXEC viewProduct '"+edtproname.getText().toString()+"'");
String location = edtproname.getText().subSequence(20,28).toString();
edtlocation.setText(location);
rs = statement.executeQuery();
while (rs.next()) {
edtproname.setText(rs.getString("ProName"));
edtprodesc.setText(rs.getString("ProDesc"));
}
} catch (SQLException e) {
Toast.makeText(AddProducts.this, e.getMessage(),
Toast.LENGTH_LONG).show();
}
edtqty.requestFocus();
InputMethodManager manager= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
manager.showSoftInput(edtqty, InputMethodManager.SHOW_FORCED);
}
This is the barcode read event : 这是条形码读取事件:
@Override
public void onBarcodeEvent(final BarcodeReadEvent event){
runOnUiThread(new Runnable() {
@Override
public void run() {
String barcodeData = event.getBarcodeData();
//String timestamp = event.getTimestamp();
edtproname.setText(""+barcodeData);
}
how to accomplish with auto display after scanner result loaded? 加载扫描仪结果后如何自动显示? without view button?
没有查看按钮? How to use hardware trigger show result directly?
如何直接使用硬件触发显示结果?
I appreciate any help... Thank you. 感谢您的帮助...谢谢。
Image : sample app 图片: 示例应用
Any event call acts like a trigger. 任何事件调用都像触发器。 So just use the run() function in onBarcodeEvent() to trigger the search.
因此,只需在onBarcodeEvent()中使用run()函数来触发搜索。 Just put the query code after you get the barcodeData string.
在获取条形码数据字符串之后,只需放置查询代码即可。
public void onBarcodeEvent(final BarcodeReadEvent event){
runOnUiThread(new Runnable() {
@Override
public void run() {
String barcodeData = event.getBarcodeData();
edtproname.setText(""+barcodeData);
if(barcodeData.length()==28){
try {
PreparedStatement statement = connect.prepareStatement("EXEC viewProduct '"+barcodeData+"'");
String location = edtproname.getText().subSequence(20,28).toString();
edtlocation.setText(location);
rs = statement.executeQuery();
while (rs.next()) {
edtproname.setText(rs.getString("ProName"));
edtprodesc.setText(rs.getString("ProDesc"));
}
} catch (SQLException e) {
Toast.makeText(AddProducts.this, e.getMessage(),
Toast.LENGTH_LONG).show();
}
edtqty.requestFocus();
InputMethodManager manager= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
manager.showSoftInput(edtqty, InputMethodManager.SHOW_FORCED);
}
}
});
}
And remove the view button. 并删除查看按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.