2014-10-08 47 views
0

有了这个应用程序,我想扫描的二维码(我已经这样做),然后从数据库中的表中获取特定的行使用扫描QR返回的值代码在我的SELECT语句中。将QR码扫描器android应用程序连接到在线mySQL数据库

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

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 
     } 
    } 
} 

回答

0

最好的办法是先获得服务器端的东西跑了。例如通过使用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并将其保存在您的网络服务器上。例如: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; 

} 

这里找到:sending JSON to server using POST in android app

您可以使用如下代码:

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

String response = makePOSTRequest(String url, nameValuePairs); 

执行的最后一行之后,从我们的服务器的响应应该是响应变量。搜索谷歌解码JSON和做任何你想要的数据!我希望这可以帮助你!