Phonegap podstawy - konfiguracja i pierwszy program
Phonegap to narzędzie open source łączące aplikacje internetowe z interfejsami api urządzeń mobilnych.
Zawiera szkielety projektów aplikacji natywnych dla poszczególnych platform - między innymi
dla Androida. Dzięki Phonegap można z poziomu javascriptu uzyskać dostęp do różnych
funkcji sprzętowych telefonu np. kamery czy akcelerometru.
Konfiguracja środowiska
Naszą przygodę z Phonegapem zaczniemy od skonfigurowania środowiska: Eclipse, Android SDK, Eclipse ADT oraz AppLaud. Jest to mój standardowy zestaw do tworzenia aplikacji na Androida przy użyciu Phonegap. Najpierw należy pobrać środowisko Eclipse Classic ze strony www.eclipse.org/downloads. Wystarczy rozpakować pobraną paczkę i uruchomić plik wykonywalny eclipse. Środowisko powinno się uruchomić, pytając przy okazji o folder, w którym chcemy trzymać nasze projekty. Teraz należy zainstalować plugin ADT do Eclipse. W tym celu trzeba wejść do Help > Install New Software, następnie kliknąć Add w prawym rogu, aby dodać adres url: https://dl-ssl.google.com/android/eclipse/Klikamy OK.
W oknie Available Software zaznaczamy checkboxem Developer Tools i klikamy Next.
W następnym oknie również klikamy Next.
Potem musimy zaakceptować licencje i kliknąć Finish.
Jeśli pojawi się ostrzeżenie o zabezpieczeniach kliknij przycisk OK.
Po zainstalowaniu trzeba jeszcze zrestartować Eclipse.
Teraz należy zainstalować android sdk. Zmieniamy perspektywę na Java (jeśli nie mamy takiej ustawionej) Window > Open Perspective > Java. Wybieramy Window > Android SDK Manager. W oknie, które się pojawi możemy zainstalować różne składniki sdk oraz wersje api androida. Na poniższym rysunku okno mojego sdk managera z zaznaczonymi zainstalowanymi składnikami (Linux). Ważne jest aby na Windowsie zainstalować Google USB Driver jeśli chcemy testować nasze aplikacje na rzeczywistym urządzeniu. Po wybraniu składników klikamy Install packages, akceptujemy licencję i ponownie klikamy Install.

W oknie Available Software zaznaczamy checkboxem Phonegap for Android. Instalujemy i restartujemy Eclipse. Jeśli nie masz zainstalowanego edytora stron możesz go w tym momencie zainstalować (więcej na ten temat tutaj). Powinieneś również mieć zainstalowane Javascript Developer Tools.
Jeśli jesteś użytkownikiem Linuxa ustaw swoją zmienną środowiskową PATH w Twoim pliku ~/.bashrc lub ~/.bash_profile na: PATH=${PATH}:katalog_z_sdk/tools
oraz wydaj polecenie w konsoli:
export PATH=${PATH}:katalog_z_sdk/toolsW celu ustawienia emulatora do testowania aplikacji przechodzimy do Window > Android Virtual Device Manager. Więcej na ten temat tutaj.
Tworzymy pierwszy projekt
Utworzymy pierwszy projekt tzw. Hello World. W tym celu klikamy na ikonkę Create new phonegap project (powinniśmy być w perspektywie Java).





<script type="text/javascript" charset="utf-8" src="cordova.js"></script>Teraz omówimy krótki kod, który standardowo jest dołączony do pliku index.html.
var onDeviceReady = function() { document.getElementById("devready").innerHTML = "OnDeviceReady fired."; }; function init() { document.addEventListener("deviceready", onDeviceReady, true); }Ważne jest tu to, że obsługujemy zdarzenie deviceready. Zdarzenie to oznacza, że Cordova (Phonegap) została całkowicie załadowana. Można wtedy korzystać z natywnych funkcji urządzenia. W funkcji obsługującej to zdarzenie do elementu o id devready zostaje wstawiony tekst "OnDeviceReady fired.". Do funkcji obsługującej zdarzenie dodajmy teraz coś od siebie. Dodamy proste powiadomienie (notofication) wyświetlające napis "Hello World of PhoneGap".
navigator.notification.alert("Hello World of PhoneGap");Pełny kod pliku index.html wygląda teraz następująco:
<!DOCTYPE HTML> <html> <head> <meta name="viewport" content="width=320; user-scalable=no" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Minimal AppLaud App</title> <script type="text/javascript" charset="utf-8" src="cordova.js"></script> <script type="text/javascript" charset="utf-8"> var onDeviceReady = function() { document.getElementById("devready").innerHTML = "OnDeviceReady fired."; navigator.notification.alert("Hello World of PhoneGap"); }; function init() { document.addEventListener("deviceready", onDeviceReady, true); } </script> </head> <body onload="init();" id="stage" class="theme"> <h2>Minimal AppLaud App</h2> <p>Your app goes here.</p> <p> <span id="devready">onDeviceReady not fired.</span> </p> </body> </html>Uruchomimy teraz nasz program na emulatorze (AVD). Wybierz projekt w project explorerze z lewej strony. Kliknij na nim prawym przyciskiem myszy i z menu kontekstowego wybierz Run As > Run Configurations. Powinno się pojawić poniższe okno. Po lewej zaznacz nazwę aplikacji (w naszym przypadku HelloWorld) i przejdź na zakładkę Target. Zaznacz opcję "Automatically pick compatible device". Wybierz wirtualne urządzenie, na którym chcesz uruchomić aplikację i kliknij Run. Jeśli lista avd jest pusta musisz dodać jakieś wirtualne urządzenie.



