.
.

wtorek, 3 maja 2011

Recenzja: Samsung Galaxy S II i9100

12 komentarze
Od 14 lutego, czyli od oficjalnej prezentacji nowego modelu Samsunga przestępowałem z nogi na nogę w oczekiwaniu na pojawienie się nowego Galaxy S II w oficjalnej sprzedaży. Samsung kazał nam sporo czasu czekać na ten moment. No ale w końcu jest. Co prawda mój nie pochodzi jeszcze z oficjalnej sprzedaży, ale myślę, że po kilku dniach użytkowania mogę już co nie co o nim powiedzieć.



poniedziałek, 2 maja 2011

0 komentarze




sobota, 30 kwietnia 2011

Galeria: Samsung Galaxy S II

1 komentarze
Przed właściwą recenzją zamieszczam parę fotek nowego Samsunga. Solo oraz za starszym bratem.

Zapowiedź testu: Samsung Galaxy S II i9100

5 komentarze
Tym razem nie nowa lekcja, a nowy flagowy model Samsunga działający pod kontrolą Androida - długo wyczekiwany Samsung Galaxy S II.

Tak się sympatycznie złożyło, że wpadł dzisiaj w moje łapki następca można już chyba śmiało powiedzieć kultowego Galaxy S i9000. W najbliższych dniach postaram się zamieścić małą recenzję tego sprzętu.

Na tę chwilę mogę jedno powiedzieć - jest MOC! Warto było czekać.

Recenzja jest już dostępna!

środa, 20 kwietnia 2011

Lekcja 17. Wykresy w Androidzie

7 komentarze

Wykres – graficzna forma przedstawienia zmienności zjawiska, procesu, wielkości, zależności lub jakichkolwiek danych.

Okazuje się, że pomimo tego, że wykresy są często spotykane w różnego rodzaju aplikacjach dostępnych w Android Market, nie łatwo jest znaleźć sensowne rozwiązanie w postaci biblioteki automatyzującej ich tworzenie.
Oczywiście można zacząć od pracy u podstaw i samemu opracować odpowiednią klasę opierając się na rysowaniu po Canvas'ie. Nie ma sensu jednak wymyślać koła. Wbrew pozorom wykres to nie tylko punkty na osi połączone linią. Dobry wykres musi być przede wszystkim czytelny graficznie, skalowalny, customizowalny, potrafiący przyjąć dane w różnych formatach i przede wszystkim wydajny. Czyli całkiem sporo pracy.

środa, 13 kwietnia 2011

Lekcja 16. Połączenie SSH

3 komentarze

Tym razem dosyć krótka i uboga w treść lekcja. Postaram się przedstawić na przykładzie prostej klasy możliwość zastosowania zewnętrznej biblioteki Ganymed SSH2 w celu stworzenia połączenia SSH. Podejrzewam, że to trochę niszowe zastosowanie, dlatego też będzie więcej samego kodu niż opisów. Mam nadzieję, że osoby zainteresowane nie będą mieć problemu z interpretacją poniższego przykładu. Zresztą nie jest to żaden "rocket science".

sobota, 9 kwietnia 2011

Lekcja 15. AsyncTask - Zarządzanie wątkami w Androidzie

2 komentarze
Android na swoje szczęście lub też nieszczęście dostarcza model pojedynczego wątku, który tworzony jest podczas uruchomienia aplikacji. Jest to tzw. UI Thread, czyli wątek główny.


Oznacza to nie mniej nie więcej, że wszelkie procesy (czynności), które wykonywane są w naszej aplikacji realizowane są liniowo. I tak na przykład, gdy chcielibyśmy w naszej potencjalnej aplikacji połączyć się z serwerem bazodanowym i wykonać na nim szereg czasochłonnych operacji, to w czasie tego procesu, „wątek” obsługujący interfejs zostałby zawieszony w oczekiwaniu na zakończenie tej operacji. Brak reakcji interfejsu odbierany jest przez użytkowników jako „wolne działanie” lub co gorsza „wieszanie się”. Dodatkowo jeśli aplikacja nie odpowiada przez co najmniej 5 sekund, Android wyrzuca błąd o braku odpowiedzi (parafrazując słowa wróżbity Macieja: Myślę, że wiecie o czym mówię... ;))

niedziela, 3 kwietnia 2011

Lekcja 14. Przygotowanie środowiska cz.2 - Eclipse

13 komentarze
Jako, że od pierwszej instrukcji instalacji oraz konfiguracji środowiska do programowania pod Androida już trochę bajtów w światłowodach upłynęło  - postanowiłem temat odświeżyć.

Wiele się zmieniło, linki do źródeł się zdezaktualizowały, Android doczekał się wersji SDK o numerze 2.3.3 (pomijam tu świadomie wersje "tabletową" 3.0), a Elicpse wydaję się, że objął prym jako platforma IDE w świeci programistów Androida.

piątek, 7 maja 2010

We want Android Market!

1 komentarze
Nowa notka po dłuższej nieobecności. Do tego notka interwencyjna.

W skrócie. Koledzy z forum android.com.pl zainicjowali akcję mającą na celu przekonanie Googla do otwarcia polskiej wersji Android Market na płatne aplikacje. Dotyczy to zarówno zakupu jak i możliwości ich udostępniania przez developerów.

Jeżeli chcesz się przyłączyć do akcji, krzyknąć w ethernetowy eter - "hej! Wójku Googlu, dlaczego nas dyskryminujesz?", to nic prostszego jak udać się na stronę http://www.petycje.pl/5210 i spełnić swój droidowy obowiązek.

Postępy w sprawie możesz bacznie obserwować na stronie - http://we-want-android-market.blogspot.com/

poniedziałek, 15 lutego 2010

Lekcja 13. Instalujemy reklamy sieci AdMob.

1 komentarze
O sieci reklamy mobilnej AdMob zrobiło się ostatnio głośno w związku z przejęciem jej przez naszego 'ukochanego' wujka Google.

Pomijając aspekt czysto biznesowy umieszczania tego typu reklam na ekranach potencjalnych odbiorców Waszych aplikacji, chciałbym w kilku akapitach przedstawić proces instalacji oraz konfiguracji AdMoba dla przykładowej aplikacji.

poniedziałek, 8 lutego 2010

μLekcja 4. Karta SD w emulatorze Androida.

1 komentarze
Do tej pory udało mi się wytrwać bez karty SD w emulatorze Androida. Co więcej, nawet nie widziałem, że można takową zaaplikować. Było to po prostu poza moim zainteresowaniem.

Jak to w życiu bywa, na wszystko przychodzi czas. Przyszedł i na emulację karty SD.

Do dzieła!

piątek, 29 stycznia 2010

[Na przerwie] Dlaczego warto zaprzyjaźnić się z Androidem!?

6 komentarze
Wstęp

Na początku chciałbym zaznaczyć, że poniższy tekst jest subiektywnym poglądem autora na świat smartphonów. Nie jest poparty szczególnymi badaniami rynku, dogłębnymi analizami, a tylko albo aż codziennymi obserwacjami z punktu widzenia przeciętnego użytkownika.


Stan obecny

Jakiś czas temu trafiłem na artykuł, o intrygującym i dumnie brzmiącym tytule w stylu "Koniec ery smartphonów". Aż lekko mi się ciśnienie podniosło, jak to zobaczyłem. Kliknąłem w link i co się okazało, a to, że powoli możemy mówić o schyłku ery urządzeń zwanych smartphonami. Dlaczego schyłku? Otóż do tej pory "zmyślne telefony" były pewną niszą na rynku, skierowaną do konkretnego odbiorcy, np. klienta biznesowego albo po prostu dla grupy tzw. power-userów.
Musimy tutaj na chwilę przystanąć i odpowiedzieć sobie na pytanie jak charakteryzujemy smartphony. Według wikipedii, smartphone jest "urządzeniem telefonicznym integrującym w sobie kilka funkcji... łączy funkcje telefonu komórkowego, poczty elektronicznej, przeglądarki sieciowej, pagera, GPS, jak również cyfrowego aparatu fotograficznego i prostej kamery wideo". Co się okazuje? Śmiało można stwierdzić, że 95% nowych sprzedawanych telefonów komórkowych podpada pod tą grupę. Dlatego też, śmiało można powiedzieć, że era smartphonów przemija, bo wszystkie urządzenia mobilne są teraz smartphonami. Innych nie ma i nie będzie.

czwartek, 21 stycznia 2010

μLekcja 3. Dostęp do bazy danych z linii poleceń.

0 komentarze
W trakcie pracy nad pewną aplikacją, zaistniała potrzeba bezpośredniego dostępu do bazy danych wykorzystywanej właśnie w tej aplikacji (Przez bezpośredni dostęp rozumiem możliwość połączenia się z BD z zewnątrz programu). Jeżeli, ktoś się nie przedarł przez dokumentację deweloperską Androida, to może nie wiedzieć o istnieniu takiej możliwości. Postanowiłem więc przybliżyć Wam jeden z takich sposobów!

poniedziałek, 11 stycznia 2010

μLekcja 2. Formatowanie tekstu w locie

0 komentarze
Kolejna piko-lekcja. Tym razem chciałbym napisać kilka zdań na temat formatowania wyświetlanego (np. w TextView) tekstu "w locie".

Nierzadko zdarza się, że chcemy wystylizować fragment tekstu wyświetlanego na ekranie Androida.
Jednym z możliwych rozwiązań jest umieszczenie np. dwóch pól TextView na View, każde "sformatowane" wedle własnego uznania. Czego można dokonać poprzez deklaracje odpowiednich atrybutów w pliku (.xml) zawierającym layout interesującej nas aplikacji.

środa, 6 stycznia 2010

Lekcja 12. Jak skonfigurować widget!

3 komentarze
Jak wiadomo, najlepszym sposobem nauki programowania (jak i w ogóle nauki) jest postawienie sobie konkretnego celu do zrealizowania. Moim celem miało być napisanie prostej aplikacji w formie widżetu realizującego pewne zadanie. Jednak zanim umieścimy nasz widżet na pulpit-droidzie, zdarza się, że musimy go najpierw skonfigurować, podać dane jak np. login czy też hasło. Z pozoru trywialna rzecz i taka naprawdę jest ale po kolei.

wtorek, 8 grudnia 2009

μLekcja 1. Własny ListView

2 komentarze

W ostatniej lekcji, poświęconej rejestrowi połączeń, do ich wyświetlenia wykorzystaliśmy wbudowaną listę simple_list_item_1. Niestety wadą takiego rozwiązania jest to, że dostarczamy do danego item'u jeden konkretny string, co jednocześnie pozbawia nas możliwości przekazania oraz wyświetlenia większej liczby oddzielnych danych (jak np. numer telefonu, data połączenia, czas połączenia) w sposób jak my byśmy tego chcieli.

[Na przerwie] Nie może być. Reality show dla programistów!

0 komentarze
Ponoć zebrała się międzynarodowa ekipa designerów oraz programistów chcąca w siedem dni stworzyć od zera aplikację na iPhone'a. Co ciekawe cały cykl powstawania tej aplikacji można obejrzeć na żywo w internecie. Transmisja trwa już od 6 grudnia, a zakończyć się ma 12. Hmmm co Wy na to? ;)



czwartek, 3 grudnia 2009

Lekcja 11. Tworzymy rejestr połączeń.

1 komentarze
Wiele osób korzystających z Androida narzeka na brak, a właściwie to bardzo ograniczoną wersję rejestru połączeń, jakby się wydawało niezbędnego minimum na wyposażeniu każdego telefonu od co najmniej piętnastu lat.

Oczywiście w mniejszym bądź większym stopniu problem rozwiązują zewnętrzne aplikacje, a w Androidzie w wersji 2.0 jest już całkiem nieźle.

Tak czy owak problem występuję, bo i można to zauważyć po liczbie postów na forach, jak i ciągle pojawiających się aplikacjach rozszerzających możliwości standardowego rejestru.
Jak łatwo można stworzyć podobną aplikację, chciałem udowodnić w tej lekcji. Nie będzie to zaawansowany kombajn, a prosta aplikacja dająca przyczółek do stworzenia czegoś lepszego, czegoś dostosowanego do własnych potrzeb.

poniedziałek, 30 listopada 2009

Lekcja 10. Hello Circle, czyli rysuj z Androidem.

8 komentarze
Szukając tematu do nowej lekcji trafiłem na blog użytkowniczki Kellbot z Nowego Jorku, która  zaprezentowała bardziej niecodzienną wersję aplikacji Hello World, a mianowicie Hello Circle.



Aplikacja zamiast wyświetlić tekst, wyświetla kolorowe kółko po "tapnięciu" przez użytkownika w dowolny obszar ekranu telefonu.

Postanowiłem przybliżyć temat, a właściwie spolszczyć ten krótki tutorial...

wtorek, 24 listopada 2009

Lekcja 9. SQLiteDatabase. Po prostu.

12 komentarze
SQLite jest jednym z systemów zarządzania bazami danych. Obok takich tuz jak MSSQL, MySQL, PostgreSQL czy też Oracle stanowi jedną z najpopularniejszych implementacji silnika SQL w szeregu aplikacji/urządzeń. Jak pewnie się domyślasz w Androidzie również został wykorzystany (jak i w Iphonie czy Firefoxie). Do głównych zalet (choć akurat to zależy od punktu widzenia) SQLite, możemy zaliczyć możliwość użycia bazy danych bez konieczności uruchamiania osobnego procesu, a także fakt, iż dane przechowywane są w jednym pliku binarnym (do 2TB) w postaci B-drzew. Dodatkowym atutem opisywanej BD jest wydajność przy wykonywaniu (w sczególności) podstawowych zapytań typu INSERT lub SELECT. SQLite (jak i wszystko) nie jest wolny od wad, ale nie o tym jest ta lekcja, dlatego w tym miejscu zakończę teorię z nim związaną.

środa, 18 listopada 2009

Lekcja 8. Serwisy w Androidzie. Bynajmniej nie informacyjne.

8 komentarze
Service jest jednym z podstawowych komponentów dostępnych w androidowych aplikacjach. Jednak to co go wyróżnia, to fakt iż "chodzi" w tle, bez potrzeby interakcji z użytkownikiem.



Prezentowany service należy do grupy tak zwanych local service, charakteryzujących się tym, że chodzą w tym samym procesie z którego zostały uruchomione, co między innymi oznacza, że ich żywotność jest ściśle powiązana z wątkiem z którego zostały wywołane. W przypadku serwisów "długochodzących", trwających cały czas w systemie (np. klient email), albo mocno zasobożernych typu odtwarzacz muzyczny, poleca się użycie remote service, pozwalających umieścić serwis w osobnym wątku, do którego będzie mogła się odwoływać większa liczba klientów (O remote service wkrótce będzie osobna lekcja).

czwartek, 12 listopada 2009

Lekcja 7. Pobieramy źródło strony WWW

2 komentarze
Jakiś czas temu zmuszony byłem do "wyłuskania" pewnego fragmentu treści z kodu źródłowego pewnej strony. Jak się okazało nie było to bardzo skomplikowane, a moje początki z tym zagadnieniem są tematem lekcji którą czytasz.

Stworzymy aplikację dzięki której będzie możliwe pobranie tytułu dowolnej strony.

Let combat begin

czwartek, 5 listopada 2009

Lekcja 6. N jak Notification, czyli alfabetu ciąg dalszy.

4 komentarze
Idąc za ciosem, a raczej za Intentami (patrz lekcja numer 5), chciałbym przedstawić kolejną aplikację korzystającą z tych jakże niezwykłych kreaturek, a przy okazji pokazać coś nowego, bez czego żaden system nie mógłby się obejść, czyli powiadomień użytkownika o wydarzeniach zachodzących w jego systemie.

Notyfikacja. Po polskiemu powiadomienia. To one będę bohaterami poniższej lekcji.

poniedziałek, 2 listopada 2009

Lekcja 5. I jak Intents.

11 komentarze
Do tej pory prezentowane we wcześniejszych lekcjach aplikacje korzystały tylko z jednego widoku, z jednego okienka. Byłoby to idealne rozwiązanie z punktu widzenia wygody użytkownika, niestety głównym ograniczeniem są rozmiary ekranów urządzeń mobilnych. Dlatego też, dla zwiększenia przejrzystości, a także „upchnięcia” większej liczby opcji, a raczej ich ustawień dobrze jest wykorzystać dodatkowe widoki, otwierane w nowych oknach. Niby nic takiego, ale pojawia się problem komunikacji pomiędzy tymi okienkami, a dokładnie to przesyłania pomiędzy nimi danych.
W Javie Dalvik do realizacji tej funkcjonalności wykorzystujemy obiekty zwane Intents.

Do dzieła!

środa, 21 października 2009

Lekcja 4. Pierwszy Widget, a w dodatku funkcjonalny !

26 komentarze
Wi..., Ga.. i inne dżety zadomowiły się już chyba na wszystkich systemach operacyjnych. Od dużych po małe. Oczywiście w Androidzie też ich nie zabrakło. Przyjrzyjmy się więc procesowi powstawania jednego z nich.



Nasz pierwszy widget, będzie realizował pewną prostą acz przydatną czynność, mianowicie będzie informował nas o godzinach wschodów i zachodów słońca.

Do dzieła!

niedziela, 18 października 2009

Lekcja 3. Wejście & wyjście. Czyli wprowadzanie tekstu i wyprowadzanie.

30 komentarze
W kolejnej lekcji postanowiłem kontynuować prezentację podstawowych elementów interfejsu. Tym razem zajmiemy się TextView, EditText, wykorzystamy przyciski (Button)  oraz pewien rodzaj dymku informacyjnego zwanego Toast.

Tak jak i w poprzedniej lekcji zaczynamy od utworzenia nowego projektu.
Następnie kierujemy się do pliku main.xml, w którym jakby to powiedzieć przelejemy na pap... tfe, monitor wizje naszego interfejsu.


Co by nie wzbudczać zbędnej ciekawości, prezentuje efekt końcowy jaki będziemy chcieli osiągnąć.


poniedziałek, 12 października 2009

Lekcja 2. Android say: Hello World!

25 komentarze
Zaczynamy od stworzenia nowego projektu.

Z menu głównego wybieramy File -> New Project, następnie z Categories wybieramy Android i Next, na kolejnej stronie wskazujemy nazwę projektu, pozostałe pola zostawiamy bez zmian. Całość powinna się prezentować jak na poniższym screenie.

czwartek, 8 października 2009

Lekcja 1. Przygotowanie środowiska

22 komentarze
Dostępna jest już nowa wersja tego artykułu - wejdź zobacz !

Narzędzia. Bez narzędzi nigdzie nie pojedziemy.


The first day of the rest of my life

2 komentarze
No i stało. Ni z tego ni z owego postanowiłem zająć się nauką programowania na googlowską platformę - pamparara - ANDROID!. Przy okazji moje zmagania postanowiłem opisywać na poniższym blogu.

To tyle słowem wstępu.