Problém s HttpClient v Androidu – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém s HttpClient v Androidu – Java – Fórum – Programujte.comProblém s HttpClient v Androidu – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
hejnallukas0
Návštěvník
11. 5. 2013   #1
-
0
-

Zdravím,
snažím se napsat program, který by mi stáhnul data z internetu, ale nefunguje.

public String getInternetData() throws Exception{
  BufferedReader in = null;
  String data = null;
 
  try{
   HttpClient client = new DefaultHttpClient();
   URI website = new URI("http://www.google.com");
   HttpGet request = new HttpGet();
   request.setURI(website);
   HttpResponse response = client.execute(request);  
   in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
   StringBuffer sb = new StringBuffer("");
   String  l = "";
   String nl = System.getProperty("line.separator");
   while((l = in.readLine()) != null){
    sb.append(l + nl);
   }
  
   in.close();
  
   data = sb.toString();
   return data;
  
  }
  finally{
   if(in != null){
    try{
     in.close();
     return data;
    }catch(IOException e){
     e.printStackTrace();
    }
   }
   else{
   
   }
  }
}

Nevím proč, ale myslím si, že chyba je někde v  

response = client.execute(request);

Neví si s tím někdo rady, dík za pomoc

Nahlásit jako SPAM
IP: 88.101.192.–
Řešení
Thew0
Newbie
12. 5. 2013   #2
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

Ahoj, máš v manifeste povolenie na internet?

<uses-permission android:name="android.permission.INTERNET" />

A taktiež, Http requesty sa neposielajú v hlavnom vlákne aplikácie, ale na pozadí, čiže musíš to spustiť z iného vlákna na pozadí. Príklad:

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  new DownloadTask().execute("http://google.sk");
}

private class DownloadTask extends AsyncTask<String, Void, String> {
  @Override
  protected String doInBackground(String... params) {
    try {
      HttpClient client = new DefaultHttpClient();
      HttpGet req = new HttpGet(params[0]);
      HttpResponse res = client.execute(req);
      BufferedReader reader = new BufferedReader(
        new InputStreamReader(res.getEntity().getContent()));
      try {
        StringBuilder result = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
          result.append(line);
          result.append('\n');
        }
        return result.toString();
      }
      finally {
        reader.close();
      }
    }
    catch (Exception e) {
      return null;
    }
  }
  
  @Override
  protected void onPostExecute(String result) {
    ((TextView)findViewById(R.id.textView1)).setText(result);
  }
}
Nahlásit jako SPAM
IP: 195.168.209.–
Get off the cross, we need the wood
hejnallukas0
Návštěvník
12. 5. 2013   #3
-
0
-

#2 Thew
Jo díky už to funguje

Nahlásit jako SPAM
IP: 88.101.192.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 29 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý