¿Alguien tiene alguna sugerencia sobre el almacenamiento de datos de libGDX en Android en SQLite. Estoy muy familiarizado con las técnicas utilizadas en Android SDK, pero no tengo idea de cómo llamar a esas funciones de la base de datos de Android desde libGDX. Sé que llamar a las funciones de libGDX hará que mi juego no se pueda usar en el escritorio, pero puedo lidiar con eso.Uso de SQLite desde libGDX en Android
Respuesta
Un enfoque es siempre crear una interfaz en su proyecto principal, llamémoslo NativeFunctions
. Luego, permite que tanto su escritorio como su aplicación/actividad de Android implementen esta interfaz. Al crear su proyecto principal, pasa la aplicación/actividad a lo largo. En su aplicación principal mantiene una referencia a la interfaz aprobada y la usa para llamar a las funciones nativas, que puede implementar para escritorio y Android por separado (sin inutilizar el juego en el escritorio, también puede usar SQLite allí;).
Ok, eso fue complicado, así que vamos a ver en acción (definir una función para abrir una URL):
La interfaz:
public interface NativeFunctions {
public void openURL(String url);
}
La clase principal:
public class MyGame extends Game/ApplicationListener {
public NativeFunctions mNativeFunctions;
public MyGame(NativeFunctions nativeFunctions) {
mNativeFunctions = nativeFunctions;
}
// Exemplary function call, of course this doesn't make sense in render() ;)
public void render() {
mNativeFunctions.openURL("http://www.example.com");
}
}
La implementación de Android:
public class MyGameActivity extends AndroidApplication implements NativeFunctions {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initialize(new MyGame(this), false);
}
public void openURL(String url) {
Intent viewIntent = new Intent("android.intent.action.VIEW",
Uri.parse(url));
startActivity(viewIntent);
}
}
La aplicación de escritorio:
public class MyGameDesktop implements NativeFunctions {
public static void main(String[] args) {
MyGameDesktop game = new MyGameDesktop();
new LwjglApplication(new MyGame(game), "MyGame", 800,
480, false);
}
public void openURL(String url) {
// Your implementation to open URL on dekstop
}
}
Eso es todo, su aplicación a utilizar SQLite probablemente debería ser a lo largo de la misma forma. Por cierto. Creo que esa es también la manera de integrar cuadros de anuncios y de hablar con el sistema en general.
- 1. libgdx dentro Android Actividad
- 2. Conceptos básicos de Android, libgdx y box2d
- 3. Capa de scripting para Android - LibGDX
- 4. Libgdx app.exit() en Android no cierre la aplicación
- 5. Disparadores SQLite en Android?
- 6. ¿Cómo uso declaraciones preparadas en SQlite en Android?
- 7. Uso de AND y OR en SQLite
- 8. Resolución de pantalla completa en Android para juegos libgdx
- 9. aplicación libgdx y android. Imagen como fondo
- 10. Android Emulator no inicia el proyecto LibGDX?
- 11. Cocos2D O libgdx para Android Game Development
- 12. android sqlite sincronización bidireccional sqlite
- 13. AssetManager en LibGDX
- 14. Uso de SQLite con Qt
- 15. sqlite problema como en Android
- 16. Usando en-memoria sqlite android
- 17. Uso de SQLITE con VB6
- 18. Tienda Android SQLite
- 19. cifrado sqlite para Android
- 20. Carga lenta desde SQLite
- 21. libgdx o playn?
- 22. hilos de java en libGDX
- 23. Acciones de Actores en libgdx
- 24. sqlite example program en android
- 25. WHERE cláusula en Android sqlite?
- 26. Restablecimiento Autoincrement en Android SQLite
- 27. Android SQLite filtró
- 28. Uso de SQLite con ASP clásico
- 29. Uso de Fluidsynth para reproducir notas desde SoundFonts en Android
- 30. Uso de OpenGL desde el hilo principal en Android
¡Impresionante! Funcionó a la perfección! Este es un buen conocimiento para muchas situaciones. Gracias por la ayuda. Parece que estás respondiendo todas mis preguntas últimamente jaja. –
¡De nada! En realidad, estoy usando LibGDX con bastante frecuencia y como stackoverflow ya ha respondido a muchas de mis preguntas, me alegra devolver algo;). – dom