Book description
Książka, którą trzymasz w rękach, pomoże Ci odnieść sukces. Należy ona do ulubionej serii programistów - "Receptury". Znajdziesz tu najlepsze przepisy na rozwiązanie typowych pr...
Table of contents
- Android. Receptury
- Dedykacja
- Przedmowa
-
1. Podstawowe informacje
- 1.1. Wprowadzenie — podstawowe informacje
- 1.2. Nauka Javy
- 1.3. Tworzenie aplikacji „Witaj, świecie” z poziomu wiersza poleceń
- 1.4. Tworzenie aplikacji „Witaj, świecie” w środowisku Eclipse
- 1.5. Konfigurowanie środowiska IDE w systemie Windows pod kątem programowania aplikacji na Android
- 1.6. Cykl życia w Androidzie
- 1.7. Instalowanie plików .apk w emulatorze za pomocą narzędzia ADB
- 1.8. Instalowanie aplikacji w emulatorze za pomocą sklepu SlideME
- 1.9. Współużytkowanie klas Javy z innym projektem środowiska Eclipse
- 1.10. Wskazywanie bibliotek z implementacją funkcji zewnętrznych
- 1.11. Wykorzystanie przykładów z pakietu SDK do ułatwienia sobie pracy
- 1.12. Aktualizowanie pakietu SDK Androida
- 1.13. Wykonywanie zrzutów w emulatorze i urządzeniu z Androidem
- 1.14. Prosty przykładowy program do odliczania wstecznego
-
1.15. Program Tipster — kalkulator napiwków na Android
- Problem
- Rozwiązanie
-
Omówienie
- Tworzenie układu i rozmieszczanie kontrolek
- Elementy TableLayout i TableRow
- Kontrolowanie wartości wejściowych
- Analiza pliku Tipster.java
- Rozwiązywanie problemów z wygodą korzystania z aplikacji
- Przetwarzanie zdarzeń interfejsu użytkownika
- Śledzenie znaków wprowadzanych w polach tekstowych
- Odbieranie kliknięć przycisków
- Resetowanie aplikacji
- Sprawdzanie poprawności danych wyjściowych na potrzeby obliczenia napiwku
- Wyświetlanie wyników
- Wyświetlanie ostrzeżeń
- Podsumowanie
-
2. Projektowanie udanych aplikacji
- 2.1. Wprowadzenie — projektowanie udanych aplikacji na Android
- 2.2. Obsługa wyjątków
- 2.3. Obiekt Application w Androidzie jako singleton
- 2.4. Zachowywanie danych po zmianie orientacji ekranu
- 2.5. Monitorowanie poziomu baterii w urządzeniach z Androidem
- 2.6. Tworzenie ekranów powitalnych w Androidzie
- 2.7. Projektowanie aplikacji na potrzeby konferencji, BarCampu, hackathonu lub instytucji
- 2.8. Wykorzystanie narzędzia Google Analytics w aplikacjach na Android
- 2.9. Prosta latarka
- 2.10. Dostosowywanie aplikacji na telefony z Androidem do tabletów
- 2.11. Preferencje obowiązujące przy pierwszym uruchomieniu aplikacji
- 2.12. Formatowanie czasu i daty na potrzeby wyświetlania
- 2.13. Kontrolowanie danych wejściowych za pomocą odbiorników KeyListener
- 2.14. Tworzenie kopii zapasowej danych aplikacji na Android
- 2.15. Stosowanie wskazówek zamiast okien podpowiedzi
-
3. Testy
- 3.1. Wprowadzenie — testy
- 3.2. Programowanie sterowane testami w Androidzie
- 3.3. Konfigurowanie urządzeń AVD na potrzeby testowania aplikacji
- 3.4. Testowanie aplikacji w wielu urządzeniach za pomocą chmury
- 3.5. Tworzenie i stosowanie projektu testowego
- 3.6. Rozwiązywanie problemów z awariami aplikacji
- 3.7. Debugowanie z wykorzystaniem instrukcji Log.d i okna LogCat
- 3.8. Automatyczne otrzymywanie raportów o błędach od użytkowników za pomocą mechanizmu BugSense
- 3.9. Korzystanie z lokalnego dziennika czasu wykonania do analizowania błędów i innych sytuacji
- 3.10. Odtwarzanie scenariuszy cyklu życia aktywności na potrzeby testów
- 3.11. Rozwijanie płynnie działających aplikacji za pomocą narzędzia StrictMode
- 3.12. Korzystanie z programu Monkey
- 3.13. Wysyłanie komunikatów tekstowych i przekazywanie wywołań między urządzeniami AVD
-
4. Komunikacja wewnątrz- i międzyprocesowa
- 4.1. Wprowadzenie — komunikacja wewnątrz- i międzyprocesowa
- 4.2. Obsługiwanie strony internetowej, numeru telefonu lub innych elementów za pomocą intencji
- 4.3. Wysyłanie e-maili z poziomu widoku
- 4.4. Wysyłanie e-maili z załącznikami
- 4.5. Przekazywanie łańcuchów znaków za pomocą instrukcji Intent.putExtra()
- 4.6. Pobieranie danych z aktywności podrzędnej do aktywności głównej
- 4.7. Podtrzymywanie działania usługi w trakcie wyświetlania innych aplikacji
- 4.8. Wysyłanie i odbieranie komunikatów rozgłoszeniowych
- 4.9. Uruchamianie usługi po ponownym uruchomieniu urządzenia
- 4.10. Używanie wątków do tworzenia szybko reagujących aplikacji
- 4.11. Korzystanie z klasy AsyncTask do wykonywania operacji w tle
- 4.12. Przesyłanie komunikatów między wątkami za pomocą kolejki wątków aktywności i komponentu obsługi
- 4.13. Tworzenie androidowej wersji kalendarza Epoch (napisanego w HTML-u i JavaScripcie)
- 5. Dostawcy treści
-
6. Grafika
- 6.1. Wprowadzenie — grafika
- 6.2. Stosowanie niestandardowej czcionki
- 6.3. Wyświetlanie obracającego się sześcianu za pomocą specyfikacji OpenGL ES
- 6.4. Sterowanie obracającym się sześcianem
- 6.5. Odręczne rysowanie płynnych linii
- 6.6. Robienie zdjęć za pomocą intencji
- 6.7. Robienie zdjęć za pomocą klasy android.media.Camera
- 6.8. Skanowanie kodu kreskowego lub kodu QR za pomocą programu Google ZXing
- 6.9. Wyświetlanie diagramów i wykresów za pomocą klasy AndroidPlot
- 6.10. Tworzenie ikony do androidowego launchera za pomocą programu Inkscape
- 6.11. Łatwe tworzenie ikon do launchera za pomocą programu Paint.NET i grafik z serwisu OpenClipArt.org
- 6.12. Korzystanie z plików NinePatch
- 6.13. Tworzenie wykresów na strony HTML5 za pomocą biblioteki RGraph
- 6.14. Dodawanie prostej animacji rastrowej
- 6.15. Przybliżanie obrazu za pomocą gestów dotykowych
-
7. Graficzny interfejs użytkownika
- 7.1. Wprowadzenie — interfejs GUI
- 7.2. Poznawanie i przestrzeganie wytycznych tworzenia interfejsu użytkownika
- 7.3. Obsługa zmian konfiguracji przez oddzielenie widoku od modelu
- 7.4. Tworzenie przycisku i odbiornika kliknięć
- 7.5. Pięć sposobów na dołączanie odbiornika zdarzeń
- 7.6. Stosowanie kontrolek CheckBox i RadioButton
- 7.7. Wzbogacanie projektu interfejsu użytkownika za pomocą przycisków graficznych
- 7.8. Udostępnianie listy rozwijanej z opcjami za pomocą klasy Spinner
- 7.9. Obsługa długiego kliknięcia
- 7.10. Wyświetlanie pól tekstowych TextView i EditText
- 7.11. Ograniczanie wartości pola EditText za pomocą atrybutów oraz interfejsu TextWatcher
- 7.12. Kontrolka AutoCompleteTextView
- 7.13. Zapełnianie kontrolki AutoCompleteTextView za pomocą zapytań do bazy SQLite
- 7.14. Przekształcanie pól tekstowych w pola na hasło
- 7.15. Zmiana klawisza Enter na Next na klawiaturze programowej
- 7.16. Obsługa w aktywności zdarzeń związanych z klawiszami
- 7.17. Pokaż im gwiazdy — kontrolka RatingBar
- 7.18. Drgający widok
- 7.19. Wyświetlanie dotykowych informacji zwrotnych
- 7.20. Przełączanie się między różnymi aktywnościami w widoku TabView
- 7.21. Tworzenie niestandardowego paska tytułu
- 7.22. Formatowanie liczb
- 7.23. Poprawne stosowanie liczby mnogiej
- 7.24. Wyświetlanie drugiego ekranu z poziomu pierwszego
- 7.25. Tworzenie ekranu wczytywania, wyświetlanego przy przełączaniu aktywności
- 7.26. Zakrywanie innych komponentów za pomocą klasy SlidingDrawer
- 7.27. Otwieranie komponentu SlidingDrawer od góry do dołu
- 7.28. Dodawanie do układu obramowania z zaokrąglonymi rogami
- 7.29. Wykrywanie gestów w Androidzie
- 7.30. Tworzenie interfejsu użytkownika w Androidzie 1.6 i nowszych wersjach za pomocą fragmentów z Androida 3.0
- 7.31. Korzystanie z galerii zdjęć w Androidzie 3.0
- 7.32. Tworzenie prostego widżetu aplikacji
-
8. Alerty w interfejsach GUI — menu, okna dialogowe, komunikaty toast i powiadomienia
- 8.1. Wprowadzenie — alerty w interfejsach GUI
- 8.2. Tworzenie i wyświetlanie menu
- 8.3. Obsługa wyboru opcji menu
- 8.4. Tworzenie podmenu
- 8.5. Tworzenie wyskakujących okien dialogowych (okien z alertami)
- 8.6. Kontrolka Timepicker
- 8.7. Tworzenie obrotowego mechanizmu wybierania (podobnego do tego z iPhone’ów)
- 8.8. Tworzenie okna dialogowego z zakładkami
- 8.9. Tworzenie okna ProgressDialog
- 8.10. Tworzenie niestandardowego okna dialogowego z przyciskami, rysunkami i tekstem
- 8.11. Klasa AboutBox do wielokrotnego użytku
- 8.12. Modyfikowanie wyglądu komunikatów toast
- 8.13. Tworzenie powiadomienia wyświetlanego na pasku stanu
-
9. GUI — kontrolka ListView
- 9.1. Wprowadzenie — kontrolka ListView
- 9.2. Używanie kontrolki ListView do tworzenia aplikacji opartych na listach
- 9.3. Tworzenie widoków „brak danych” dla kontrolek ListView
- 9.4. Tworzenie zaawansowanych kontrolek ListView z rysunkami i tekstem
- 9.5. Stosowanie nagłówków sekcji w kontrolkach ListView
- 9.6. Zachowywanie pozycji w kontrolce ListView
- 9.7. Niestandardowy adapter listy
- 9.8. Obsługa zmian orientacji — od wartości z kontrolki ListView po wykresy w orientacji poziomej
-
10. Multimedia
- 10.1. Wprowadzenie — multimedia
- 10.2. Odtwarzanie filmów z serwisu YouTube
- 10.3. Używanie obiektu Gallery wraz z kontrolką ImageSwitcher
- 10.4. Rejestrowanie filmów za pomocą klasy MediaRecorder
- 10.5. Jak wykorzystać androidowy mechanizm wykrywania twarzy?
- 10.6. Odtwarzanie muzyki z pliku
- 10.7. Odtwarzanie dźwięku bez interakcji z użytkownikiem
- 10.8. Konwersja mowy na tekst
- 10.9. Konwersja tekstu na mowę
-
11. Utrwalanie danych
- 11.1. Wprowadzenie — utrwalanie danych
- 11.2. Pobieranie informacji o plikach
- 11.3. Wczytywanie plików z aplikacji, a nie z systemu plików
- 11.4. Wyświetlanie zawartości katalogu
- 11.5. Określanie łącznej ilości pamięci oraz ilości wolnego miejsca na karcie SD
- 11.6. Prosty sposób tworzenia aktywności do ustawiania preferencji użytkownika
- 11.7. Sprawdzanie poprawności ustawień
- 11.8. Zaawansowane wyszukiwanie tekstu
- 11.9. Tworzenie bazy SQLite w aplikacji na Android
- 11.10. Wstawianie danych do bazy SQLite
- 11.11. Wczytywanie wartości z istniejącej bazy SQLite
- 11.12. Praca z datami w bazie SQLite
- 11.13. Przetwarzanie danych w formacie JSON za pomocą klasy JSONObject
- 11.14. Przetwarzanie dokumentów XML za pomocą interfejsu DOM API
- 11.15. Przetwarzanie dokumentów w formacie XML z wykorzystaniem interfejsu XmlPullParser
- 11.16. Dodawanie danych kontaktowych
- 11.17. Wczytywanie danych kontaktowych
-
12. Aplikacje do obsługi połączeń telefonicznych
- 12.1. Wprowadzenie — aplikacje do obsługi połączeń telefonicznych
- 12.2. Wykonywanie operacji w momencie, gdy dzwoni telefon
- 12.3. Przetwarzanie wychodzących połączeń telefonicznych
- 12.4. Wybieranie numeru telefonu
- 12.5. Wysyłanie jedno- lub wieloczęściowych wiadomości SMS
- 12.6. Odbieranie wiadomości SMS w aplikacjach na Android
- 12.7. Wysyłanie wiadomości SMS do emulatora za pomocą okna Emulator Control
- 12.8. Korzystanie z androidowej klasy TelephonyManager do pobierania informacji o urządzeniu
-
13. Aplikacje sieciowe
- 13.1. Wprowadzenie — sieć
- 13.2. Stosowanie usług sieciowych typu RESTful
- 13.3. Używanie wyrażeń regularnych do wyodrębniania informacji z nieustrukturyzowanego tekstu
- 13.4. Przetwarzanie danych z kanałów RSS i Atom za pomocą parsera ROME
- 13.5. Korzystanie ze skrótów MD5 do przetwarzania zwykłego tekstu
- 13.6. Przekształcanie tekstu na odnośniki
- 13.7. Dostęp do stron internetowych za pomocą kontrolki WebView
- 13.8. Modyfikowanie wyglądu kontrolki WebView
- 14. Gry i animacje
- 15. Sieci społecznościowe
-
16. Lokalizacja i mapy
- 16.1. Wprowadzenie — aplikacje wykorzystujące lokalizację
- 16.2. Pobieranie danych o lokalizacji
- 16.3. Dostęp do danych z GPS-a w aplikacjach
- 16.4. Podawanie fikcyjnych współrzędnych GPS w urządzeniu
- 16.5. Geokodowanie i geokodowanie odwrotne
-
16.6. Przygotowania do korzystania z map Google’a
- Problem
- Rozwiązanie
-
Omówienie
- Konfigurowanie urządzenia AVD korzystającego z bibliotek pakietu SDK z Google API
- Tworzenie nowego projektu z docelowym pakietem Google APIs – 1.5 – API level 3
- Dodawanie elementu MapView do pliku układu
- Rejestrowanie klucza Google Maps API
- W pliku AndroidManifest.xml wprowadź następujące zmiany (gotowy plik pokazano na Przykład 16-10)
- Lista kontrolna
- Zobacz także
- 16.7. Wyświetlanie aktualnej lokalizacji urządzenia na mapach Google’a
- 16.8. Wyświetlanie znacznika lokalizacji w widoku MapView
- 16.9. Wyświetlanie kilku znaczników w widoku MapView
- 16.10. Tworzenie warstw dla widoku MapView
- 16.11. Zmienianie trybów widoku MapView
- 16.12. Wyświetlanie ikony na warstwie bez korzystania z obiektów Drawable
- 16.13. Implementowanie wyszukiwania lokalizacji na mapach Google’a
- 16.14. Wyświetlanie widoku MapView w kontrolce TabView
- 16.15. Obsługa długich kliknięć w widokach MapView
- 16.16. Korzystanie z map OpenStreetMap
- 16.17. Tworzenie warstw dla map OSM
- 16.18. Stosowanie skali w mapach OSM
- 16.19. Obsługa dotknięć warstwy mapy OSM
- 16.20. Aktualizowanie lokalizacji na mapach OSM
-
17. Akcelerometr
- 17.1. Wprowadzenie — czujniki
- 17.2. Wykrywanie obecności lub braku czujnika
- 17.3. Wykorzystywanie akcelerometru do wykrywania potrząsania urządzeniem
- 17.4. Używanie akcelerometru do sprawdzania, czy ekran skierowany jest w dół, czy w górę
- 17.5. Określanie ułożenia telefonu z Androidem za pomocą czujnika orientacji
- 17.6. Odczyt wskazań czujnika temperatury
- 18. Bluetooth
-
19. Sterowanie systemem i urządzeniem
- 19.1. Wprowadzenie — sterowanie systemem i urządzeniem
- 19.2. Dostęp do informacji o sieci i połączeniu
- 19.3. Pobieranie informacji z pliku manifestu
- 19.4. Zmienianie trybu dzwonka telefonu na cichy, wibracje lub normalny
- 19.5. Kopiowanie tekstu i pobieranie go ze schowka
- 19.6. Powiadomienia oparte na diodach LED
- 19.7. Włączanie wibracji w urządzeniu
- 19.8. Uruchamianie poleceń powłoki z poziomu aplikacji
- 19.9. Określanie, czy dana aplikacja jest uruchomiona
-
20. Inne języki programowania i frameworki
- 20.1. Wprowadzenie — inne języki programowania
- 20.2. Uruchamianie zewnętrznych, natywnych instrukcji Uniksa i Linuksa
- 20.3. Uruchamianie kodu natywnego w języku C lub C++ za pomocą interfejsu JNI z pakietu NDK
- 20.4. Wprowadzenie do aplikacji Scripting Layer for Android (SL4A; wcześniej Android Scripting Environment)
- 20.5. Tworzenie alertów za pomocą biblioteki SL4A
- 20.6. Pobieranie dokumentów Google i wyświetlanie ich w kontrolce ListView za pomocą biblioteki SL4A
- 20.7. Używanie kodów QR do rozpowszechniania skryptów SL4A
- 20.8. Używanie JavaScriptu do wykorzystania wbudowanych funkcji telefonu poprzez kontrolkę WebView
- 20.9. Tworzenie aplikacji niezależnych od platformy za pomocą frameworku PhoneGap
- 21. Łańcuchy znaków i internacjonalizacja
-
22. Tworzenie pakietów, instalowanie, dystrybucja i sprzedaż aplikacji
- 22.1. Wprowadzenie — tworzenie pakietów, instalowanie i dystrybucja
- 22.2. Tworzenie certyfikatu używanego przy podpisywaniu
- 22.3. Podpisywanie aplikacji
- 22.4. Udostępnianie aplikacji w sklepie Google Play (dawny Android Market)
- 22.5. Integrowanie sieci AdMob z aplikacją
- 22.6. Zaciemnianie i optymalizowanie kodu za pomocą ProGuarda
- 22.7. Odnośniki do aplikacji ze sklepu Google Play
- A. O autorze
- Indeks
- Kolofon
- Copyright
Product information
- Title: Android. Receptury
- Author(s):
- Release date: February 2013
- Publisher(s): Helion
- ISBN: 97888324662692
You might also like
book
The Web Application Hacker's Handbook, 2nd Edition
The highly successful security book returns with a new edition, completely updated Web applications are the …
book
Office 365 All-in-One For Dummies
The deepest reference on Microsoft’s productivity service Office 365 offers the same productivity power as past …
book
Governance, Risk Management, and Compliance: It Can't Happen to Us—Avoiding Corporate Disaster While Driving Success
An expert's insider secrets to how successful CEOs and directors shape, lead, and oversee their organizations …
book
Java. Praktyczne narzędzia
Dzięki tej książce poznasz 33 praktyczne narzędzia, które ułatwią Twoją pracę — narzędzia, które zwiększą niezawodność …