[英]sending data to my online MySQL database from my android app zxing
我正在使用Zxing框架構建一個簡單的QR Code閱讀器,到目前為止,它工作正常。 這里的問題是我未能找到捕獲的QR碼數據的變量。 如何將捕獲的QR碼數據發送到我的在線MySQL數據庫。
下面是我的代碼
Main_activity.java
package io.github.akodiaemmanuel.mapenziscanner;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.View;
import com.google.zxing.Result;
import me.dm7.barcodescanner.core.ViewFinderView;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
/**
* Created by Akodia Emmanuel on 9/18/2017.
*/
public class MainActivity extends Activity implements ZXingScannerView.ResultHandler {
private ZXingScannerView mScannerview;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
}
public void onClick(View v){
mScannerview = new ZXingScannerView(this);
setContentView(mScannerview);
mScannerview.setResultHandler(this);
mScannerview.startCamera();
}
@Override
public void handleResult(Result result) {
//Do anything with the result here
Log.w("handleResult",result.getText());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Scan Result");
builder.setMessage(result.getText());
AlertDialog alertDialog = builder.create();
alertDialog.show();
//resume scanning
//mScannerview.resumeCameraPreview(this);
}
}
您可以將數據發送到PHP腳本,該腳本會將這些數據保存在MySQL數據庫中:
要將數據從Android發送到PHP,可以使用https://github.com/koush/ion
在這里,我們將調用頁面url_to_my_script.php並在POST中發送qrdata。 加載頁面(onCompleted)后,我們將獲得JSON響應,並根據響應執行某些操作。
Android:
Ion.with(context)
.load("url_to_my_script.php")
.setBodyParameter("qrdata", qrdata)
.asJsonObject()
.withResponse()
.setCallback(new FutureCallback<Response<JsonObject>>() {
@Override
public void onCompleted(Exception e, Response<JsonObject> reponse) {
Log.i("myactivity", "jsonresult is " + reponse);
//if we have an error or code
if (e != null || reponse.getHeaders().code() != 200) {
Log.e("myactivity", "Error invalid request" + e);
Log.e("myactivity", "response code:"+reponse.getHeaders().code());
} else {
if (!success.equals("1")) {
String error = result.get("error_message").toString();
}else{
//everything is ok do something
}
}
}
});
PHP腳本:
該PHP腳本獲取數據並返回JSON響應
<?php
header('Content-type: application/json');
require_once 'database_config.php';
function insertMyData($data){
//do something
// if ok return true else false
}
if($_POST){
$qrdata= trim($_POST['qrdata']);
if(insertMyData($qrdata)){
echo '{"success":1}';
}else{
echo '{"success":0,"error_message":"Put a message her"}';
}
} else {
echo '{"success":0,"error_message":"Invalid date"}';
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.