Java ME. Tworzenie zaawansowanych aplikacji na smartfony - ebook
Java ME. Tworzenie zaawansowanych aplikacji na smartfony - ebook
Popularna platforma - profesjonalne aplikacje!
Ponad 80% dostępnych obecnie telefonów komórkowych współpracuje z platformą Java ME. Java ME jest okrojoną (Micro Edition) wersją popularnego języka Java. Jeżeli chcesz przygotować uniwersalną aplikację, działającą na większości telefonów, ta platforma powinna być Twoim naturalnym wyborem. Korzystając z wygodnego i powszechnie znanego języka oraz licznych narzędzi wspomagających pracę, błyskawicznie osiągniesz swój cel. Jednak zanim przystąpisz do działania, musisz poznać możliwości i ograniczenia Javy ME oraz nauczyć się tworzyć wysokiej jakości kod.
Z tą książką to nic trudnego. Omawia ona wszystkie zagadnienia związane z profesjonalnym wytwarzaniem aplikacji dla platformy Java ME. W trakcie lektury dowiesz się, jak podzielić aplikację na moduły nadające się do ponownego użycia, jak utrwalać dane oraz jak testować kod. Ponadto opanujesz techniki optymalizacji kodu, tworzenia atrakcyjnego interfejsu użytkownika oraz rysowania zaawansowanych komponentów graficznych. Na sam koniec będziesz mógł zapoznać się z wizją przyszłości dla platformy Java ME, która mimo inwazji platform Android, iOS i Windows Phone wcale nie jest taka ponura! Książka ta dostarczy ogromną ilość przydatnej wiedzy średnio zaawansowanym i zaawansowanym programistom Java ME.
Dowiedz się:
- co odróżnia platformę przenośną od platformy biurkowej
- w jaki sposób projektować i implementować aplikację Javy ME
- jak rozwiązywać problemy pojawiające się przy tworzeniu oprogramowania na platformie Java ME
- jakie są poprawne techniki tworzenia aplikacji Javy ME
- jak przeprowadzać optymalizację kodu oraz opracowywać wysokiej jakości aplikacje
Poznaj nowoczesne podejście do programowania w oparciu o najnowsze wersje platformy Java ME i zbuduj od podstaw w pełni funkcjonalną aplikację!
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)
- 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)
- 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)
- 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)
- Struktury przenoszenia kodu (235)
- Preprocesor (236)
- Baza danych informacji o urządzeniu (237)
- Silnik kompilacji (238)
- Abstrakcja API (239)
- Obsługa wielu platform (239)
- Kod pomocniczy i narzędzia (240)
- Biblioteka interfejsu użytkownika (240)
- Pomoc techniczna (241)
- Licencja na kod (242)
- Programowanie na różne platformy i narzędzia służące do przenoszenia kodu (242)
- Podsumowanie (243)
Rozdział 10. Optymalizacja kodu (245)
- Krótkie wprowadzenie do optymalizacji kodu (246)
- Techniki optymalizacji kodu (248)
- Szybkie przełączanie ścieżki wykonywania kodu (248)
- Unikanie powielania kodu (249)
- Wykorzystanie zalet płynących z lokalizacji (249)
- Optymalizacja operacji matematycznych (250)
- Rezygnacja z użycia pętli (253)
- Kod osadzony (254)
- Optymalizacja pętli wykonujących operacje matematyczne (254)
- Usunięcie warunków z pętli (256)
- Eliminowanie iteracji specjalnych z pętli (256)
- Rozbicie pętli (257)
- Unikanie wysokiego poziomu funkcji języka (258)
- Pozostawanie przy podstawach (259)
- Unikanie tworzenia niepotrzebnych obiektów (259)
- Optymalizacja dostępu do pamięci (263)
- Techniki optymalizacji algorytmu (263)
- Porównywanie algorytmów (264)
- Usprawnianie algorytmów (266)
- Podsumowanie (273)
Rozdział 11. Dopracowanie aplikacji i usprawnienia interfejsu użytkownika (275)
- Dopracowanie aplikacji w każdym szczególe (276)
- Omówienie dopracowywania szczegółów aplikacji (276)
- Prawidłowe umieszczenie pomocy w aplikacji (278)
- Dodawanie informacji kontekstowych (279)
- Dodawanie poprawnego systemu informacji zwrotnych (280)
- Dodawanie możliwości obsługi tekstu adaptacyjnego (281)
- Dodawanie obsługi historii i automatycznego uzupełniania (283)
- Dodawanie wykrywania intencji (284)
- Synchronizacja danych pomiędzy urządzeniami (286)
- Usprawnienie interakcji z użytkownikiem (287)
- Unikanie zmylenia użytkownika (287)
- Stosowanie jak najprostszego interfejsu użytkownika (289)
- Ułatwienie klientom dotarcia do Ciebie (290)
- Utworzenie nie tylko przenośnych wersji aplikacji (291)
- Dostarczanie częstych uaktualnień aplikacji (292)
- Dodawanie obsługi motywów (293)
- Reklamowanie podobnych produktów (294)
- Wybór dopracowanych szczegółów do zaimplementowania (295)
- Podsumowanie (295)
Rozdział 12. Testowanie aplikacji Javy ME (297)
- Zbieranie informacji procesu usuwania błędów (297)
- Wykonywanie testów jednostkowych (299)
- Rozwiązywanie najczęstszych problemów z testami jednostkowymi (300)
- Zbieranie wysokiej jakości danych procesu usuwania błędów (301)
- Przeprowadzanie testów w środowisku biurkowym (302)
- Wizualny proces usuwania błędów (303)
- Przeprowadzanie testów baterii (304)
- Testowanie aplikacji w różnych sytuacjach (306)
- Testowanie usprawnień w zakresie wydajności i technik optymalizacji (307)
- Podsumowanie (308)
Rozdział 13. Zaawansowana grafika w Javie ME (309)
- Używanie przygotowanej wcześniej grafiki (310)
- Używanie maski obrazu (314)
- Używanie technik mieszania obrazów (316)
- Obracanie obrazów (321)
- Zmiana wielkości obrazu (326)
- Implementacja innych efektów graficznych (328)
- Połączenie kilku efektów graficznych (329)
- Podsumowanie (330)
Rozdział 14. Odpowiednie nastawienie programisty Javy ME (331)
- Możliwości Javy ME nierozerwalnie łączą się z urządzeniem działającym pod jej kontrolą (332)
- Najlepsze praktyki dotyczące optymalizacji aplikacji (335)
- Trzymaj się priorytetów (337)
- Ważne jest myślenie nieszablonowe (340)
- Pamiętaj o prostocie (342)
- Ustalenie standardu opisującego sposób działania aplikacji (344)
- Planowanie dla najgorszej z możliwych sytuacji (347)
- Określenie ograniczeń aplikacji (347)
- Podsumowanie (350)
Rozdział 15. Przyszłość Javy ME (351)
- Ewolucja sprzętu działającego pod kontrolą Javy ME (351)
- Ewolucja API Javy ME (353)
- Ewolucja nastawienia programisty Javy ME i filozofii tworzenia oprogramowania (354)
- Rynek docelowy dla Javy ME (355)
- Java ME i inne platformy (356)
- Rodzaje aplikacji Javy ME (358)
- Innowacje Javy ME (359)
- Śmierć Javy ME (360)
- Podsumowanie (361)
Rozdział 16. Zakończenie (363)
- Materiał przedstawiony w książce (363)
- Co dalej? (364)
- Na koniec (365)
Skorowidz (367)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-5018-7 |
Rozmiar pliku: | 3,1 MB |