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

الصفحات

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

    تعليقات