Utilisation de HttpClient ?
Bonjour,
Je fait mes premiers pas sur Android et j'ai besoin de récupérer un contenu http dans mon appli.
J'ai utilisé le code suivant (j'ai fait une application minimaliste pour tester) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient .execute(new HttpGet("http://www.google.com"));
TextView tv = new TextView(this);
tv.setText(response.getStatusLine().getStatusCode());
setContentView(tv);
} catch (IOException e) {
TextView exception = new TextView(this);
exception.setText(e.getMessage() + " "
+ e.getClass().getName());
setContentView(exeception);
Log.e("MyActivity", "pb de connexion !", e);
} |
J'ai également ajouté la permission <uses-permission android:name="android.permission.INTERNET" /> pour avoir accés à internet !
J'obtiens tout le temps une UnknownHostException, sur l'émulateur (cependant le navigateur de l'émulateur arrive à naviguer sur internet !)...
L'application se vautre sur un vrai ordiphone !
Comment récupérer le contenu d'une url ? :calim2:
++
Impossible de se connecter au script distant...
Bonjour,
Je suis débutant en programmation Android. Avant de poster ce message, je me suis vraiment casser la tête (recherche sur forums divers)... et finalement je n'arrive pas à solutionner mon problème !
J'essaie de me connecter sur un script php pour récupérer des données de ma table mysql. Sur le navigateur de l'ordinateur, aucun soucis, le script affiche bien ce que j'attends de lui. Par contre, je n'ai aucune connexion depuis mon projet : après maintes tentatives, j'ai compris que je ne dois pas utilisé le Thread UI, alors je me suis tourné vers le service. Rien n'y fait... :mur: :arf:
Voici mon code :
>> MainActivity.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
|
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button txt = null;
ServiceConnexionSite cnx = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (Button)findViewById(R.id.txt);
txt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startService(new Intent(MainActivity.this, ServiceConnexionSite.class));
}
});
}
} |
>> ServiceConnexionSite.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
|
import java.util.ArrayList;
import java.util.List;
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.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
public class ServiceConnexionSite extends Service {
private HttpClient client = null;
private HttpPost httppost = null;
private List<NameValuePair> pairs = null;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
client = new DefaultHttpClient();
httppost = new HttpPost("http://www.mondomaine.fr/monscript.php");
pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("key", "value"));
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
try {
httppost.setEntity(new UrlEncodedFormEntity(pairs));
HttpResponse reponse = client.execute(httppost);
Toast.makeText(this, "Connexion réussie", Toast.LENGTH_SHORT).show();
} catch(Exception e) {
Toast.makeText(this, "Connexion non établie", Toast.LENGTH_SHORT).show();
e.getMessage();
}
return super.onStartCommand(intent, flags, startId);
}
} |
:alerte: : ici, je ne traite aucune donnée ; la seule question qui me préoccupe est de savoir pourquoi la connexion ne se fait pas ? Qu'est-ce qui cloche dans mon code, qui ne me permet pas d'accéder à mon script ? :koi:
Merci d'avance !
Mickael