Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
filmer
Člen
Avatar
filmer:12.9.2014 16:13

Čaute,
neviem, či to sem môže isť ale je to v podstate Java :D

Mám taký problém, chcem App na Android a to,že z internetu mi bude "sťahovať" data a tie mi ukáže na mobile/tablete.

Našiel som niečo takéto:

import java.net.;
import java.io.
;

public class URLReader {
public static void main(String[] args) throws Exception {

URL oracle = new URL("http://ww­w.oracle.com/");
BufferedReader in = new BufferedReader(
new InputStreamRe­ader(oracle.o­penStream()));

String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.prin­tln(inputLine);
in.close();
}
}

Je to čisto Java app, ktorá funguje do Console mi vypíše celý HTML kód,no ja by som potreboval len určitú časť a vypísať napr. do TextView v Android App.
PLS poraďte ide to ?? A ešte pls majte strpenie s Javou začínam :D :D

Editováno 12.9.2014 16:14
 
Odpovědět
12.9.2014 16:13
Avatar
Odpovídá na filmer
Michal Žůrek - misaz:12.9.2014 16:26

1.) jde to, musíš vědět co v tom hledáš a púak to z toho stringu dostat. Můžeš použít regulérní výrazy, substring, ...
2.) nauč se používat funkci vložit zdrojový kód (viz. obr)

 
Nahoru Odpovědět
12.9.2014 16:26
Avatar
filmer
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
filmer:12.9.2014 17:52

Ok našiel som nejaký kód, konkrétne:

public class Bot {

    public static void main(String[] args) throws IOException {

        BufferedReader buff;
        InputStreamReader inStream;
        String htmlCode = null;
        try{
            URL url = new URL("http://rads.stackoverflow.com/amzn/click/473246031");
            URLConnection urlConnection = (URLConnection)url.openConnection();



            inStream = new InputStreamReader(urlConnection.getInputStream());
            buff = new BufferedReader(inStream);

            while(true){
                if (buff.readLine()!=null){
                    htmlCode += buff.readLine() + "\n";
                }else{
                    break;
                }
            }

            int startFrom = htmlCode.indexOf("<div class=\"zg_rank\">");
            int endFrom = htmlCode.indexOf("</div>");

            String idNumber = htmlCode.substring(startFrom, endFrom);

            System.out.println(idNumber);
        }catch(Exception e){};

    }

}

jediná chýba je že keď dám napr.:

int startFrom = htmlCode.indexOf("<title>");
            int endFrom = htmlCode.indexOf("</title>", startFrom);

Tak toto idem až na to,že mi tam píše <title>[a Text].
No keď chcem vložiť len <div> s class, čo sa používa skoro všade tak to nejde :( (keď dám napr. <div class="nieco"><*b> a koniec <*/b></div>, tak ide)
napr.:

int startFrom = htmlCode.indexOf("<div class=\"uvod\">");
            int endFrom = htmlCode.indexOf("</div>", startFrom);

Tak potom mi tam nič nevypíše.

Síce z časti ale stále to ide len čisto cez Java a nie Android ale šak bolo písané, že to ide spustiť aj na Android (možno s malimi upravami).

Editováno 12.9.2014 17:53
 
Nahoru Odpovědět
12.9.2014 17:52
Avatar
filmer
Člen
Avatar
filmer:13.9.2014 15:39

PLS viete poradiť ???

 
Nahoru Odpovědět
13.9.2014 15:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.