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ć.
wtorek, 3 maja 2011
poniedziałek, 2 maja 2011
sobota, 30 kwietnia 2011
Galeria: Samsung Galaxy S II
Przed właściwą recenzją zamieszczam parę fotek nowego Samsunga. Solo oraz za starszym bratem.
Zapowiedź testu: Samsung Galaxy S II i9100
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.
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.
środa, 20 kwietnia 2011
Lekcja 17. Wykresy w Androidzie
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
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
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ę... ;))
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
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.
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!
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/

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.
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.
piątek, 29 stycznia 2010
[Na przerwie] Dlaczego warto zaprzyjaźnić się z Androidem!?
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.
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ń.
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
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.
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!
Autor:
Michał
o
16:38
Etykiety:
AppWidgetManager,
appWidgetProvider,
onUpdate,
SharedPreferences,
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
[Na przerwie] Nie może być. Reality show dla programistów!
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ń.
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.
Autor:
Michał
o
23:44
Etykiety:
Android,
FrameLayout,
onDraw,
onTouch,
Paint,
setOnTouchListener
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...
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.
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.
Autor:
Michał
o
21:00
Etykiety:
IBinder,
intents,
Notification,
NotificationManager,
PendingIntent,
Service,
Timer
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
Autor:
Michał
o
20:13
Etykiety:
AndroidManifest,
BufferReader,
EditText,
InputStream,
Toast,
URLConnection
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.
Autor:
Michał
o
21:17
Etykiety:
Android,
intents,
Notification,
NotificationManager,
PendingIntent
4
komentarze
Notyfikacja. Po polskiemu powiadomienia. To one będę bohaterami poniższej lekcji.
poniedziałek, 2 listopada 2009
Lekcja 5. I jak Intents.
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!
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 !
Autor:
Michał
o
22:36
Etykiety:
Android,
AndroidManifest,
appWidgetProvider,
onUpdate,
widget
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.
Do dzieła!
niedziela, 18 października 2009
Lekcja 3. Wejście & wyjście. Czyli wprowadzanie tekstu i wyprowadzanie.
Autor:
Michał
o
20:18
Etykiety:
Android,
EditText,
programowanie,
setOnClickListener,
TextView,
Toast
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.
poniedziałek, 12 października 2009
Lekcja 2. Android say: Hello World!
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.
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
Dostępna jest już nowa wersja tego artykułu - wejdź zobacz !
Narzędzia. Bez narzędzi nigdzie nie pojedziemy.
Narzędzia. Bez narzędzi nigdzie nie pojedziemy.
The first day of the rest of my life
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.
To tyle słowem wstępu.
Subskrybuj:
Posty (Atom)











