Wikipedysta:Matekm/Podstawy programowania na platformie Android

Ta strona ma na celu przedstawienie projektu dotyczącego stworzenia kursu programowania na platformie Android. Wszelkie uwagi i propozycje proszę zamieszczać na stronie dyskusji.

Opis projektu

edytuj

W wolnej chwili zajmuje się tworzeniem książki, której celem jest wprowadzenie początkującego programisty w proces tworzenia aplikacji na platformę Android.

Oczywiście, istnieje kilka założeń "ograniczających" dla tego tworu:

  • książka jest przeznaczona dla ludzi, którzy już znają Javę lub nie boją się poznawać jej w trakcie czytania książki
  • książka przeznaczona jest dla początkujących - nie oznacza to jednak, że zagadnienia będą opisywane po łebkach. Nie - bycie początkującym to nie jest zezwolenie na byle jakie poznawanie platformy. Planuje wiele kwestii omówić szczegółowo - będę jednak stosował tak prosty język i tak proste przykłady jak to tylko możliwe
  • obecnie uważam, że najlepszą wersją platformy na której najlepiej się uczyć programowania w androidzie jest wersja 2.0. Niższe są zbyt ubogie w API, wyższe nie wnoszą aż tyle, żeby pisać "pod nie". Zobaczymy jak to się zmieni po wydaniu 3.0

Dodatkowo po powstaniu pierwszej wersji książki chciałbym się zwrócić do profesorów prowadzących zajęcia z programowania na platformę Android, aby polecali tę książkę swoim studentom. Nic tak nie zweryfikuje przydatności książki jak jej wykorzystanie na polu walki. Jeżeli książka się spodoba będzie można pomyśleć o jej przetłumaczeniu na angielski!

Gdzie oczekuję pomocy

edytuj

Nie bez powodu udostępniam te materiały na Wikiksiążkach - sam nie jestem w stanie doprowadzić jej do doskonałości. Z pewnością przyda mi się pomoc gramatyka i stylisty - mój język czasami jest niezrozumiały a zdania posiadają dużo błędów. Ktoś to musi poprawić;)

Pomoc merytoryczna też się przyda. Tylko jedna uwaga: zanim zaczniesz dopisywać treści, uzgodnij je ze mną. Rozumiem, że Wikibooks to platforma w której każdy może edytować. Jeżeli jednak pójdziemy tym tropem książka będzie "o wszystkim", więc o niczym. Mam pewną wizję, która nie jest sztywna i jeżeli przedstawisz ciekawy pomysł to z pewnością znajdzie się na niego miejsce!:)

"Konspekt"

edytuj

I. Podstawy

  1. Wstęp - informacje wyjaśniające czym jest platforma Android; historia jej powstania oraz rozwoju; kierunek rozwoju. Dodatkowo wyjaśnienie dla kogo jest książka oraz jaki zakres informacji obejmuje
  2. Instalacja i konfiguracja środowiska pracy - informacje o tym gdzie znaleźć i jak zainstalować niezbędne narzędzia. Domyślnie wymusi na użytkowniku korzystanie z Eclipse oraz wtyczki ADT - pozostałe metody rozwoju aplikacji zostaną pominięte.
  3. Pierwszy projekt - instrukcja "krok po kroku" jak stworzyć i uruchomić podstawowy projekt w Eclipsie. Na przykładzie domyślnego szablonu wyjaśniona zostanie struktura katalogów, czym jest Aktywność, jak wygląda struktura kodu i jakie elementy tworzą aplikację (layout, zasoby, kod właściwy). Omówione zostanie uruchomienie aplikacji na symulatorze oraz fizycznym urządzeniu
  4. Aktywność - dokładne wyjaśnienie czym jest aktywność. Omówienie cyklu życia, sposobu wywoływania jednej aktywności z innej. Wyjaśniona zostanie idea kontekstu.
  5. Layouty na przykładach - cały rozdział poświęcony zapoznaniu się z mechanizmem tworzenia i odwoływania się do layoutów. Omówione zostaną typy layoutów, podstawowe widgety, statyczny i dynamiczny sposób tworzenia layoutów (z wyjaśnieniem gdzie i jaki się stosuje).
  6. Dostęp do sensorów - rozdział opisujący sposoby wyciągania danych z sensorów urządzenia. Na przykładach zostaną pokazane sposoby wyciągania danych z GPS oraz akcelerometru. Omówiony zostanie ogólny mechanizm dostępu do sensorów
  7. obsługa kamery - na przykładzie obsługi kamery opisane zostaną sposoby dostępu do "podzespołów" urządzenia. Przykład będzie zawierał odczyt i wyświetlanie obrazów z kamery, robienie zdjęć oraz modyfikację parametrów kamery
  8. Grafika 2D z wykorzystaniem SGL
  9. Grafika 3D z wykorzystaniem Open GL ES

II. Zaawansowane

  1. 1. Opis architektury android - jak zbudowany jest system, ogólna zasada działania; warstwy i ich funkcje
  2. 2. DalvikVM - budowa, zasada działania, opis plików wykonywanych przez Dalvik VM

Treść książki

edytuj

Wikipedysta:Matekm/Podstawy programowania na platformie Android/Instalacja środowiska

Wikipedysta:Matekm/Podstawy programowania na platformie Android/Pierwszy projekt