更新android studio

时间:2017-04-17 08:14:57

标签: php android android-studio post android-volley

我使用Volley StringRequest从我的android代码发送POST值...在更新我的android工作室之前它工作得很好但是在更新后,我没有从android获得任何POST值而我无法得到问题在哪里在我的Android代码或服务器端。任何人都可以告诉我解决这个问题。

这是我的Android代码。

public class PostRequestTest extends AppCompatActivity {
String URL = "http://.....";

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_post_request_test);
    SendData();
}

private void SendData()
{
    StringRequest stringRequest = new StringRequest(Request.Method.POST,URL,
            new Response.Listener<String>()
            {
                @Override
                public void onResponse(String response)
                {
                    Log.d("Response",response);
                    Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error)
                {
                    Toast.makeText(PostRequestTest.this, error.toString(), Toast.LENGTH_LONG).show();
                }
            })
    {

        @Override
        protected Map<String, String> getParams()
        {
            Map<String, String> params = new HashMap<>();
            params.put("user_name","uname");
            return params;
        }
    };
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}}

在PHP中,我只是打印我的用户名但无法获得任何值

<?php echo $_POST['user_name']; ?>

提前致谢:)

1 个答案:

答案 0 :(得分:0)

我认为问题出在字符串请求上。而是使用Json Object Request for Post。

JSONObject obj=new JSONObject();
obj.put("user_name","user_name");

JsonObjectRequest request=new JsonObjectRequest(Request.Method.POST,your_url,obj,new Response.Listener<String>()
            {
                @Override
                public void onResponse(String response)
                {
                    Log.d("Response",response);
                    Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error)
                {
                    Toast.makeText(PostRequestTest.this, error.toString(), Toast.LENGTH_LONG).show();
                }
            })