Requête HTTP vers une page distante
bonjour a tous,
voilaj je creer une appli et debute dans la prog java, je cherche a me connectez a une page php situé sur un serveur pour recuperer des donnees mais je n y arrive pas je vous met le script java que j ai coder et qui ne marche pas il va bien sur la page mais il me met toujours le catch{ ERREUR DE CHARGEMENT}
je precise j ai bien mis dans le manifeste.xml de l appli l'"autorisation INTERNET.
le code :
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
|
package com.example.appli;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreProtocolPNames;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
public class Produits extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.produits);
String ua = "Mozilla/5.0 (Linux; U; Android 1.0; en-us; generic) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2";
System.setProperty("http.keepAlive", "false");
HttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet("http://www.google.com");
get.setHeader("User-Agent", ua);
try {
HttpResponse response = httpClient.execute(get);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String text = "";
String line = "";
while ((line = reader.readLine()) != null){
text += line;
}
TextView tonEdit = (TextView)findViewById(R.id.test);
tonEdit.setText("finalResult :" + text.toString());
reader.close();
}catch (IOException e) {
Toast.makeText(Produits.this,"ERREUR DE CHARGEMENT",Toast.LENGTH_SHORT).show();
}catch (Exception e) {
Toast.makeText(Produits.this,"ERREUR DE CHARGEMENT",Toast.LENGTH_SHORT).show();
}
}
} |
merci d avance pour votre aide car ca fait 2 jours que je n arrive pas a trouver la solution...
rere je te remerci pour ton aide :)
j ai trouver ce qu il faut je pense tu n a pas repondu peut etre est tu occuper je n est pas mis de loader c voulu enfin j aimerai en mettre un en popup natif mais j i travail mais j ai trouver la fonction que tu ma dit,
parcontre elle ne m affiche rien donc ca vient de la fonction elle meme au nivo de la requete serveur je te met le code en esperant que tu pourras m aider merci d avance
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 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
package com.example.bashop2;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
import android.content.Intent;
public class Produits extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.produits);
//////// AsyncTask ////////
maFonction faire=new maFonction();
faire.execute();
///gestion bouton retour produits
Button btn4 = (Button) findViewById(R.id.produits_retour);
btn4.setOnClickListener( new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(Produits.this, MainActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.fade, R.anim.animation);
}
});
}
private class maFonction extends AsyncTask<Void, Integer, Void>
{
@Override
protected void onPreExecute() {
String ua = "Mozilla/5.0 (Linux; U; Android 1.0; en-us; generic) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2";
System.setProperty("http.keepAlive", "false");
HttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet("http://www.google.com");
get.setHeader("User-Agent", ua);
try {
HttpResponse response = httpClient.execute(get);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String text = "";
String line = "";
while ((line = reader.readLine()) != null){
text += line;
}
TextView tonEdit = (TextView)findViewById(R.id.test);
tonEdit.setText("finalResult :" + text.toString());
reader.close();
}catch (Exception e) {
}
}
@Override
protected void onProgressUpdate(Integer... values){
}
@Override
protected Void doInBackground(Void... arg0) {
int progress;
for (progress=0;progress<=100;progress++)
{
for (int i=0; i<1000000; i++){}
//la méthode publishProgress met à jour l'interface en invoquant la méthode onProgressUpdate
publishProgress(progress);
progress++;
}
return null;
}
@Override
protected void onPostExecute(Void result) {
}
}
} |