"The Grid. A digital frontier. I tried to picture clusters of information as they move through the computer. What did they look like? Ships? Motorcycles? Were the circuits like freeways? I kept dreaming of a world I thought I’d never see. And then, one day, I got in." — Tron: Legacy

2013-05-28

Clojure na Android Intro

Tym razem wstępniak do tworzenia aplikacji na Androida przy użyciu języka programowania Clojure. Clojure to jeden z ciekawszych praktycznych języków funkcyjnych (w przeciwieństwie np. do Haskella). Jako, że to Lisp, można go po prostu uruchomić i zacząć hackować. Język ten ułatwia zabawę z kodem i stymuluje ciekawość. Clojure promuje eksperymentowanie. Z resztą przekonaj się sam. 

To tylko króciutkie intro przedstawiające proces konfiguracji i uruchomienia środowiska. Dla niecierpliwych, którzy chcą więcej polecam zapoznać się z biblioteką neko: https://github.com/alexander-yakushev/neko . 


Narzędzia:
  • Emulator Androida lub tablet/telefon z tym systemem w wersji 2.3+. Na potrzeby filmu użyję Androida 4.0 z VirtualBox Skonfigurowanego zgodnie z opisem we wpisie na blogu dot. Androida na PC.
  • Menedżer projektów Leiningen w wersji 2.0+
  • SDK Androida z bibliotekami API minimum 10 dla systemu w wersji 2.3
  • Edytor tekstów z obsługą nREPL lub SWANK - musi mieć możliwość manualnego połączenia się z serwerem projektu dołączonego do edytowanej aplikacji. Ja używam Eclipse z wtyczką Counterclockwise. Kto che może silić się na Emacsa lub Vim - w/g mnie to zbędne hipsterstwo.
Przygotowanie:
Po ściągnięciu lein.bat należy go skopiować do katalogu, który jest uwzględniony w zmiennej systemowej PATH lub odpowiednio zamieszać w ustawieniach systemu.
Następnie polecenie w terminalu: lein self-install
Teraz trzeba zainstalować plugin do Leiningena, który zautomatyzuje tworzenie/kompilację i uruchamianie projektu na Androidzie.
Edytuję plik "~/.lein/profiles.clj", ~ - katalog domowy użytkownika. Jeżeli pliku nie ma, trzeba go utworzyć. Chodzi o to, by podać ścieżkę do SDK Androida. U mnie wygląda on tak:
{ :user {
:android {:sdk-path "C:/Programy/Android/android-studio/sdk"}
:plugins [[lein-droid "0.1.0-preview5"]]
:dependencies []}}
Mając tak przygotowany plik można utworzyć projekt demo aplikacji.
Odświeżenie zależności :
lein deps
Utworzenie podstawowej aplikacji :
lein droid new demo org.demo :activity DemoActivity :target-sdk 10 :app-name DemoApp
cd demo
Utworzenie konfiguracji do importu w Eclipse:
lein pom
Teraz należy uruchomić emulator Androida. W moim przypadku uruchamiam wirtualna maszynę, czekam aż się załaduje i z konsoli:
adb connect 192.168.1.18
Uruchomienie:
lein droid doall
Projekt powinien się skompilować i wystartować w Androidzie. Program posiada działający serwer REPL na porcie domyślnym 9999.
Teraz czas na Eclipse i zaimportowanie projektu. Jako import wybieram projekt Mavena i wyszukuję pliku pom.xml . Można wyłączyć automatyczne budowanie projektu by odciążyć PC i tak będziemy eksperymentować w REPL. Z Menu Window w Eclipse wybieramy Connect to REPL, podajemy adres IP i port i działamy.

Tworzenie projektu i kilka wykonanych przykładowych operacji na programie można zobaczyć tutaj:



Brak komentarzy:

Prześlij komentarz