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

الصفحات

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

GET POST PHP JAVA

إذا كنت تستخدم وتعمل كثيرا على تطبيقات أندرويد فلابد أنك تتساءل كيف يتم ربط وجلب معلومات من قواعد بيانات mysql إلى التطبيقات ، لذلك هناك طريقتين واحدة تعرض المعلوامت المرسلة في 2048 بيت وهي ما تسمى GET والأخرى لا تظهر المعلومات بل تمررها مخفية ومشفرة ويمكن إرسال عدد لا نهائي من البايتات وهي ما تسمى POST .

أول عليك اضافة الكود داخل build.gradle لكي تربط تطبيقك مع موقع يستخدم PHP 
api 'com.android.volley:volley:1.1.0'
بعد ذلك هناك طريقتين لتبادل المعلومات وجلب المعلومات من صفحات PHP باستخدتم GET و POST ، ولجلب المعلومات للتطبيق عليك استخدام مصفوفة JSON-CODE داخل التطبيق و PHP .

أمر الذي ستخدمته داخل صفحة PHP .
سميت ملف باسم test.php ووضعنه على سيرفر شخصي باستخدام 127.0.0.1 ووضعت هذا الكود 
<?php
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);
?>

الكود االتالي على java هو لجلب معلومات من صفحة انترنت 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);

    }

الكود الموالي على java استخدمت 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);
    }
هل اعجبك الموضوع :

تعليقات



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