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 :

Pas de récupération de données d'un serveur distant


Sujet :

API standards et tierces Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 53
    Par défaut Pas de récupération de données d'un serveur distant
    Bonjour;

    Je cherche à implémenter des markers de plusieurs localisations (dont les latitude et longitudes sont récupérée à partir d'un parseur Json).

    Lorsque j'ai essayé ce code en local ça a marché..mais lorsque j'ai hébergé ma base et mes web services (qui fonctionnent bien même à distance) chez un hébergeur distant ...l'application ne m'affiche plus les localisation vu qu'elle n'est pas entrain de récupérer les données (elle m'affiche pas de magasins)
    voici ce code :
    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
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
     
    		  execute_web_service();
    		 			//get_liste_gares();
     
     
    		 	 }
     
    		 	public void execute_web_service() {
    		 		progressd = ProgressDialog.show(carte_activity.this, "", "Chargement...", true,
    		 				false);
    		 		progressd.setCancelable(true);
    		 		Thread thread = new Thread(carte_activity.this);
     
    		 		thread.start();
     
    		 	} 
     
    		 	@SuppressLint("HandlerLeak")
    			public void run() {
    		 		try
    		 		{
    		 		get_liste_magasins();
    		 		handler.sendEmptyMessage(0);
    		 		}
    		 		catch (Exception e)
    		 		{
    		 			 Intent i=new Intent(carte_activity.this,Main.class);
    		 			 i.putExtra("erreur","PAS DE MAGASINS DISPONILBES");
    		 			 startActivity(i);
    		 		}
    		 	}
    		 	private Handler handler = new Handler() {
    		 		@Override
    		 		public void handleMessage(Message msg) {
    		 			progressd.dismiss();
    		 			afficher_liste_magasins();
     
    		 		}
    		 	};
     
     
     
    		 	private List<magasin> results;	
     
    		 	private InputStream retrieveStream(String url) {
     
    		    	DefaultHttpClient client = new DefaultHttpClient(); 
     
    		        HttpGet getRequest = new HttpGet(url);
     
    		        try {
     
    		           HttpResponse getResponse = client.execute(getRequest);
    		           final int statusCode = getResponse.getStatusLine().getStatusCode();
     
    		           if (statusCode != HttpStatus.SC_OK) { 
    		              Log.w(getClass().getSimpleName(), "Error " + statusCode + " for URL " + url); 
    		              return null;
    		           }
     
    		           HttpEntity getResponseEntity = getResponse.getEntity();
    		           return getResponseEntity.getContent();
     
    		        } 
    		        catch (IOException e) {
    		           getRequest.abort();
    		           Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
    		        }
     
    		        return null;
     
    		     }
    		 	 private static String convertStreamToString(InputStream is) {
    				    /*
    				     * To convert the InputStream to String we use the BufferedReader.readLine()
    				     * method. We iterate until the BufferedReader return null which means
    				     * there's no more data to read. Each line will appended to a StringBuilder
    				     * and returned as String.
    				     */
    				    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    				    StringBuilder sb = new StringBuilder();
     
    				    String line = null;
    				    try {
    				        while ((line = reader.readLine()) != null) {
    				            sb.append(line + "\n");
    				        }
    				    } catch (IOException e) {
    				        e.printStackTrace();
    				    } finally {
    				        try {
    				            is.close();
    				        } catch (IOException e) {
    				            e.printStackTrace();
    				        }
    				    }
    				    return sb.toString();
    				}
    		     public void get_liste_magasins(){  
    		    	// String url="http://10.0.2.2:8888/get_list_magasins.php";
    		    String url="http://mercure.comze.com/mercure/get_list_magasin.php";
    		    	 Log.i("results magasins", "01");
    		    	InputStream source = retrieveStream(url);
    		    	String src = convertStreamToString(source);
    		    	 Log.i("results magasins", "02");
    		        Gson gson = new Gson();
    		      //  Reader reader = new InputStreamReader(source);
    		        List_magasins response = null;
    		        try{
    		         response= gson.fromJson(src,
    		        List_magasins.class);
    		        }
    		        catch (Exception e) {
    		        // TODO: handle exception
    				}
    		        Log.i("results excption BOOOOOOOOOOOOOOF!!!!!!", "03");
     
     
    		        if(response !=null)
    		        {
    		        	 Log.i("results magasins", "04");
    		        	 results = response.magasins;
    		        	 Log.i("results magasins", "05");
    		        }
     
     
    		        Log.i("results magasins", ""+results.size()); 
    		       // afficher_liste_gares();
     
     
    		    }
    		         //
    		     public void afficher_liste_magasins(){
     
    		     	if(results!=null && results.size() > 0)
    		 		{
     
    		     		for(int i=0; i<results.size(); i++)
    		     		{
     
     
    		     		magasin g=results.get(i);
    		     			double latg=Double.parseDouble(g.latitude);
    		     			double longg=Double.parseDouble(g.longitude);
    		     			final LatLng local = new LatLng(latg,longg);
    		     			Marker locations = googleMap.addMarker(new MarkerOptions()
                            .position(local)
                            .title(g.nom)
                            .snippet(g.ville)
                            .icon(BitmapDescriptorFactory.fromResource(R.drawable.gps)));
    CameraUpdate center=
          CameraUpdateFactory.newLatLng(new LatLng(latitude,longitude));
      CameraUpdate zoom=CameraUpdateFactory.zoomTo(5);
     
      googleMap.moveCamera(center);
      googleMap.animateCamera(zoom);
     
     
     
     
    		     		}
     
    		     	}
    Qui peut m'aider pour trouver une solution? Merci d'avance.

  2. #2
    Expert confirmé

    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
    Par défaut
    Bonjour,

    Sur la doc officielle tu as des exemples :
    https://developers.google.com/maps/d...d/marker?hl=fr

Discussions similaires

  1. [MySQL] pas de récupération des donnés d'un formulaire
    Par hiba_info dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/03/2010, 12h37
  2. Réponses: 33
    Dernier message: 20/08/2008, 14h38
  3. Echange de données avec un serveur distant
    Par neo.51 dans le forum Windows Mobile
    Réponses: 3
    Dernier message: 28/01/2008, 10h18
  4. Réponses: 3
    Dernier message: 21/11/2006, 17h59
  5. [Mysql] transfert données ajoutées vers serveur distant
    Par hanane28 dans le forum Administration
    Réponses: 3
    Dernier message: 20/11/2005, 19h06

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