繁体   English   中英

将QR Code Scanner android应用程序连接到在线mySQL数据库

[英]Connect QR Code Scanner android app to online mySQL database

有了这个程序,我想扫描Qr码(我已经在做),然后使用扫描SELECT语句中的QR码返回的值从数据库的表中获取特定的行。

到目前为止,我的代码如下:

    public void Scan(View v)
{
    try {

        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); // "PRODUCT_MODE for bar codes

        startActivityForResult(intent, 0);

    } catch (Exception e) {

        Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android");
        Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri);
        startActivity(marketIntent);

    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {           
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 0) {

        if (resultCode == RESULT_OK) {
            String contents = data.getStringExtra("SCAN_RESULT");//Value retrieved from qr code is stored in this string
        }
        if(resultCode == RESULT_CANCELED){
            //handle cancel
        }
    }
}

最好的方法是首先使服务器端的东西运行。 例如,通过使用PHP。 我们需要制作一个脚本,以获取您的数据输入,并使用它进行查询以获取所需的数据。 例如这样:

<?php
    $data = $_POST['data'];

    // $data holds your data from the android app
    // Perform your db query here

    $result = ["Resultdata" => $dbresult];
    print json_encode($result);
?>

将此代码另存为process.php,并使其在您的Web服务器上可用。 例如: http : //www.example.com/process.php

接下来要做的是使您的Android代码向您的php脚本发出请求。 例如,使用此功能:

public String makePOSTRequest(String url, List<NameValuePair> nameValuePairs) {
    String response = "";

    try {
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        response = EntityUtils.toString(httpEntity);
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    Log.d(LOGTAG, "POST Response >>> " + response);
    return response;

}

在这里找到: 使用android应用中的POST将JSON发送到服务器

您可以使用以下代码:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("data", resultCode));

String response = makePOSTRequest(String url, nameValuePairs );

执行完最后一行后,来自我们服务器的响应应该在response变量中。 在Google上搜索解码json,然后对数据进行任何操作! 我希望这可以帮助你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM