java me. tworzenie zaawansowanych aplikacji na smartfony full scan.pdf

(26688 KB) Pobierz
887616754.001.png
Spis treści
O autorze ................................................................................................ 13
O recenzencie technicznym .................................................................. 14
Podziękowania ....................................................................................... 15
Wstęp ...................................................................................................... 17
Co znajdziesz w tej książce? ................................................................................ 18
Czego potrzebujesz? ............................................................................................. 18
Zabawę czas zacząć ............................................................................................... 19
Rozdział 1
Pierwsze kroki ........................................................................................ 21
Java ME i współczesne urządzenia przenośne .................................................. 21
Zalety platformy Java ME .............................................................................. 21
Wady platformy Java ME .............................................................................. 22
Podsumowanie ................................................................................................ 23
Budowanie aplikacji Javy ME .............................................................................. 24
Pomysł .............................................................................................................. 24
Cele, funkcje, źródła przychodów i urządzenia docelowe ........................ 25
Wybór urządzeń docelowych ....................................................................... 26
Identyfikacja ograniczeń technicznych aplikacji ....................................... 27
Aplikacje amatorskie i aplikacje profesjonalne .......................................... 33
Aplikacje Javy ME a elastyczność kodu ............................................................. 35
Programowanie defensywne ......................................................................... 36
Unikanie błędnych założeń ........................................................................... 38
Zarządzanie złożonością ................................................................................ 39
Zastępowanie zasobów .................................................................................. 40
Luźne powiązania i decentralizacja architektury ....................................... 42
Unikanie niepotrzebnego obciążenia .......................................................... 43
Podsumowanie ...................................................................................................... 44
Rozdział 2
Platforma aplikacji Javy ME .................................................................. 45
Znaczenie platformy aplikacji ............................................................................. 45
Dostosowanie platformy do aplikacji ................................................................ 46
Definiowanie struktury platformy ..................................................................... 47
6
Java ME. Tworzenie zaawansowanych aplikacji na smartfony
Podstawowe typy obiektów ................................................................................. 47
Zdarzenia ......................................................................................................... 49
Obserwatory zdarzeń ..................................................................................... 50
Dostawcy danych ............................................................................................ 51
Odbiorcy (konsumenci) ................................................................................ 52
Menedżery ....................................................................................................... 52
Modele i kontrolery ........................................................................................ 53
Widoki ............................................................................................................. 54
Standardowe obiekty ............................................................................................ 55
Klasa EventController .................................................................................... 55
Menedżer kontrolerów zdarzeń ................................................................... 57
Główne obiekty i klasy ......................................................................................... 59
Klasa Application ........................................................................................... 59
Klasa EventManagerThreads ........................................................................ 61
Klasa Bootstrap ............................................................................................... 64
Prosta aplikacja testowa ....................................................................................... 65
Podsumowanie ...................................................................................................... 69
Rozdział 3
Definicje danych .................................................................................... 71
Po co implementujemy interfejs Model? ........................................................... 71
Niemodyfikowalne typy danych ......................................................................... 72
Definiowanie typu Tweet .................................................................................... 73
Definiowanie typu TwitterUser .......................................................................... 74
Definiowanie interfejsu TwitterServer .............................................................. 75
Definiowanie typu UserCredentials ................................................................... 76
Definiowanie typu TweetFilter ........................................................................... 77
Definiowanie interfejsu Timeline ....................................................................... 78
Inteligentna reprezentacja danych ..................................................................... 79
Podsumowanie ...................................................................................................... 80
Rozdział 4
Moduł sieciowy ...................................................................................... 81
Instalowanie i konfigurowanie biblioteki .......................................................... 81
Obiekty wysokiego poziomu ......................................................................... 84
Własne typy danych ....................................................................................... 84
Budowa implementacji obiektu TwitterServer ................................................. 85
Ogólna struktura klasy ................................................................................... 85
Inicjalizacja obiektu ....................................................................................... 86
Logowanie ........................................................................................................ 87
Wysyłanie wiadomości .................................................................................. 91
Pobieranie wiadomości .................................................................................. 92
Metody getMyProfile() i getProfileFor() ................................................... 103
Mechanizmy pracy sieciowej w aplikacjach Javy ME .................................... 104
Nie wyważaj otwartych drzwi ..................................................................... 104
Mobilny internet ma swoją specyfikę ........................................................ 105
Pamiętaj o ograniczeniach urządzeń docelowych ................................... 106
 
7
Spis treści
Zapewnij obsługę dławienia komunikacji i trybu uśpienia .................... 106
Efektywne przesyłanie danych .................................................................... 107
Unikanie nadmiernej rozbudowy warstwy sieciowej .............................. 108
Zachowuj niezależność ................................................................................ 109
Podsumowanie .................................................................................................... 109
Rozdział 5
Moduł pamięci trwałej ......................................................................... 111
Java ME a trwały zapis danych .......................................................................... 111
Projektowanie modułu pamięci trwałej ........................................................... 113
Dostawcy usług pamięci trwałej ................................................................. 114
Obiekty zapisujące i odczytujące rekordy ................................................. 115
Obiekty serializujące i deserializujące ....................................................... 117
Obiekty pomocnicze .................................................................................... 118
Implementowanie podstawowej architektury modułu .............................. 118
Implementowanie obiektów serializujących i deserializujących
(Serializer i Deserializer) ........................................................................... 118
Implementowanie obiektów odczytujących i zapisujących
(RecordReader i RecordWriter) ............................................................... 121
Implementowanie dostawcy usługi pamięci trwałej
(PersistenceProvider) ................................................................................ 122
Testowanie kodu ........................................................................................... 124
Pisanie obiektów pomocniczych ...................................................................... 125
Moduł pamięci trwałej w praktyce ................................................................... 130
Rozwijanie modułu ............................................................................................ 131
Podsumowanie .................................................................................................... 132
Rozdział 6
Moduł interfejsu użytkownika ........................................................... 133
Po co budować moduł UI od podstaw? ........................................................... 134
Wprowadzenie .................................................................................................... 135
Widżety .......................................................................................................... 135
Kontenery ...................................................................................................... 137
Prostokąty obcinania ................................................................................... 138
Widoki ........................................................................................................... 142
Motywy (kompozycje) ................................................................................. 143
Obsługa interakcji z użytkownikiem ......................................................... 144
Podstawowe mechanizmy widżetów ................................................................ 146
Klasa BaseWidget ......................................................................................... 146
BaseContainerWidget i BaseContainerManager ..................................... 148
Klasy konkretne widżetów ................................................................................ 154
Klasy VerticalContainer i HorizontalContainer ...................................... 154
Klasa SimpleTextButton .............................................................................. 158
Klasa StringItem ........................................................................................... 160
Klasa InputStringItem ................................................................................. 163
Klasa GameCanvasView .............................................................................. 165
8
Java ME. Tworzenie zaawansowanych aplikacji na smartfony
Testowanie modułu interfejsu użytkownika ................................................... 167
Implementowanie UI dla urządzeń z ekranem dotykowym ........................ 169
Kilka ważnych porad .......................................................................................... 171
Podsumowanie .................................................................................................... 173
Rozdział 7
Moduł lokalizacji .................................................................................. 175
Charakterystyka dobrego modułu lokalizacji ................................................. 175
Standardowe mechanizmy lokalizacji platformy Java ME ............................ 176
Budowa własnego mechanizmu lokalizacji aplikacji Javy ME ..................... 177
Przetwarzanie plików lokalizacji ................................................................ 179
Ładowanie danych lokalizacji ..................................................................... 181
Testowanie modułu lokalizacji ......................................................................... 185
Implementowanie zaawansowanych mechanizmów lokalizacji .................. 186
Podsumowanie .................................................................................................... 188
Rozdział 8
Łączenie elementów w gotową aplikację .......................................... 189
Uruchamianie aplikacji ...................................................................................... 189
FlowController — kontroler przepływu sterowania ...................................... 190
TweetsController — kontroler wiadomości tweet ......................................... 193
WelcomeScreenController i WelcomeForm
— kontroler i formularz ekranu powitalnego .............................................. 196
MainScreenController i MainForm
— kontroler i formularz ekranu głównego ................................................... 200
SettingsScreenController i SettingsForm
— kontroler i formularz ekranu ustawień konfiguracyjnych .................... 204
Klasa EVT ............................................................................................................ 208
Modyfikowanie i rozbudowa aplikacji ............................................................. 210
Poprawienie obsługi błędów ....................................................................... 210
Rozbudowa zakresu funkcji ........................................................................ 211
Dopracowanie platformy UI ....................................................................... 212
Podsumowanie .................................................................................................... 212
Rozdział 9
Fragmentacja urządzenia ................................................................... 213
Fragmentacja sprzętowa .................................................................................... 215
Procesor ......................................................................................................... 215
RAM ............................................................................................................... 218
Ekran .............................................................................................................. 220
Inne rozważania dotyczące sprzętu ............................................................ 222
Fragmentacja możliwości .................................................................................. 224
Niezgodność API ................................................................................................ 228
Lokalna niezgodność API ............................................................................ 229
Globalna niezgodność API .......................................................................... 231
Niezgodność wynikająca ze swobody interpretacji ................................. 234
 
Zgłoś jeśli naruszono regulamin