Problème graphique + Base de données
Bonjour,
Je suis en train de faire une application Android de géolocalisation.
Mes données (latitude, longitude, ...) sont dans une base de données MySQL et là je suis teste en local avant de l'héberger.
Problème: Le graphique + récupération base de données
Voici L'interface que je veux avoir ( photo faite avec Paint ) :
http://data.imagup.com/10/1157701962.jpg
Mais pour le moment je suis arrivé à faire cette interface qui ne marche pas vraiment car elle affiche que la première valeur de la latitude et longitude.
http://data.imagup.com/10/1157702583.jpg
Voici le Code PHP:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?php
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('trackeur', $base) ;
$p=0;
$req = mysql_query("select * from clients WHERE username = 'roger'");
while($dnn = mysql_fetch_array($req))
{
$v="A";
$IMEI = $dnn['IMEI'];
$req1 = mysql_query("select * from data WHERE IMEI = '$IMEI' AND GPSF='$v' ORDER BY id DESC LIMIT 1");
while($row = mysql_fetch_array($req1))
{
$output[]=$row;
}
//on encode en JSON
print(json_encode($output));
mysql_free_result ($req1);
}
?> |
Et voici le Code Java
Code:
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
| package com.exemple.ville;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
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.location.Address;
import android.location.Geocoder;
import android.net.ParseException;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class ville 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>();
ArrayList<String> r = new ArrayList<String>();
try{
//commandes httpClient
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/member.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);
double a=Double.valueOf(json_data.getString("Longitude")).doubleValue();
a=a/100;
String longitude=String.valueOf(a);
donnees.add(longitude);
double b=Double.valueOf(json_data.getString("Latitude")).doubleValue();
b=b/100;
String latitude=String.valueOf(b);
donnees.add(latitude);
//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());
}
}
} |
Quelqu'un saurait-il m'indiquer comment procéder ?
Merci d'avance pour votre aide.