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

Android Discussion :

Récupérer données de mysql et l'afficher a android


Sujet :

Android

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut Récupérer données de mysql et l'afficher a android
    Bonsoir,

    je veux récuperer les donnes de mysql et l'afficher dans un listView

    comment je suis débutante j’essaye de récupérer seulement le données mais j'ai rien recu rien dans l'emelateur

    code php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $link = mysql_connect('127.0.0.1', 'root', '');
    $db = mysql_select_db('tu', $link); 
    $sql=mysql_query("SELECT * FROM tblville");
     
     
    while($row = mysql_fetch_array($sql)) {
            $v = $row['ID_ville'] ;
    		$v1=$row['Nom_ville'];
    		echo $v;
     
    		echo $v1;
    }
    ?>
    code java
    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
    public class ReponseTestActivity extends Activity {
        /** Called when the activity is first created. */
    	 TextView txt;
     
    	String rep;
    	public static URL url;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            LinearLayout rootLayout = new LinearLayout(getApplicationContext());  
    		txt = new TextView(getApplicationContext());  
    		rootLayout.addView(txt);  
    		setContentView(rootLayout);  
     
    		try {
    	    		url = new URL("http://mon@ip/android/lecture.php");
    	    	} catch (MalformedURLException e) {
    	    		// TODO Auto-generated catch block
    	    		e.printStackTrace();
     
    	    	}
    	        rep = postURL(url, "test");
     
    	        txt.setText(rep);
        txt.setText(rep);
     
        }
        public static String postURL(URL a_Url, String a_sParamsToPost)
        {
        	StringBuilder Sb = new StringBuilder();
     
        	//recup du saut de ligne
        	String sLineSep = null;
        	try
        	{
        		sLineSep = System.getProperty("line.separator");
        	}
        	catch (Exception e)
        	{
        		sLineSep = "\n\r";
        	}
     
        	try
        	{
        		HttpURLConnection UrlConn = (HttpURLConnection) a_Url.openConnection();
        		UrlConn.setRequestMethod("POST");
        		UrlConn.setAllowUserInteraction(false);
        		//envoyer des params
        		UrlConn.setDoOutput(true);
     
        		//poster les params
        		PrintWriter ParamWriter = new PrintWriter(UrlConn.getOutputStream());
     
        		ParamWriter.print(a_sParamsToPost);
        		//fermer le post avant de lire le resultat ... logique
        		ParamWriter.flush();
        		ParamWriter.close();
     
        		//Lire la reponse
        		InputStream  Response = UrlConn.getInputStream();
        		BufferedReader BufReader = new BufferedReader(new InputStreamReader(Response));
        		String sLine;
     
        		while ((sLine = BufReader.readLine()) != null)
        		{
        		Sb.append(sLine+"\n\r");
        		Sb.append(sLineSep);
    		    //System.out.println(Sb);
        		}
        		//deconnection
        		UrlConn.disconnect();
        	}
        	catch(ConnectException ctx)
        	{
        		//Log.fatal(this, "Connection lost : server may be down");
        		ctx.printStackTrace();
        	}
        	catch (Exception e)
        	{
        		//Log.error(this,"postURL : "+e.getMessage());
        		e.printStackTrace();
        	}
     
        	//Log.debug(this, "retour url="+o_oSb.toString());
        	return Sb.toString();
        }
    }
    merci de m'aider a comprendre l'erreur

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Voici un lien qui explique tout:

    http://mobilerie.blogspot.fr/2012/02...-json-php.html

    Vivien

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    Merci je vais essayer ce tuto

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    j'ai essayé ce tuto et ca marche maisje veux utiliser un listeview j'ai changé le code mais il ya des exception
    code java
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    package com.work;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.HashMap;
     
    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.Activity;
    import android.app.ListActivity;
    import android.net.ParseException;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    import android.widget.Toast;//
     
    public class ReturndATAActivity extends Activity{
        /** Called when the activity is first created. */
    	 private ListView listview;
    	 @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
     
    	        listview=(ListView) this.findViewById(R.id.listView1);
    	        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>();
    	     ArrayList<HashMap<String, String>> donnees = new ArrayList<HashMap<String, String>>();
     
    	     try{
    	     //commandes httpClient
    	     HttpClient httpclient = new DefaultHttpClient();
    	        HttpPost httppost = new HttpPost("http://10.0.2.2/PFA/lecture.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);
    	             ///   json_data.getString("contenue"));
    	               //    donnees.add(json_data.getString("title"));
    	                   HashMap<String, String> map;
     
     
    	       	        map = new HashMap<String, String>();
     
    	       	        map.put("titre", json_data.getString("contenue"));
     
    	       	        map.put("description",  json_data.getString("title"));
     
     
    	       	        donnees.add(map);
     
     
    	               }
    	           //    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, donnees));
     
    	             SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(), donnees, R.layout.affichageitem,
    	  	               new String[] { "titre", "description"}, new int[] { R.id.titre, R.id.description});
     
    	  	        //On attribut Ã* notre listView l'adapter que l'on vient de créer
    	  	       listview.setAdapter(mSchedule);
     
     
     
    	 }
     
     
    	            catch(JSONException e){
    	             Log.i("tagjsonexp",""+e.toString());
    	            } catch (ParseException e) {
    	             Log.i("tagjsonpars",""+e.toString());
    	       }
     
    	    }
    }
    code affichageitem
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
     
     
     
    	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	    android:orientation="vertical"
    	    android:layout_width="fill_parent"
    	    android:layout_height="wrap_content"
    	   	android:layout_gravity="center_vertical"
    	   	android:paddingLeft="10px"
    	    android:layout_weight="1"
    	    >
     
    	    <TextView android:id="@+id/titre"
    	         android:layout_width="fill_parent"
    	         android:layout_height="fill_parent"
    	         android:textSize="18px"
    	         android:textStyle="bold"
     
    	         />
     
    	    <TextView android:id="@+id/description"
    	         android:layout_width="fill_parent"
    	         android:layout_height="fill_parent"
    	         />
     
        </LinearLayout>
     
    </LinearLayout>
    code php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    // on se connecte à notre base  pour recuperer les data
    $base = mysql_connect ('localhost', 'root', '');  
    mysql_select_db ('basemusee', $base) ;  
    $req =mysql_query("SELECT * from actualites");
    while ($row=mysql_fetch_array($req))
    {    
        $output[]=$row;    
    } 
    //on encode en JSON 
    print(json_encode($output));
    //mysql_free_result ($req);  
     
    ?>

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    Bonjour,
    je ne vois pas dans le fichier xml la déclaration de ListViiew.
    tu dois déclarer ListView puis dans une autre fichier xml tu dois déclarer le contenu de listview comme exemple (text view et image ) c'est l'inflater.
    Puis lorsque tu recupère tes données tu le passe à un adapter qui va remplir ta ListView
    voilà un exemple http://www.vogella.com/articles/Andr...w/article.html

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 182
    Points : 53
    Points
    53
    Par défaut
    Bonjour,
    merci pour le tuto
    voici main.xml
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
     
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello" />
     
        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
     
    </LinearLayout>
    affichageitem.xml définie le contenue de listview (textviex,textview)
    et j'ai ajouter un array adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(), donnees, R.layout.affichageitem,
    	  	               new String[] { "titre", "description"}, new int[] { R.id.titre, R.id.description});
     
     
    	  	       listview.setAdapter(mSchedule);
    mais ça marche pas

  7. #7
    Inactif
    Homme Profil pro
    Marchand de glace
    Inscrit en
    Mai 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Marchand de glace
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2012
    Messages : 88
    Points : 101
    Points
    101
    Par défaut
    Bonjour,

    Avant de vouloir afficher les données dans une ListView, Es tu sur d'avoir récupéré correctement les données que renvoie ton script php ? Peut tu nous montrer les erreurs (les Exceptions dont tu parles)

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2008
    Messages : 176
    Points : 106
    Points
    106
    Par défaut
    Hello

    Une petite structuration de ton code est nécessaire (c’est juste petite remarque est un avis personnel )
    • Création d’un package pour les activités
    • Création d’un package pour tes modèles
    • Création d’un package pour la récupération des données
    • Création d’un package pour description des adapter


    1) description des vues
    Il y a deux vus une qui concerne l’écran d’accueil avec une liste (de musée) et une autre qui décrira la vue d’un seul musée
    main.xml (écran d’accueil)
    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
     
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
     
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello" />
     
        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
     
    </LinearLayout>

    musee_layout.xml (écran contenant unmusée « nom + description » )
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
       android:id="@+id/LL_Musee" 
       android:background="#E6E8FA"
       android:orientation="vertical"
       android:paddingBottom="15dp"
       android:paddingTop="15dp"
       android:paddingLeft="5dp"
       android:paddingRight="5dp">
     
        <TextView 
            android:textColor="#6082B6"
            android:textSize="17dp"
            android:id="@+id/museeName"
    		android:layout_width="wrap_content" 
    		android:layout_height="wrap_content">
    		</TextView>
     
    	<TextView 
    	    android:textColor="#000000"
    	    android:id="@+id/museeDescription"
     
    		android:layout_width="wrap_content" 
    		android:layout_height="wrap_content">
    		</TextView>
     
    </LinearLayout>


    2) description du model musee + museeAdapter

    Le model musee

    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
     
    package com.cool.model;
    import java.util.ArrayList;
    import java.util.List;
     
     
    public class Musee {
     
    	public String museeName ;
    	public String museeDescription ;
     
    	public Musee(String museeName,String museeDescription){
    		this.museeName  	  = museeName ;
    		this.museeDescription    	  = museeDescription ;
    	}

    la description de l'adaptateur d'un musee
    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
    94
    95
    96
    97
    98
     
    package com.cool.adapter;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.LinearLayout;
    import android.widget.TextView;
     
    import com.cool.R;
    import com.cool.model.Musee;
     
     
     
    public class MuseeAdapter extends BaseAdapter {
     
    	private List<Musee>mListMusee ;
    	private Context mContext ;
    	private LayoutInflater mInflater ;
    	private ArrayList<MuseeAdapterListener> mListListener = new ArrayList<MuseeAdapterListener>();
     
    	public interface MuseeAdapterListener {
    		public void onClickMusee(Musee item,int position);
    	}
     
     
     
    	public MuseeAdapter(Context mContext,List<Musee>mListMusee){
    		this.mContext = mContext ;
    		this.mListMusee= mListMusee;
    		this.mInflater=LayoutInflater.from(mContext);
    	}
     
    	public void addListener(MuseeAdapterListener aListener) {
    	    mListListener.add(aListener);
    	}
     
     
    	@Override
    	public int getCount() {
    		return mListMusee.size();
    	}
     
    	@Override
    	public Object getItem(int position) {
    		return mListMusee.get(position);
    	}
     
    	@Override
    	public long getItemId(int position) {
    		return position;
    	}
     
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent) {
    		LinearLayout layoutItem;
     
    		if (convertView == null) {
    			  	layoutItem = (LinearLayout) mInflater.inflate(R.layout.musee_layout, parent, false);
    		 }else{
    			 layoutItem = (LinearLayout) convertView ;
    		 }
     
    		TextView tvMuseeName=(TextView) layoutItem.findViewById(R.id.museeName);
    		TextView tvMuseeDescription = (TextView)layoutItem.findViewById(R.id.museeDescription);
     
    		tvMuseeName.setText(mListMusee.get(position).museeName);
    		tvMuseeName.setTag(position);
    		tvMuseeName.setOnClickListener(new OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				Integer position = (Integer) v.getTag();
    				sendListener(mListMusee.get(position), position);
    			}
    		});
     
     
    		tvMuseeDescription.setText(mListMusee.get(position).museeDescription);
     
    		return layoutItem;
    	}
     
     
    	private void sendListener(Musee item, int position) {
    	    for(int i = mListListener.size()-1; i >= 0; i--) {
    	    	mListListener.get(i).onClickMusee(item, position);
    	    }
    	}
     
     
    }

    3) récupération de tes données

    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
     
     package com.cool.service;
     
    …….
     
    public class MuseeService {
     
    public ArrayList<Musee> getMusees(){
    				ArrayList<Musee> musees = new ArrayList<Musee>() ;
    		try {
    		//TON CODE POUR ANNALYSER TON RETOUR JSON
                    //ET REMPLIR TA LISTE DE MUSEES
     
              } catch (Exception e) {
    			e.printStackTrace();
    		}	 
     
     
    		return musees ;
    	}
    }

    4) : Activité principale (execution ecran d’attente -> connexion internet et récupération données -> chargement de la liste des musees )

    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
    public class MuseeAndroidActivity extends Activity implements MuseeAdapterListener {
     
     
    	private MuseeService museeService = new MuseeService() ;
    	private ArrayList<Musee>listMusee ;
    	private ListView list ;
    	private MuseeAdapter museeAdapter ;
    	private Context context ;
    	private Intent intent  ;
    	private ProgressDialog progress ;
    	private final Handler handler = new Handler(){
    		public void handleMessage(final Message msg){
    			progress.dismiss();
    			list.setAdapter(museeAdapter);
    		}
    	};
     
    	@Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            list = (ListView)findViewById(R.id.listView1);
        }
     
    	@Override
    	protected void onStart(){
    		super.onStart();
    		progress = ProgressDialog.show(this, "Musee", "Chargement des musees...",true);
    		context = getApplicationContext();
    		new Thread(){
    			public void run(){
    				listMusee = museeService.getMusees();
    		     	if(listMusee!=null){
    					museeAdapter = new MuseeAdapter(context, listMusee);
    					museeAdapter.addListener(MuseeAndroidActivity.this);
    		        	handler.sendEmptyMessage(0);
    		        }
    			}
    		}.start();
     
    	}
     
    	@Override
    	public void onClickMusee(Musee item, int position) {
    		//Par exemple plus de detail sur un musee, rating,…etc  
    	}

    et puis la chose a ajouter ...la permission de connexion à internet dans le manifest
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.INTERNET" />

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Besoin d'aide
    j'ai suivi ce tuto http://mobilerie.blogspot.com/2012/0...-json-php.html
    mais ça ne marche quand je compile j'ai unfurtenately l'application stopped.
    j'utilise easyphp comme base de donnees

    voici mon fichier php:
    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
    <?php
     
    //include('connexion.php');
    $base= mysql_connect('localhost', 'root','');
    mysql_select_db('chantier',$base);
    $req= mysql_query("SELECT libelle FROM taches");
     
        while ($row = mysql_fetch_array($req))
         { 
           $output[] = $row;
    	   }
    	   print(json_encode($output));
    	   mysql_free_result($req);
     
     
    ?>
    voici mon code android:

    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
    package com.example.pfe;
    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 Lister_taches extends ListActivity{
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		//setContentView(R.layout.lister_produit);
    		String result= null;
    		InputStream is= null;
    		JSONObject json_data= null;
    		ArrayList<NameValuePair> nameValuePairs= new ArrayList<NameValuePair>();
    		ArrayList<String> donnees= new ArrayList<String>();
     
    		try{
    			HttpClient httpclient= new DefaultHttpClient();
    		HttpPost httppost= new HttpPost("http://10.0.2.2/Lister_taches.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();
    		}
     
    		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());
    		}
     
    		try{
    			JSONArray jarray= new JSONArray(result);
    			for(int i=0; i<jarray.length();i++)
    			{
    				json_data= jarray.getJSONObject(i);
    				donnees.add(json_data.getString("libelle"));
     
    			}
    			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());
    		}
    	}
    }


    Voici ce que j'ai au niveau du log:



    05-10 09:41:42.447: E/Trace(828): error opening trace file: No such file or directory (2)
    05-10 09:56:01.057: E/AndroidRuntime(828): FATAL EXCEPTION: main
    05-10 09:56:01.057: E/AndroidRuntime(828): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.pfe/com.example.pfe.Lister_taches}: java.lang.NullPointerException
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.ActivityThread.access$600(ActivityThread.java:141)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.os.Handler.dispatchMessage(Handler.java:99)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.os.Looper.loop(Looper.java:137)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.ActivityThread.main(ActivityThread.java:5039)
    05-10 09:56:01.057: E/AndroidRuntime(828): at java.lang.reflect.Method.invokeNative(Native Method)
    05-10 09:56:01.057: E/AndroidRuntime(828): at java.lang.reflect.Method.invoke(Method.java:511)
    05-10 09:56:01.057: E/AndroidRuntime(828): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    05-10 09:56:01.057: E/AndroidRuntime(828): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    05-10 09:56:01.057: E/AndroidRuntime(828): at dalvik.system.NativeStart.main(Native Method)
    05-10 09:56:01.057: E/AndroidRuntime(828): Caused by: java.lang.NullPointerException
    05-10 09:56:01.057: E/AndroidRuntime(828): at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
    05-10 09:56:01.057: E/AndroidRuntime(828): at org.json.JSONTokener.nextValue(JSONTokener.java:94)
    05-10 09:56:01.057: E/AndroidRuntime(828): at org.json.JSONArray.<init>(JSONArray.java:87)
    05-10 09:56:01.057: E/AndroidRuntime(828): at org.json.JSONArray.<init>(JSONArray.java:103)
    05-10 09:56:01.057: E/AndroidRuntime(828): at com.example.pfe.Lister_taches.onCreate(Lister_taches.java:66)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.Activity.performCreate(Activity.java:5104)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    05-10 09:56:01.057: E/AndroidRuntime(828): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    05-10 09:56:01.057: E/AndroidRuntime(828): ... 11 more

  10. #10
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Il y a quoi a cette ligne ? (66)
    com.example.pfe.Lister_taches.onCreate(Lister_taches.java:66)
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. [MySQL] récupérer les donnes d'une session pour afficher la table?
    Par keokaz dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/01/2010, 20h53
  2. Réponses: 2
    Dernier message: 16/01/2010, 11h52
  3. alivepdf récupérer données non-affichées
    Par papy_taupe dans le forum Flex
    Réponses: 8
    Dernier message: 02/04/2009, 14h20
  4. [MySQL] Récupérer des données de MySQL et les envoyer dans un PDF
    Par cdevl32 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 16/03/2009, 20h53
  5. [FPDF] récupérer données mysql et insérer dans une facture pdf préfaite
    Par faucon54 dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 08/05/2007, 16h44

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