IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Communication AVD avec serveur Apache


Sujet :

API standards et tierces Android

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Communication AVD avec serveur Apache
    Bonjour tout le monde,
    Je suis en cours de réalisation d'un projet développé sous android , j'ai conçu l'architecture générale du projet . je travaille sur un émulateur android qui est lié à éclipse j'ai pas sû comment faire communiquer l'AVD avec le serveur apache installé sous easyPHP
    Je suis vraiment bloquée merci de bien vouloir m'aider avec vos suggestions enrichissantes le plutot possible

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    le serveur apache installé sous easyPHP
    Ce ne serait pas plutôt l'inverse ?

    Ne sachant pas la configuration, ou les tentatives effectuées (et leurs résultats) difficile d'aider...

    L'AVD a accès à Internet... (utilisation des adresses internet classiques)
    L'AVD a aussi accès à la machine hôte... (utilisation du réseau virtuel 10.0.2.0)

    Après... je ne sais pas...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    non ce n'est pas l inverse ...l'easeyphp contient un serveur Apache+mysql ...je voudrais utiliser les Sockets pour éffectuer cette communication.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    voici un code que j'ai trouvé je l'ai essayé mais il m affiche des erreurs si quelqu'un pourra m aider je serais reconnaissante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    package com.example.test;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.app.ListActivity;
    import android.net.ParseException;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.ArrayAdapter;
    import android.widget.Toast;
    public class ConnexionSQLActivity extends ListActivity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.main);
            String result = null;
         InputStream is = null;
         JSONObject json_data=null;
         ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
         ArrayList<String> donnees = new ArrayList<String>();
     
         try{
         //commandes httpClient
         HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://10.0.2.2:8080/connexion_mysql/connexion_mysql.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
         }
         catch(Exception e){
          Log.i("taghttppost",""+e.toString());
                Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
           }
     
     
         //conversion de la réponse en chaine de caractère
            try
            {
             BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
     
             StringBuilder sb  = new StringBuilder();
     
             String line = null;
     
             while ((line = reader.readLine()) != null) 
             {
             sb.append(line + "\n");
             }
     
             is.close();
     
             result = sb.toString();
            }
            catch(Exception e)
            {
             Log.i("tagconvertstr",""+e.toString());
            }
            //recuperation des donnees json
            try{
              JSONArray jArray = new JSONArray(result);
     
                 for(int i=0;i<jArray.length();i++)
                 {
     
                       json_data = jArray.getJSONObject(i);
                       donnees.add(json_data.getString("nom"));
                       //r.add(json_data.getString("categorie"));
     
                   }
                    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, donnees));
                }
                catch(JSONException e){
                 Log.i("tagjsonexp",""+e.toString());
                } catch (ParseException e) {
                 Log.i("tagjsonpars",""+e.toString());
           }
     
        }
    }
    et voici le logCat
    03-11 20:06:32.963: E/Trace(1695): error opening trace file: No such file or directory (2)
    03-11 20:06:33.263: I/taghttppost(1695): android.os.NetworkOnMainThreadException
    03-11 20:06:33.322: I/tagconvertstr(1695): java.lang.NullPointerException
    03-11 20:06:33.332: D/AndroidRuntime(1695): Shutting down VM
    03-11 20:06:33.342: W/dalvikvm(1695): threadid=1: thread exiting with uncaught exception (group=0xb5e2f288)
    03-11 20:06:33.372: E/AndroidRuntime(1695): FATAL EXCEPTION: main
    03-11 20:06:33.372: E/AndroidRuntime(1695): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test/com.example.test.ConnexionSQLActivity}: java.lang.NullPointerException
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.ActivityThread.access$600(ActivityThread.java:130)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.os.Handler.dispatchMessage(Handler.java:99)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.os.Looper.loop(Looper.java:137)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.ActivityThread.main(ActivityThread.java:4745)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at java.lang.reflect.Method.invokeNative(Native Method)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at java.lang.reflect.Method.invoke(Method.java:511)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at dalvik.system.NativeStart.main(Native Method)
    03-11 20:06:33.372: E/AndroidRuntime(1695): Caused by: java.lang.NullPointerException
    03-11 20:06:33.372: E/AndroidRuntime(1695): at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at org.json.JSONTokener.nextValue(JSONTokener.java:94)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at org.json.JSONArray.<init>(JSONArray.java:87)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at org.json.JSONArray.<init>(JSONArray.java:103)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at com.example.test.ConnexionSQLActivity.onCreate(ConnexionSQLActivity.java:74)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.Activity.performCreate(Activity.java:5008)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
    03-11 20:06:33.372: E/AndroidRuntime(1695): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
    03-11 20:06:33.372: E/AndroidRuntime(1695): ... 11 more
    vraiment je ne comprend rien dans ces erreurs !!

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    1. Ne pas faire d'appel internet dans le thread "UI" (par exemple onCreate()) utiliser des Loader ou des AsyncTask

    2. Gérer correctement les exceptions... si une exception se produit au début, il est inutile de continuer, donc le catch doit être à la fin.

    3. Toute la partie "BufferReader", peut être remplacée par un simple "EntityUtils.toString(entity);"

    4. Le log des exceptions est n'importe quoie, on n'utilse pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Log.i("taghttppost",""+e.toString());
    pour signaler une exception mais au moins 'w' ou 'e' (si ca arrête le processus), et on passe l'exception en dernier paramêtre (""+e.toString() ?????? pourquoi pas e.toString() tout simplement d'ailleurs ?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Log.e("taghttppost","Erreur récupération JSON",e);
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/02/2014, 15h52
  2. Installation de Egroupware avec serveur Apache
    Par yoshï dans le forum Linux
    Réponses: 0
    Dernier message: 30/06/2010, 01h02
  3. probleme de configuration avec serveur apache
    Par niema dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/11/2009, 17h09
  4. Oracle sous Delphi avec serveur Apache
    Par meghaoui dans le forum Bases de données
    Réponses: 0
    Dernier message: 24/10/2007, 14h39
  5. Tomcat avec un serveur apache specifique
    Par benji999 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 20/04/2004, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo