¿Es posible desarrollar una aplicación para Android dirigida a dispositivos móviles y también usar el mismo código para ejecutar en Windows, Linux o OSX como una aplicación de escritorio java independiente sin usar un emulador? Es decir. tener el aspecto y la sensación de una aplicación java convencional funcionando de forma autónoma?¿Puedo ejecutar ejecutar una aplicación de Android como una aplicación de escritorio independiente sin un emulador?
Respuesta
Android usa un marco de interfaz de usuario personalizado, que no se ejecuta en el escritorio. Entonces, la respuesta corta es no.
Respuesta larga:
A pesar de lo anterior, usted todavía será capaz de volver a utilizar algún código no interfaz de usuario entre los dos. Cualquier código que no llame a Android. * Probablemente se transfiera.
También podría escribir una capa de abstracción que oculte los detalles del conjunto de herramientas de la interfaz de usuario.
Finalmente, también hay algunos marcos de desarrollo de aplicaciones de terceros que funcionan en múltiples plataformas. El que viene inmediatamente a la mente es Appcelerator's Titanium, pero también hay otros por ahí. Puede tener algo de suerte con esto.
Gracias, veo que requerirá trabajo adicional. – icecream
¿No parece que, dado que Android es de código abierto, esta es una oportunidad de desarrollo madura, una aplicación de marco que permitiría que las aplicaciones de Android se ejecutaran en sistemas operativos de escritorio? Eso sería IMPRESIONANTE. – delfuego
Parece un trabajo para Chrome OS. – GuyNoir
Bueno, para hacer esto es necesario escribir una capa de abstracción estándar para las API específicas de UI y Android. Básicamente esconder todas las llamadas específicas de Android y Escritorio detrás de las interfaces.
Esto no debería ser un problema muy grande ya que existe una gran superposición entre Android SDK y el JDK.
Además, para cosas como el análisis XML, la red puede usar las clases que funcionan en ambos.
Aparte de esto, no creo que haya otro enfoque que 'automáticamente' haga que su código Android se ejecute como una aplicación Java Desktop.
Las aplicaciones de Android se ejecutan en el Dalvik Virtual Vachine que una máquina virtual personalizada (VM) que no es directamente compatible con una máquina virtual estándar de Java.
Por lo que yo sé, las únicas implementaciones de Dalvik VM están en dispositivos Android y el emulador.
Obviamente, las aplicaciones de Android están escritas en Java, por lo que no hay nada que le impida compartir algún código entre una aplicación de Android y la aplicación Java Desktop, pero probablemente esa sea la parte de "lógica de negocios". Va a ser difícil hacer que se vean iguales ya que las clases de Android no se han portado a la máquina virtual Java y no hay implementación de AWT o Swing para Android.
lo que podría ser capaz de crear su propia ListModel
clase de datos que contiene y luego mostrarlo usando un ListView
en Android y un JList
en el escritorio, por lo que tendrá los datos, pero las pantallas se verá diferente.
El proyecto Skorpios le permite ejecutar aplicaciones OpenGL tanto en el escritorio como en Android utilizando una sola base de código.
Hay algunos ejemplos mínimos. Here es el código común para aquellos.
Para ejecutar el código común en el escritorio, pase una instancia del juego a DesktopGLView. Yo uso this class para ejecutar las pruebas, simplemente paso el nombre simple de la clase de prueba como un argumento de línea de comando. Por ejemplo, "FontTest".
Para ejecutar el código común en Android, pase una instancia del juego a AndroidGLView, que es un android.view.SurfaceView que puede poner en su android.app.Activity. A menudo querrás una actividad que solo muestre tu juego, en cuyo caso puedes pasar la instancia del juego a GameActivity en lugar de AndroidGLView. Si solo desea ejecutar las aplicaciones de prueba en un teléfono Android, puede implementar el skorpios-android-test project en su teléfono.
Skorpios es bastante resbaladizo y funciona bien. La velocidad de desarrollo aumenta drásticamente mediante el uso de HotSwap de Java en el escritorio, ya que los tiempos de implementación de Android suelen ser de más de 60 segundos. Desarrollar en el escritorio y después de hacer algún progreso real, ejecute su aplicación en Android y simplemente funciona. FWIW, tengo algunos proyectos relacionados que también son compatibles con el escritorio y Android para las redes cliente/servidor with TCP/UDP y otro with HTTP/servlets/Google App Engine.
Sin embargo, Skorpios todavía es temprano en su vida. Soy el autor y me he distraído con otras cosas últimamente. Hasta ahora tiene many basic OpenGL functions. Es muy fácil admitir nuevas funciones (solo agréguelas a GL, DesktopGL y AndroidGL) y las he agregado cuando sea necesario.
Tengo la intención de que el proyecto actúe como una capa de abstracción para OpenGL, pero también para las características de escritorio/Android que no sean de OpenGL, comúnmente usadas en los juegos. He aquí algunos ejemplos que se implementan actualmente:
Preferences persiste un HashMap en el disco en el escritorio y utiliza android.content.SharedPreferences en Android.
Database proporciona un acceso simple a SQLite en Android y actualmente no es operativo para el escritorio.
Device proporciona acceso a la vibración de Android y actualmente no funciona en el escritorio.
ResourceLoader proporciona acceso a archivos, preferencias y bases de datos en cada plataforma.
- 1. "Ejecutar como" falta la aplicación de Android
- 2. ¿cómo puedo ejecutar un applet como aplicación?
- 3. Ejecutar una aplicación J2EE/Grails como aplicación de escritorio de Windows
- 4. Ejecutar una aplicación WPF como un servicio de Windows
- 5. Ejecutar una aplicación de Python en un teléfono Android real
- 6. ¿Cómo ejecutar una aplicación sin elevación?
- 7. ¿Hay una manera más fácil de ejecutar una aplicación de Android usando el emulador de eclipse?
- 8. ejecutar un servicio de Windows como una aplicación de consola
- 9. ¿Cómo ejecutar una aplicación específica de Android usando Terminal?
- 10. Ventajas de ejecutar una aplicación como un servicio
- 11. Eclipse: "Ejecutar como" no muestra los elementos de la lista (como "Ejecutar como aplicación de Android")
- 12. Uso de OSGi en una aplicación de escritorio independiente
- 13. ¿Cómo "ejecutar" una aplicación de Android exportada usando Eclipse + Proguard?
- 14. ¿Cómo ejecutar una aplicación como "ejecutar como administrador" desde el símbolo del sistema?
- 15. Ejecutar el método principal de Java desde una aplicación de escritorio Java en una JVM diferente
- 16. ¿Crear una aplicación de escritorio (ventana) que se pueda ejecutar sin instalar?
- 17. ¿Cómo puedo ejecutar una aplicación GAE en un servidor privado?
- 18. ¿Cómo puede un servicio de Windows ejecutar una aplicación GUI?
- 19. ¿Cómo puedo hacer una aplicación de escritorio portátil de python?
- 20. ¿Cómo puedo ejecutar una aplicación WPF en un nuevo dominio de aplicación? ExecuteAssembly falla
- 21. ¿Cómo ejecutar una aplicación de Android en segundo plano?
- 22. cómo ejecutar una prueba de Capibara independiente?
- 23. Ejecutar la aplicación Java como servicio
- 24. Cómo ejecutar solo una instancia de aplicación
- 25. ¿Cómo ejecutar la aplicación del sistema Android sin root?
- 26. ¿Se puede ejecutar una aplicación web ASP.NET sin web.config
- 27. Eclipse Aplicación de Android: Ejecutar firmado con certificado real
- 28. Ejecutar una versión personalizada de una aplicación Rails
- 29. NSIS: instalar una aplicación para ejecutar siempre como administrador
- 30. ¿Volver a cargar la aplicación de Android en el emulador sin reiniciar el emulador en Eclipse?
Recuerdo esto desde hace un tiempo: http://arstechnica.com/open-source/news/2009/05/canonical-developers-aim-to-make-android-apps-run-on- ubuntu.ars Havnt visto ningún progreso ya que aunque –
Gracias, buena información. – icecream