blog.stepniak.net.pl

Brudnopis programisty

Programming Mobile Applications for Android @ Coursera

by Szymon Stępniak on 26 stycznia 2014, no comments

android

Kilka dni temu na platformie Coursera rozpoczął się kurs poświęcony programowaniu aplikacji na platformę Android, ale dopiero w ten weekend udało mi się przejrzeć wszystkie aktualności zw. z kursem, obejrzeć materiały video oraz wykonać zawarte w pierwszym tygodniu zadania „rozgrzewkowe”. Pierwsze wrażenia są bardzo pozytywne – z punktu widzenia nowicjusza jakim jestem w tej dziedzinie, materiał prezentowany jest w bardzo przystępnej formie i jeśli tylko ten poziom się utrzyma, kurs będzie fajną i rozwijającą odskocznią od codzienności. Podsumowanie i skrót informacji w dalszej części wpisu.

Week #1

Pierwszy tydzień jak to zazwyczaj w tego typu kursach bywa koncentruje się na zapoznaniu uczestników z tematem. Omawiane są zatem:

  • stack technologiczny Androida:
    • linux kernel (warstwa usług standardowych oraz dedykowanych Androidowi),
    • biblioteki,
    • środowisko uruchomieniowe (Dalvik VM),
    • application framework (Activity Manager, Content Providers, View System, Location Manager etc.),
    • warstwa aplikacji.
  • narzędzia developerskie:
    • Android Developer Tools (Eclipse IDE),
    • AVD.

W pierwszym tygodniu kursu dowiadujemy się jak przygotować środowisko developerskie, jak uruchomić aplikację typu HelloWorld na urządzeniu oraz emulatorze, w jaki sposób manipulować stanem emulatora, jak korzystać z DDMS, jaka jest podstawowa struktura aplikacji etc. W materiałach przeznaczonych do opracowania w ramach pracy domowej dowiemy się ponadto jak pisać i uruchamiać testy automatyczne z wykorzystaniem emulatora (cowabunga!).

Warto pamiętać

1. Korzystanie z emulatora z obrazem systemu w architekturze ARM jest bardzo nieprzyjemne. Warto uruchamiać emulator z systemem w architekturze Intel x86 Atom – http://software.intel.com/en-us/android/articles/speeding-up-the-android-emulator-on-intel-architecture#_Toc358213272

2. Za pomocą telnetu możemy manipulować stanem emulatora. W tym celu uruchamiamy emulator i łączymy się z nim na porcie 5554 (jest to domyślny port dla pierwszego uruchomionego emulatora):

telnet localhost 5554

Po nawiązaniu połączenia możemy manipulować stanem emulowanego urządzenia, np:

network speed edge
#zmniejszy prędkość transferu danych

network speed full
#ustawi max. prędkość transferu danych

power capacity 5
#zmniejszy poziom naładawoania baterii do 5%

power capacity 100
#ustawi poziom naładowania baterii na 100%

power status not-charging
#zakończy symulowanie stanu ładowania baterii

geo fix 0.00 40.00
#przestawi wskazania symulowanego lokalizatora GPS

sms send 123456789 "This is a text message"
#wyśle sms o podanej treści symulując nadawcę z numerem 123456789

Więcej na temat pracy z emulatorem przeczytamy tutaj: http://developer.android.com/tools/devices/emulator.html

Podsumowanie

Pierwszy tydzień kursu kończy się quizem, poniżej uzyskany przeze mnie wynik:

zrzut_ekranu-56

Ogólnie pierwszy tydzień kursu jest spokojnym wstępem do tematu. Kurs jest przeznaczony dla bardzo szerokiego spektrum odbiorców (od początkujących programistów, po doświadczonych „wyjadaczy” chcących spróbować czegoś nowego/innego), stąd też ilość materiału jest dość rozsądnie dawkowana. Dla mnie – bomba! Za chwilę zaczyna się kurs poświęcony Gamification i biorąc pod uwagę inne aktywności, którym poświęcam uwagę, nie mógłbym pozwolić sobie na kurs angażujący więcej czasu. Wilk syty i owca cała, a ja czekam na kolejną porcję materiału na tygodniu :-) Stay tuned!