2011-10-08 9 views
31

Zacząłem uczyć się Scali, a ja ... Myślę, że jestem zakochany. Do tej pory kodowałem tylko małe wycinki testowe, ale ponieważ obecnie pracuję nad rozwojem Androida, naprawdę chcę spróbować swoich sił w pisaniu aplikacji na Androida w Scali.Scala, Android i Eclipse

znalazłem artykułów i pytań na ten temat, ale przede wszystkim odnosi się do starszych wersji trzech narzędzi (Android SDK/Scala/Eclipse), więc ogólne pytanie brzmi:

Czy ktoś kodowania aplikacji na Androida w Scali już teraz, z najnowszymi SDK, Scala 2.9 i Eclipse Indigo? Jak opłacalne jest to?

, aw szczególności:

  1. Jak to interakcja/integracja funkcji Scala i Android biblioteki?

  2. Jaki jest stan wtyczki Scala dla Eclipse? Czytałem wszystkie funkcje, których oczekiwałeś, ale chciałbym poznać historie z pierwszej ręki, szczególnie o debuggerze.

  3. Jak dobrze zautomatyzować proces budowania (scala do java to dalvik, ant, proguard, itp.)?

Dzięki!

+9

+1 za część "Myślę, że jestem zakochany";) – agilesteel

Odpowiedz

8

Używamy Scala do testowania naszego kodu Android - możesz przeczytać opis tego, jak to robimy: here. Do kompilacji używamy Ant lub SBT - istnieje doskonała SBT plugin dla rozwoju Androida.

Powiedziawszy to wszystko, nie jestem pewien, czy poleciłbym Scalę do programowania Android. W szczególności Scala 2.9.x jest w zasadzie bezużyteczna, ponieważ nie ma dobrego sposobu, aby biblioteki działały na systemie Android. Możesz przeczytać o numerze here.

To prawdziwa szkoda, ponieważ programowanie na Androidzie przyniosłoby znaczne korzyści ze Scali, gdybyśmy mogli sprawić, by działało poprawnie.

+2

Programuję z wersją 2.10 przy użyciu wtyczki AndroidProguardScala w czasie zaćmienia (patrz poniżej). Scala może być zalecana do rozwoju Androida. –

3

Ten film z ScalaDays 2011 może być hepful:

Scala on Android: Real-world Experience at Bump Technologies Michael Galpin

EDIT:

Jeśli naprawdę naprawdę chcesz uruchomić kod Scala na Androida (a nie naprawdę zrobić aplikację, ale dla siebie), wtedy mam łatwiejsze rozwiązanie. To zależy od tego, czy twój telefon obsługuje procedurę. Podsumowując kroki są:

  1. zainstalować Ubuntu na swoim urządzeniu (jak opisano here). Nie wpłynie to na instalację systemu Android.

  2. Uruchom Ubuntu, zainstaluj JDK, Scala, itp., Skopiuj słoiki Scala i uciekaj stąd.

3

zacząłem realizować android aplikacji (klient twitter) z książki "Learning Android" z Scala 2.9.0-1 jakiś czas temu.

Moim zdaniem możesz z niego korzystać.Miałem tylko jeden problem z listą parametrów w AsyncTask (zobacz ten link, problem nr 3). Jeśli chcesz wyrejestrować projekt, możesz go znaleźć here.

4

Rozwiązanie znaleźć tutaj, aby korzystać z najnowszych Android SDK z Eclipse 3.7.2 i Scala 2.9:

https://stackoverflow.com/a/11084146/1287856

  1. To całkowicie obsługuje android bibliotekę
  2. Można zrobić bibliotekę z Androidem Projekty scala jak zwykle
  3. Proces kompilacji jest całkowicie zautomatyzowany, włączając w to progresję i eksportowanie projektu za pomocą narzędzi Android Android.
+0

Dziwne, ale prawdziwe, od pewnego dnia nie mogę uruchamiać aplikacji na androida zbudowanych z 'scala 2.9' (w skrócie' '' '' '' '' '' '' '' '' '' '' '' '' do 'classes.dex'. Ale nowsza wersja 'scala 2.10.0' działa prawie w porządku (w tej chwili istnieją pewne dziwne niezgodności z Androidem, na przykład' '" .format (...) 'metoda wygenerowana przez kod, którego Android nie może poprawnie zrozumieć –

+0

Ja też. Nie wiem dlaczego, ale mam zamiar przejść na scala 2.10 –