我用Java和Android Studio创建了一个基本的条码扫描器应用程序(在我的Mac上自相矛盾)。在这个应用程序中,我只是将一些条形码照片(手动)上传到我桌面的.../app/src/main/res/drawable
文件夹中的Android Studio,然后我每次都会将其中一张照片发送到Google Mobile Vision Barcode API
。我从API接收条形码表示的数据,我只是在Android模拟器的屏幕上打印数据。
此应用的MainActivity.java
脚本如下:
package *********************;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.SparseArray;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.android.gms.vision.Frame;
import com.google.android.gms.vision.barcode.Barcode;
import com.google.android.gms.vision.barcode.BarcodeDetector;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ImageView myImageView = (ImageView) findViewById(R.id.imgview);
Bitmap myBitmap = BitmapFactory.decodeResource(
getApplicationContext().getResources(),
R.drawable.image);
myImageView.setImageBitmap(myBitmap);
TextView txtView = (TextView) findViewById(R.id.txtContent);
BarcodeDetector detector =
new BarcodeDetector.Builder(getApplicationContext())
.setBarcodeFormats(Barcode.DATA_MATRIX | Barcode.QR_CODE | Barcode.CODE_128)
.build();
if(!detector.isOperational()){
txtView.setText("Could not set up the detector!");
return;
}
Frame frame = new Frame.Builder().setBitmap(myBitmap).build();
SparseArray<Barcode> barcodes = detector.detect(frame);
Barcode thisCode = barcodes.valueAt(0);
txtView.setText(thisCode.rawValue);
}
现在,我想使用条形码API中检索到的数据,将它们发送到(服务器和数据库)数据库,并检索存储在此数据库中的有关具有此条形码的产品的一些详细信息。
使我的Java应用与数据库通信的最合适方法是什么?
就个人而言,我非常有信心创建MySQL数据库并使用PHP来回发送数据。
但是,我不确定如何将用Java编写的脚本(扫描条形码)连接到数据库。
答案 0 :(得分:0)
这取决于您的使用案例。
<强>可能性:强>
1-在Android App中创建自己的数据库(Sqlite)。这意味着只要您认为合适,就必须通过Web服务与服务器的数据库进行同步。
<强> 步骤: 强>
2-仅使用第一步的'b'部分将数据保存到远程数据库中(一旦数据被子设置)
所以你实际上是CAN(b),但是在提交数据时立即连接到远程数据库非常糟糕(在我看来)。因为许多的原因。看看here。
最后,这一切都取决于您的选择以及适合您应用用例的最佳套装。
最佳