2011-10-08 15 views
31

Empecé a aprender Scala, y yo ... Creo que estoy enamorado. Solo he codificado pequeños fragmentos de prueba hasta ahora, pero dado que actualmente trabajo en el desarrollo de Android, lo que realmente quiero hacer es ponerme a prueba para escribir aplicaciones de Android en Scala.Scala, Android y Eclipse

que he encontrado artículos y preguntas sobre el asunto, pero sobre todo en referencia a las versiones anteriores de los tres herramientas (Android SDK/Scala/Eclipse), así que la pregunta general es:

Hay alguien codificación de aplicaciones de Android en Scala en este momento, con el último SDK, Scala 2.9 y Eclipse Indigo? ¿Qué tan viable es?

Y, en particular:

  1. ¿Cómo es la interacción/integración entre las funciones de la biblioteca Scala y Android?

  2. ¿Cuál es el estado del complemento Scala para Eclipse? He leído todas las características que esperaría que estuvieran allí, pero me gustaría saber historias de primera mano, especialmente sobre el depurador.

  3. ¿Qué tan bien se automatiza el proceso de construcción (scala to java to dalvik, ant, proguard, etc.)?

Gracias!

+9

1 para la "Creo que estoy en el amor" parte;) – agilesteel

Respuesta

8

Estamos utilizando Scala en gran medida para probar nuestro código de Android - puede leer un informe de cómo lo estamos haciendo así que here. Usamos Ant o SBT para compilar: hay un excelente SBT plugin para el desarrollo de Android.

Habiendo dicho todo eso, no estoy seguro de que recomendaría Scala para la producción de desarrollo de Android. En particular, Scala 2.9.x básicamente no se puede usar ya que no hay una buena manera de que las bibliotecas funcionen en Android. Puede leer sobre el problema here.

Es una verdadera pena, ya que el desarrollo de Android se beneficiaría considerablemente de Scala si pudiéramos hacerlo funcionar correctamente.

+2

estoy programando con Scala 2.10 con el plugin AndroidProguardScala en Eclipse (véase más adelante). Scala se puede recomendar para el desarrollo de Android. –

3

Este vídeo desde ScalaDays 2011 puede ser hepful:

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

EDIT:

Si realmente desea ejecutar código Scala en Android (y no realmente hacer una aplicación, pero para ti), entonces tengo una solución más fácil. Depende de si su teléfono admite el procedimiento. En resumen, los pasos son:

  1. instalar Ubuntu en su dispositivo (como se describe here). Esto no afectará la instalación de Android.

  2. Arranca Ubuntu, instala JDK, Scala, etc., copia tus frascos de Scala y ejecuta desde allí.

3

empecé a poner en práctica la aplicación Android (un cliente de Twitter) del libro "Learning Android" con Scala 2.9.0-1 hace un tiempo.

En mi opinión usted puede usarlo.Solo tuve un problema con la lista de parámetros en AsyncTask (vea esto link, problema n. ° 3). Si desea finalizar la compra del proyecto, puede encontrarlo here.

4

solución encontrada aquí para utilizar el último SDK de Android, con Eclipse 3.7.2 y Scala 2.9:

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

  1. Se ocupa por completo la biblioteca androide
  2. Puede hacer Biblioteca de Android proyectos scala como de costumbre
  3. El proceso de compilación está completamente automatizado, incluyendo la provisión y exportación del proyecto con las herramientas regulares de Android.
+0

Extraño pero cierto, desde algún día no puedo lanzar aplicaciones de Android creadas con 'scala 2.9' (' 2.9.3 RC1', para ser precisas) no más, porque obtengo 'NoClassDefFound' en tiempo de ejecución, aunque las clases correspondientes están efectivamente escritas en 'classes.dex'. Pero el 'scala 2.10.0' más reciente funciona casi de maravilla (de momento, existen algunas incompatibilidades extrañas con android, por ejemplo el método' "" .format (...) 'generado bytecode que Android no puede entender correctamente –

+0

Yo también. No sé por qué. Ya me he cambiado a scala 2.10 –

Cuestiones relacionadas