将QR扫描结果从android发送到PHP脚本
我是android编程新手,我发现将qr扫描结果代码(使用将QR扫描结果从android发送到PHP脚本,android,zxing,Android,Zxing,我是android编程新手,我发现将qr扫描结果代码(使用Zxing)发送到我已经设置好的PHP文件时有点问题。扫描后,结果显示在警报对话框中,当我点击“继续”按钮时,应用程序崩溃 public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == 0) { if (resultCode == RESULT_OK) {
Zxing
)发送到我已经设置好的PHP文件时有点问题。扫描后,结果显示在警报对话框中,当我点击“继续”按钮时,应用程序崩溃
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
//Toast toast = Toast.makeText(this, "Content:" + contents + " Format:" + format , Toast.LENGTH_LONG);
//toast.setGravity(Gravity.TOP, 25, 400);
//toast.show();
Context context=this;
AlertDialog.Builder builder1 = new AlertDialog.Builder(context);
builder1.setMessage("Id Number: "+contents+"\n"+"Format: "+format);
builder1.setCancelable(true);
builder1.setNegativeButton(
"Continue",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
checkLogin(contents);
}
//end
}
);
builder1.show();
}
}
else if (resultCode == RESULT_CANCELED) {
// Handle cancel
Toast toast = Toast.makeText(this, "Scan was Cancelled!", Toast.LENGTH_LONG);
toast.setGravity(Gravity.TOP, 25, 400);
toast.show();
new Thread(new Runnable() {
public void run() {
}
}).start();
}
else{
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
////////////////////////////////
public void checkLogin(final String contents) {
//start
String tag_string_req = "req_login";
pDialog.setMessage("Logging in ...");
showDialog();
StringRequest strReq = new StringRequest(Request.Method.POST,
REGISTER_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
hideDialog();
try {
JSONObject jObj = new JSONObject(response);
String userId = jObj.getString(TAG);
if (userId != null) {
String successMsg = jObj.getString("success_msg");
Toast.makeText(getApplicationContext(),
successMsg, Toast.LENGTH_LONG).show();
} else {
String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(),
errorMsg, Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_LONG).show();
hideDialog();
}
}) {
@Override
protected Map<String, String> getParams() {
// Post params to login url
Map<String, String> params = new HashMap<>();
params.put(TAG, contents);
return params;
}
};
// Adding request to queue
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
private void showDialog() {
if (!pDialog.isShowing())
pDialog.show();
}
private void hideDialog() {
if (pDialog.isShowing())
pDialog.dismiss();
}
activityresult上的公共void(int-requestCode、int-resultCode、Intent-Intent){
if(requestCode==0){
if(resultCode==RESULT\u OK){
contents=intent.getStringExtra(“扫描结果”);
字符串格式=intent.getStringExtra(“扫描结果格式”);
//处理成功的扫描
//Toast Toast=Toast.makeText(此“内容:+contents+”格式:+Format,Toast.LENGTH\u LONG);
//toast.setGravity(Gravity.TOP,25400);
//toast.show();
上下文=这个;
AlertDialog.Builder builder1=新建AlertDialog.Builder(上下文);
builder1.setMessage(“Id号:“+contents+”\n“+”格式:“+Format”);
builder1.setCancelable(true);
builder1.setNegativeButton(
“继续”,
新建DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
检查登录(内容);
}
//结束
}
);
builder1.show();
}
}
else if(resultCode==RESULT\u取消){
//处理取消
Toast Toast=Toast.makeText(这是“扫描已取消!”,Toast.LENGTH\u LONG);
toast.setGravity(Gravity.TOP,25400);
toast.show();
新线程(newrunnable()){
公开募捐{
}
}).start();
}
否则{
Toast Toast=Toast.makeText(getApplicationContext(),
“未收到扫描数据!”,Toast.LENGTH\u SHORT);
toast.show();
}
}
////////////////////////////////
public void checkLogin(最终字符串内容){
//开始
String tag\u String\u req=“req\u login”;
设置消息(“登录…”);
showDialog();
StringRequest strReq=新的StringRequest(Request.Method.POST,
REGISTER\u URL,new Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
hideDialog();
试一试{
JSONObject jObj=新的JSONObject(响应);
字符串userId=jObj.getString(标记);
if(userId!=null){
字符串successsg=jObj.getString(“success_msg”);
Toast.makeText(getApplicationContext(),
Successsg,Toast.LENGTH_LONG)。show();
}否则{
String errorMsg=jObj.getString(“error_msg”);
Toast.makeText(getApplicationContext(),
errorMsg,Toast.LENGTH_LONG).show();
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(getApplicationContext(),
error.getMessage(),Toast.LENGTH_LONG).show();
hideDialog();
}
}) {
@凌驾
受保护的映射getParams(){
//将参数发布到登录url
Map params=新的HashMap();
参数put(标签、内容);
返回参数;
}
};
//将请求添加到队列
AppController.getInstance().addToRequestQueue(streq,标记字符串请求);
}
私有void showDialog(){
如果(!pDialog.isShowing())
pDialog.show();
}
私有void hideDialog(){
if(pDialog.isShowing())
pDialog.disclose();
}
您可以发布崩溃日志吗?您可以发布崩溃日志吗?