【问题标题】:How to connect mobile app to database如何将移动应用程序连接到数据库
【发布时间】:2018-04-13 13:38:22
【问题描述】:

我使用 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);

    }

现在我想使用从 Barcode API 检索到的数据,将它们发送到(服务器和)数据库,并检索存储在该数据库中的有关具有此条形码的产品的一些详细信息。

让我的 Java 应用程序与数据库通信的最合适方法是什么?

就个人而言,我对创建 MySQL 数据库并使用 PHP 来回发送数据非常有信心。

但是,我不确定如何将用 Java 编写的脚本(扫描条形码)连接到数据库。

【问题讨论】:

  • 如果您使用移动应用程序,建议通过网络服务(例如 REST)之一发送/检索您的数据,而不是直接连接到数据库。

标签: java php android database


【解决方案1】:

这真的取决于您的用例。

可能性:

1- 在您的 Android 应用程序中创建您自己的数据库 (Sqlite)。这意味着您必须在您认为合适的时候通过 Web 服务与您的服务器的数据库进行同步。

步骤:

  • a) 使用ORM 连接到您的本地数据库并将您的表与您的类进行关系映射。
  • b) 使用 Web 服务通过 API 将您的类(例如 Retrofit)与服务器的数据库同步。

2- 仅使用第一步的“b”部分将数据即时保存到远程数据库(提交数据后)

所以你实际上可以(b),但是在提交数据时立即连接到远程数据库真的很糟糕(在我看来)。出于很多原因。看看here

最后,这一切都取决于您的选择以及最适合您应用用例的方案。

最好的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 2020-05-16
    • 2015-04-16
    • 2021-05-23
    • 2019-06-16
    • 2019-06-24
    相关资源
    最近更新 更多