使用这个应用程序,我想扫描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
}
}
}
答案 0 :(得分: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并用数据做任何你想做的事情!我希望这可以帮助你!