القائمة الرئيسية

الصفحات

استخدام GET و POST على ANDROID STUDIO باستخدام مكتبة VOLLEY لتبادل المعلومات من صفحة PHP

أول عليك اضافة الكود داخل build.gradle لكي تربط تطبيقك مع موقع يستخدم PHP 
api 'com.android.volley:volley:1.1.0'
بعد ذلك هناك طريقتين لتبادل المعلومات وجلب المعلومات من صفحات PHP باستخدتم GET و POST ، ولجلب المعلومات للتطبيق عليك استخدام مصفوفة JSON-CODE داخل التطبيق و PHP .
أمر الذي ستخدمته داخل صفحة PHP .
سميت ملف باسم test.php ووضعنه على سيرفر شخصي باستخدام 127.0.0.1 ووضعت هذا الكود 
query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$heroes["user"] = $username ;
$heroes["id"] = $row["userid"] ;
}
$heroes["email"] = $row["email"] ; } else { echo "0 results"; }
?>
$conn->close(); echo json_encode($heroes);

الكود الاول هو لجلب معلومات من صفحة انترنت PHP ويمكنك استخدام تبادل المعلومات باستخدام GET
public void get_array_IP() { // get country user

        String URL_PRODUCTS_IP =  "http://192.168.1.33/test.php" ; // site info ip in array json

        JSONObject object = new JSONObject();
        try {
            //input your API parameters
            object.put("parameter","value");
            object.put("parameter","value");
        } catch (JSONException e) {
            e.printStackTrace();
        }

        final StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_PRODUCTS_IP,
                new Response.Listener() {
                    @Override
                    public void onResponse(String response) {

                        try {
                            JSONObject jsonResponse = new JSONObject(response);
                            String id_question = jsonResponse.getString("id"); // get Country User
                            Toast.makeText(MainActivity.this, ""+id_question, Toast.LENGTH_SHORT).show();

                        } catch (JSONException e) {
                            Toast.makeText(MainActivity.this, "error Get DATA", Toast.LENGTH_SHORT).show();
                        }
                    }
                },

                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(MainActivity.this, "error", Toast.LENGTH_SHORT).show();
                    }
                });


        //adding our stringrequest to queue
        Volley.newRequestQueue(this).add(stringRequest);

    }

الكود الثاني استخدمت POST ويمكنك تبدال المعلومات كيف تريد وارسال بينات لتخزينها مثلا على قاعدة بينات MYSQL
   public void get_array_post() { // get country user

        RequestQueue queue = Volley.newRequestQueue(this);
//for POST requests, only the following line should be changed to

        StringRequest sr = new StringRequest(Request.Method.POST, "http://192.168.1.33/test.php",
                new Response.Listener() {
                    @Override
                    public void onResponse(String response) {
                        Log.e("HttpClient", "success! response: " + response.toString());
                        try {
                            JSONObject jsonResponse = new JSONObject(response);
                            String id_question = jsonResponse.getString("id"); // get Country User
                            String user = jsonResponse.getString("user"); // get Country User
                            Toast.makeText(MainActivity.this, ""+id_question + " " +user, Toast.LENGTH_SHORT).show();

                        } catch (JSONException e) {
                            Toast.makeText(MainActivity.this, "error Get DATA", Toast.LENGTH_SHORT).show();
                        }

                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Log.e("HttpClient", "error: " + error.toString());
                    }
                })
        {
            @Override
            protected Map getParams(){
                Map params = new HashMap();
                params.put("user","YOUR USERNAME");
                params.put("pass","YOUR PASSWORD");
                return params;
            }
            @Override
            public Map getHeaders() throws AuthFailureError {
                Map params = new HashMap();
                params.put("Content-Type","application/x-www-form-urlencoded");
                return params;
            }
        };
        queue.add(sr);
    }
هل اعجبك الموضوع :

تعليقات

التنقل السريع