我有一个声明文本,我想将其从android发送到服务器,但它显示“ W / System.err:org.json.JSONException:值
java.lang.String无法转换为JSONObject”,但没有
代码,并确保查询正确。 它在数据库中放置了一个空行,并且未显示任何有关sql查询的描述。 db中声明行的类型为varchar(255)。 我在php文件中使用了post methode。 我在其他活动(用户名,密码)中尝试了相同的操作,并且可以正常工作。
有人知道我该怎么解决吗?谢谢。
public class ReclamActivity extends AppCompatActivity implements View.OnClickListener {
private EditText editTextClaim;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reclam);
editTextClaim = (EditText) findViewById(R.id.editTextClaim);
buttonSubmit = (Button) findViewById(R.id.buttonSubmit);
progressDialog = new ProgressDialog(this);
}
private void submit(){
final String claim = editTextClaim.getText().toString().trim();
progressDialog.setMessage("Please wait...");
progressDialog.show();
StringRequest stringRequest = new StringRequest(
Request.Method.POST,
Constants.URL_Claim,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
try {
JSONObject jsonObject = new JSONObject(response);
Toast.makeText(getApplicationContext(), jsonObject.getString("message"), Toast.LENGTH_LONG).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.hide();
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("claim", claim);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
我尝试切换并尝试http客户端,但是未找到任何结果。