Mediawiki revisited

Po ostatnich problemach z aplikacją pobierającą dane ze strony Wikipedii, postanowiłam zrobić krok wstecz (a może po prostu zatrzymać się na chwilkę) i odpowiedzieć sobie na dwa sami-wiecie-jak ważne pytania:

  1. Co ja w zasadzie chcę teraz zrobić?
  2. Jak mogę to zrobić w Androidzie?

Ad. 1. Niby pisałam w ostatnim poście: chcę pobrać na razie cokolwiek ze strony Wikipedii, ale robiąc aplikację trochę zachłannie rzuciłam się na napisaną w Javie bibliotekę jwbf do korzystania z Mediawiki API. Pojawiły się jakieś problemy z importem, a rozwiązanie:

  1. zgoogluj komunikat błędu z nazwą biblioteki i nazwą Android Studio,
  2. wejdź na odpowiednią stronę Stack Overflow
  3. porób ctrl-c, ctrl-v rozwiązań z odpowiedziami o znaczeniu zbliżonym do thanks, it’s worked for me

u mnie nie zadziałało. A przecież chcę pobrać na razie cokolwiek ze strony Wikipedii.  To może chwilka, jak działa Mediawiki API?

Mediawiki action API to usługa internetowa,  która daje nam dostęp do Wikipedii poprzez adres URL na stronie api.php. Klient żąda konkretnej akcji, wyznaczonej  przez parametr action. Prosty przykład na stronie mówi, że wysyłając request HTTP GET na poniższy adres:

https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page&prop=revisions&rvprop=content&format=xml

dostaniemy plik xml z zawartością strony głównej Wikipedii.

  1. https://en.wikipedia.org/w/api.php – to jest endpoint (główna strona web service’u)
  2. ustawienie action=query umożliwia pobranie informacji na temat wiki oraz danych tam przechowywanych, np wikitextu.
  3. titles=Main%20Page, prop=revisions, rvprop=content - to są parametry wykorzystowane przez akcję query
  4. format=xml -to, no sami wiecie, co to:)

Et voila, poniżej screenshot z aplikacji, która wyświetla xml-a z zawartością pierwszej strony Wikipedii (a konkretnie pierwsze 500 znaków odpowiadającego mu stringa).

wikipedia_ss

Odpowiedź na drugie pytanie, czyli wysyłanie żądań HTTP w Androidzie, w następnym poście.

 

 

 

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s