如何解决Android Volley 请求适用于模拟器,但在物理手机上出现客户端错误伙计们请帮助我,我是新手
Volley 请求在手机和模拟器上运行良好,可用于登录活动,但不适用于此活动。请参阅下面的错误消息和代码。
2021-02-20 22:23:25.695 29250-30267/com.bignerdranch.android.equipmentinspection E/Volley:[2336] BasicNetwork.performRequest:https://sbmequipmentinspection.com/vehicleTable.php 的意外响应代码 404 2021-02-20 22:23:25.697 29250-29250/com.bignerdranch.android.equipmentinspection E/somethingWrong:com.android.volley.ClientError
private void uploadTOServer() {
String reg_url = "https://sbmequipmentinspection.com/vehicleTable.PHP";
final String loclaTime = android.text.format.DateFormat.format("yyyy-MM-dd hh:mm:ss a",mVehicle.getDate()).toString();
StringRequest stringRequest = new StringRequest(Request.Method.POST,reg_url,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getContext(),"Thank you for submitting vehicle inspection",Toast.LENGTH_LONG).show();
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("somethingWrong",error.toString());
Toast.makeText( getContext(),error.toString(),Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams(){
String image = getStringImage(mPhotoFile);
Map<String,String> params = new HashMap<String,String>();
params.put("id",mVehicle.getID().toString());
params.put("user",SavePreference.getPrefUserName(getActivity()));
params.put("date",loclaTime);
params.put("vehicleNumber",mVehicle.getEquipmentNumber());
params.put("mileageNumber",mVehicle.getMilage());
params.put("question1",mQuestionBank[0].getStatus());
params.put("question2",mQuestionBank[1].getStatus());
params.put("question3",mQuestionBank[2].getStatus() );
params.put("question4",mQuestionBank[3].getStatus());
params.put("question5",mQuestionBank[4].getStatus());
params.put("question6",mQuestionBank[5].getStatus());
params.put("question7",mQuestionBank[6].getStatus());
params.put("question8",mQuestionBank[7].getStatus());
params.put("question9",mQuestionBank[8].getStatus());
params.put("question10",mQuestionBank[9].getStatus());
params.put("question11",mQuestionBank[10].getStatus());
params.put("question12",mQuestionBank[11].getStatus());
params.put("question13",mQuestionBank[12].getStatus());
params.put("addInfo",mVehicle.getExtraInfo());
params.put("status",mVehicle.getStatus());
params.put("image",image);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
stringRequest.setRetryPolicy(new DefaultRetryPolicy(0,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(stringRequest);
}
private String getStringImage(File photoFile) {
Bitmap bitmap = PictureUtils.getScaledBitmap(photoFile.getPath(),getActivity());
ByteArrayOutputStream ba = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,100,ba);
byte[] imagebyte = ba.toByteArray();
String encode = Base64.encodetoString(imagebyte,Base64.DEFAULT);
return encode;
}```
解决方法
这就是我要做的。首先,在返回之前,我将创建一个字符串来检查 JSON 格式, String mRequestBody = jsonObject.toString();
之后我将提取该 JSON 并将其放入一个名为 Postman 的应用程序中,https://www.postman.com/ 并测试它是否仍然在那里工作,让我知道你发现了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。