2011-06-17 3 views
0

Je suis en train d'écrire une application où l'utilisateur entre les informations de chanson qui seront ensuite affichées sur un site Web. J'essaye de faire fonctionner cette requête HttpGet. Je n'ai vraiment pas besoin du serveur pour retourner des informations. J'ai juste besoin de l'information pour stocker dans la base de données MySQL. Du côté php des choses, j'utilise $ _GET pour tirer l'information. Est-ce que j'approche cela de la mauvaise façon? Voici mon code android:Android HttpGet demande d'insertion de base de données Web

public void executeHttpGet() throws Exception{ 
    BufferedReader in = null; 
    try { 
     HttpClient client = new DefaultHttpClient(); 
     HttpGet request = new HttpGet(
       "http://localhost:8888/?title=hello&artist=horray"); 
     HttpResponse response = client.execute(request); 
     in = new BufferedReader 
     (new InputStreamReader(response.getEntity().getContent())); 
     StringBuffer sb = new StringBuffer(""); 
     String line = ""; 
     String NL = System.getProperty("line.separator"); 
     while ((line = in.readLine()) != null) { 
      sb.append(line + NL); 
     } 
     in.close(); 
     String page = sb.toString(); 
     System.out.println(page); 
     } finally { 
     if (in != null) { 
      try { 
       in.close(); 
       } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
} 

Répondre

1

Vous devriez vraiment utiliser POST pour cela au lieu de GET. Vous devrez changer votre PHP, mais puisque vous insérez des données dans la base de données, vous ne devriez pas utiliser un GET. C'est exactement ce que POST est pour. En outre, "localhost" ne fonctionnera pas, car lorsque vous exécutez l'émulateur, "localhost" signifie le téléphone. Sur l'émulateur "10.0.2.2" signifie votre ordinateur. Donc je suppose que c'est celui que vous voulez utiliser.

HttpClient httpClient = new DefaultHttpClient(); 
HttpPost httpPost = new HttpPost("10.0.2.2:8888"); 

try { 
    List<NameValuePair> params = new ArrayList<NameValuePair>(); 
    params.add(new BasicNameValuePair("title", "hello")); 
    params.add(new BasicNameValuePair("artist", "horray")); 
    httpPost.setEntity(new UrlEncodedFormEntity(params)); 

    httpClient.execute(httpPost); 
    Log.i("posting", "Saved to server"); 
} catch (Exception e) { 
    Log.e("posting", e.getMessage()); 
} 

Espérons que ça aide!