4 komentarze

Content Providers – dostęp do danych przy pomocy dostawców treści

Sierpień 29, 2011 Content Providers Podstawowe komponenty Tutoriale

Dostawcy treści w Androidzie to abstrakcyjna warstwa ułatwiająca dostęp do danych zapisanych w urządzeniu. Content Providers (ang.) dostarczają nam interfejsu zarządzania danymi opartego o adresy URI (które wykorzystują schemat content://). Dzięki nim w łatwy sposób możemy oddzielić warstwę aplikacji od warstwy dostępu do danych. Co więcej, mechanizm ten pozwala nam na dzielenie się danymi pomiędzy wszystkimi aplikacjami działającymi w systemie (i posiadającymi odpowiednie uprawnienia).

9 komentarze

AsyncTask – asynchroniczne wykonywanie czasochłonnych zadań

Sierpień 19, 2011 Tutoriale Wielowątkowość

Android, jak większość dzisiejszych systemów operacyjnych wspiera wielowątkowość. Nie każdy jednak zdaje sobie sprawę z tego, że aby z niej skorzystać, musimy jawnie określić jakie zadania naszej aplikacji mają być wykonywane asynchronicznie, tj. poza głównym wątkiem aplikacji. Należy bowiem pamiętać, że wszystkie komponenty naszej aplikacji – zarówno te widoczne (Aktywności), jak i te, które teoretycznie pracują w tle (Broadcast Receivers, Usługi) uruchomione są w tym samym wątku głównym (UI Thread – nazwa pochodzi od tego, że zajmuje się on m.in. rysowaniem obiektów, przesyłaniem zdarzeń do komponentów czy ogólną interakcją aplikacji z wszystkimi widokami i widżetami). Problem zaczyna pojawiać się wtedy, [...]

2 komentarze

Google Maps – przegląd możliwości biblioteki

Sierpień 15, 2011 Biblioteki zewnętrzne Tutoriale

Wpis ten jest rozwinięciem informacji o bibliotece Google Maps dla systemu Android. Ostatnio zapoznaliśmy się z informacjami na temat tego jak dołączyć i wykorzystać mapy w naszej aplikacji, dziś natomiast przyglądniemy się niektórym możliwościom, jakie dostarcza nam ta biblioteka.

0 komentarzy

Geolokalizacja – translacja adres <-> współrzędne

Sierpień 13, 2011 Geolokalizacja Tutoriale

Android SDK, oprócz typowych narzędzi związanych z geolokalizacją (dostęp do usług i modułów lokalizacyjnych, pobieranie współrzędnych, informacje o prędkości/odległości/itp.) dostarcza nam bardzo ciekawego narzędzia, które potrafi tłumaczyć współrzędne geograficzne na prawdziwy adres (i odwrotnie). Klasa, która jest odpowiedzialna za tego typu czynności nazywa się Geocoder, natomiast proces tłumaczenia to Geocoding (tłumaczenie współrzędnych geograficznych na adres) lub Reverse Geocoding (adres na współrzędne geograficzne). W tym artykule stworzymy niewielką aplikację, która wykorzystuje zarówno Geocoding jak i Reverse Geocoding.

2 komentarze

Geolokalizacja – śledzenie pozycji, dane szczegółowe o ruchu

Sierpień 13, 2011 Geolokalizacja Tutoriale

Niniejszy wpis jest rozwinięciem artykułu omawiającego początki pracy z geolokalizacją w Androidzie (link). Dowiedzieliśmy się tam w jaki sposób dostać się do usługi lokalizacyjnej i jak za jej pomocą pobierać dane z modułów dostarczających informacje o lokalizacji. W dzisiejszym wpisie chciałbym skupić się na odczytywaniu oraz aktualizowaniu ostatniej pozycji. Przy okazji pokażę w jaki sposób możemy odczytać informacje o czasie ostatniej aktualizacji, aktualnej prędkości czy przebytym dystansie. Wszystko oczywiście za pomocą modułu GPS naszego urządzenia.

0 komentarzy

Emulowanie lokalizacji w module GPS urządzenia wirtualnego AVD

Sierpień 12, 2011 Geolokalizacja Narzędzia

Dzisiejszy wpis przeznaczony jest dla programistów, którzy chcą tworzyć aplikacje związane z geolokalizacją, a nie posiadają prawdziwego urządzenia z modułem GPS (lub po prostu nie chce im się ruszać sprzed biurka ). Jak się bowiem okazuje Android SDK wraz z debugerem DDMS w Eclipse pozwalają na emulowanie urządzenia GPS. I co najważniejsze, możliwości na wykorzystanie tych narzędzi mamy kilka.

1 komentarz

Geolokalizacja – wstęp, dostawcy danych, ostatnia znana pozycja

Sierpień 10, 2011 Geolokalizacja Tutoriale

Geolokalizacja w systemie Android zrealizowana jest na dwa sposoby. Mniej dokładny – lokalizacja określana jest na podstawie zasięgu sieci komórkowej (lub Wi-Fi), oraz bardziej dokładny – na podstawie modułu GPS. W dzisiejszym artykule zaznajomimy się z podstawami wykorzystania obu z nich.

3 komentarze

Wykorzystanie Map Google w naszej aplikacji

Sierpień 9, 2011 Biblioteki zewnętrzne Tutoriale

Aby w naszej aplikacji móc korzystać z dobrodziejstw Map Google wyświetlanych za pomocą widoku MapView powinniśmy wykonać szereg czynności. Jak się bowiem okazuje, mapy są czymś w rodzaju zewnętrznej biblioteki, której użycie należy poprzedzić kilkoma czynnościami, które nam na to pozwolą. W tym artykule przejdziemy krok po kroku po każdym z wymagań, by ostatecznie stworzyć aplikację wyświetlającą nam podstawowy widok mapy.

0 komentarzy

Komunikacja z usługami sieciowymi przez protokół SOAP

Sierpień 9, 2011 Bez kategorii Biblioteki zewnętrzne Tutoriale

Protokół SOAP oparty o standard XML służy do komunikacji z usługami sieciowymi poprzez HTTP. Jedną z technologii, która wykorzystuje SOAP jest ASP.NET Web Services. Niestety Android domyślnie nie posiada mechanizmów obsługujących ten protokół, w związku z czym aby skomunikować nasze urządzenie mobilne z usługami sieciowymi Microsoftu należy skorzystać z biblioteki, która dostarczy nam taką możliwość. Jedną z takich bibliotek jest ksoap2-android, której przyjrzymy się w niniejszym artykule.

0 komentarzy

Intent Filters, przypisywanie komponentów do konkretnych akcji lub danych

Sierpień 8, 2011 Intent Podstawowe komponenty Tutoriale

Filtry Intencji w Androidzie są bardzo ważnym elementem, który pozwala decydować systemowi jaki komponent (Aktywność, Usługa, Odbiorca treści) ma zostać wywołany dla Intencji posiadającej konkretną akcję lub dane. Daje nam to ogromne możliwości, bowiem w ten sposób możemy definiować zachowanie całego systemu operacyjnego. Przykład Mamy aplikację, w której klikamy na link jakiejś strony internetowej. I teraz, zamiast otwierać konkretną przeglądarkę z adresem przekazanym w argumencie, wysyłana jest intencja posiadająca dwa składniki: dane (adres strony) akcję do przeprowadzanie na danych (wyświetl zawartość znajdującą się pod powyższym adresem). Dzięki Filtrom Intencji system teraz dobierze najbardziej pasującą aplikację, która obsłuży powyższą intencję. Daje [...]

0 komentarzy

BroadcastReceiver, podstawy komunikacji pomiędzy komponentami aplikacji

Sierpień 7, 2011 BroadcastReceiver Podstawowe komponenty Tutoriale

Wśród mocno rozbudowanych podstawowych komponentów systemowych (Aktywności, Usługi, Dostawcy Treści) znaleźć możemy jeden, bardzo prosty którym jest BroadcastReceiver. Odbiorca komunikatów to komponent, którego jedynym zadaniem jest komunikacja pomiędzy wszystkimi elementami systemu. Służy on do przekazywania komunikatów zarówno wewnątrz aplikacji jak i wewnątrz całego systemu (pomiędzy różnymi aplikacjami). Oprócz tego może on również odgrywać rolę decydenta, który w związku z konkretnym komunikatem wykonuje jakąś czynność (BroadcastReceiver może m.in. uruchamiać Aktywności lub Usługi).

0 komentarzy

AppWidgets – wstęp do widżetów ekranu głównego

Sierpień 6, 2011 AppWidget Tutoriale UI

AppWidgets są elementami, które z założenia powinny dostarczać użytecznych informacji najmniejszym możliwym kosztem. W związku z tym podczas ich projektowania powinniśmy mieć na uwadze ilość potrzebnych im zasobów oraz ilość miejsca jaką zajmują (które to oczywiście powinniśmy ograniczyć do niezbędnego minimum). Widżety mogą być zarówno rozszerzeniem naszego programu jak i samodzielną aplikacją.

0 komentarzy

PreferenceActivity – Aktywność wyświetlająca ustawienia aplikacji

Sierpień 5, 2011 Activity Podstawowe komponenty Tutoriale

Aby ułatwić pracę podczas tworzenia okna ustawień naszej aplikacji, twórcy Androida dostarczyli klasę PreferenceActivity. Jest to Aktywność przystosowana do wyświetlania typowej listy preferencji. Posiada ona własny wygląd, przez co możemy skupić się jedynie na treści która ją wypełnia. Oprócz tego dostarcza ona szereg udogodnień, które skracają czas wykonania preferencji naszej aplikacji do niezbędnego minimum.

2 komentarze

SharedPreferences – zapisywanie danych aplikacji

Sierpień 5, 2011 Content Providers Podstawowe komponenty Przechowywanie danych Tutoriale

SharedPreferences jest klasą, która dostarcza nam lekkiego dla systemu mechanizmu pozwalającego na przechowywanie niewielkich ilości danych. Z założenia mechanizm ten powinien przechowywać informacje o ustawieniach interfejsu, aplikacji itp. Jego ograniczeniem jest obsługa tylko prostych typów danych (boolean, float, int, long, String). Natomiast zaletą tego mechanizmu jest współdzielenie danych pomiędzy wszystkimi komponentami aplikacji. Dane oczywiście są przechowywane nawet po ponownym uruchomieniu naszego programu.

0 komentarzy

Bindowanie Usługi z Aktywnością

Sierpień 5, 2011 Podstawowe komponenty Services Tutoriale

Komunikacja pomiędzy Usługą a Aktywnością najczęściej sprowadza się do przesyłania Intencji między sobą. Czasem jednak sposób ten nie jest zbyt wygodny i nie daje nam takie swobody wymiany informacji jakiej byśmy oczekiwali. W takim wypadku z pomocą przychodzi nam bindowanie tych dwóch elementów. Dzięki takiemu zabiegowi Aktywność może uzyskać dostęp do instancji klasy Usługi, a co za tym idzie do jej wszystkich składowych publicznych. W dzisiejszym artykule zapoznamy się z prostą konstrukcją pozwalającą na takie połączenie.

1 komentarz

Services – usługi działające w tle, pierwsze kroki

Sierpień 3, 2011 Podstawowe komponenty Services Tutoriale

Android, jak większość współczesnych systemów operacyjnych, zawiera bardzo rozbudowane mechanizmy do pracy w tle. Jednym z takich mechanizmów są Usługi (Services), których zadaniem jest przetwarzanie zadań nie wymagających (lub wymagających w niewielkim stopniu) ingerencji użytkownika. O tym czym są i jak z nich skorzystać dowiemy się z dzisiejszego wpisu.

1 komentarz

Statusbar notifications – powiadomienia na pasku stanu urządzenia

Sierpień 1, 2011 Notification Podstawowe komponenty Tutoriale

Mechanizmy powiadomień (Notifications) są jednym z podstawowych komponentów systemu (obok Aktywności, Intencji oraz Dostarczycieli treści). Jest to zbiór elementów, które „zaczepiają” użytkownika za pomocą specjalnie do tego przygotowanych mechanizmów. Z większością z nich mamy do czynienia tak naprawdę w każdym urządzeniu mobilnym (niekoniecznie działającym pod kontrolą Androida), aczkolwiek dla dopełnienia formalności poniżej przedstawiam listę elementów, z których mogą korzystać aplikacje w naszym systemie: diody – zarówno wbudowane w obudowę, jak i te pod trackballem wibracje, powiadomienia dźwiękowe, pasek stanu telefonu. I to właśnie ostatniemu elementowi z powyższej listy chciałbym poświęcić miejsce w dzisiejszym wpisie.

0 komentarzy

WebView – element UI parsujący i wyświetlający kod HTML

Sierpień 1, 2011 Tutoriale UI

WebView jest elementem UI, który wewnątrz siebie potrafi wyświetlić przeparsowany kod HTML (innymi słowy zachowuje się jak przeglądarka internetowa). Klasa WebView dostarcza nam dwóch metod (w zasadzie trzech – trzecią opiszę w tym wpisie), które pozwolą na załadowanie strony internetowej: loadUrl(String), która ładuje stronę bezpośrednio z adresu podanego w argumencie, loadData(String, String, String) parsuje i wyświetla ciąg znaków (kod HTML) podany w pierwszym argumencie. Drugim jest typ mime, a trzecim kodowanie znaków.

1 komentarz

NinePatch – bezstratne skalowanie elementów graficznych

Lipiec 29, 2011 Kompatybilność Narzędzia Tutoriale UI

Czy kiedykolwiek zastanawiałeś się w jaki sposób zrealizowany jest mechanizm wyświetlania typowych przycisków w Androidzie? Co sprawia, że niezależnie od rozmiaru, ciągle są tak samo „gładkie” i nigdzie nie widać efektów przeskalowania grafiki? Na pewno obrazki tego typu nie są rysowane przez system. Nie ma też żadnej ogromnej bazy plików graficznych z różnymi rozmiarami. Jest za to bardzo prosty mechanizm, który nazywa się NinePatch. I to jemu poświęcimy dzisiejszy wpis.

0 komentarzy

ProgressDialog, wyświetlanie paska postępu w oknie dialogowym

Lipiec 28, 2011 Okna dialogowe Tutoriale UI

Szczególnym przypadkiem okna dialogowego w Androidzie jest ProgressDialog. Obiektem tej klasy jest bowiem okienko informujące o postępie wykonywanej czynności (lub po prostu o tym, że coś się dzieje gdzieś „w tle”). Jego zastosowanie w interfejsie każdej aplikacji jest niezastąpione bowiem kto z nas lubi zastanawiać się czy nasza aplikacja jeszcze coś robi, czy już się „zwiesiła”? Dzisiejszy artykuł będzie demonstracją wykorzystania okna dialogowego wyświetlającego pasek postępu pracy nowego wątku naszej aplikacji.

  • Strona 1 z 2
  • 1
  • 2
  • >