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
- 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
- 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.
- 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
- 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.
- 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).
- 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
- 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
- Grafika 2D z wykorzystaniem SGL
- Grafika 3D z wykorzystaniem Open GL ES
II. Zaawansowane
- 1. Opis architektury android - jak zbudowany jest system, ogólna zasada działania; warstwy i ich funkcje
- 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