طلب Problème requête JSON

kingyes

عضو فعال
إنضم
22 فيفري 2010
المشاركات
373
مستوى التفاعل
164
Bonjour,
j'essaye de récupérer une requête JSON. j'ai testé le lien via navigateur et tout va bien. Mais, lorsque je test la requête JSON via jsonlint.com, ce dernier n'affiche aucune résultat même-ci avec mon code java(android)s.
Y a-t-il une configuration nécessaire dans le serveur pour corriger ce problème?

lien requête JSON: http://ilyesagrebi.tn/test_php/android.php

code PHP:
PHP:
<?php
    require "init.php";
    
    $sql = "select * from users";
    $result = mysqli_query($conn,$sql);
    $response = array();
    
    while($row = mysqli_fetch_array($result))
    {
        array_push($response,array("id" => $row[0],"name" => $row[1],"age" =>  $row[2]));
    }

    echo json_encode(array("server_response"=>$response));
    mysqli_close($conn);
?>
 
mon code JAVA (Android)

كود:
public class MainActivity extends AppCompatActivity {

    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView)findViewById(R.id.textview);
        UsersBT usersBT = new UsersBT();
        usersBT.execute();
    }

    class UsersBT extends AsyncTask<Void,Void,String>{
        String server_url;

        @Override
        protected void onPreExecute() {
            Toast.makeText(getApplicationContext(),"on start....",Toast.LENGTH_LONG).show();
        }

        @Override
        protected void onProgressUpdate(Void... values) {
            Toast.makeText(getApplicationContext(),"on progress....",Toast.LENGTH_LONG).show();
        }

        @Override
        protected String doInBackground(Void... params) {
            //server_url="http://abdulwahid.esy.es/show.php";
            server_url="http://ilyesagrebi.tn/test_php/android.php";
            String reponse="",ligne="";

            try {
                URL url = new URL(server_url);
                HttpURLConnection http = (HttpURLConnection) url.openConnection();
                InputStream in = http.getInputStream();
                BufferedReader reader = new BufferedReader(new InputStreamReader(in));

                while ((ligne=reader.readLine())!=null)
                {
                    reponse+=ligne;
                }

                reader.close();
                in.close();
                http.disconnect();

                return reponse;

            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return reponse;

        }

        @Override
        protected void onPostExecute(String s) {
            Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show();
            textView.setText(s);
        }
    }

}
 
votre code marche correctement
n'oubliez pas d'ajouter la permission d'internet dans le fichier manifset
HTML:
    <uses-permission android:name="android.permission.INTERNET" />
 
Le problème n'est pas en coté serveur
puisqu'il marche bien pour moi
 

المرفقات

  • Screenshot_2017-09-14-18-45-30.png
    Screenshot_2017-09-14-18-45-30.png
    117,4 KB · المشاهدات: 14
De quel requête, une requête SQL ça on peux le comprendre, mais une requête Jason o_O je comprend pas ce que tu veux dire par ça !!

Télécharge l'application postman et utilise le, du moment où tu communiqué avec un serveur distant, cet outil est très utiles pour tester tes communication avec le serveur, que ce soit avec des requêtes Cet ou Post ou autre, et visualiser le résultat

Ça te permet de vérifier le bon fonctionnement d'une api

Essaie ça et dit nous ce qu'il t'affiche
 
C'est normale d'avoir ce probleme, le moyen le plus simple est de cliquer sur le lien et voir ce que ca donne, tu verra que t'as un super beau 404 qui s'affiche, d'où l'erreur FileNotFoundException !!!!

ton app recoi une reponse avec un code 404

Capture d’écran 2017-09-19 à 09.38.33.png


Donc verifie d'abord la partie php pour la rendre fonctionnel avant de te casser la tete avec ton app, si ton api ne fonctionne pas alors rien ne fonctionnera
 
أعلى