|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
|
Herramientas |
#1
|
||||
|
||||
Error de permisos en juego 2D LibGdx
Buenas. He creado un juego 2D utilizando LibGdx y en Desktop me funciona perfectamente, pero en android me salta la siguiente excepción:
com.badlogic.gdx.utils.GdxRuntimeException: Error writing file: highscores.dat (External) at com.badlogic.gdx.files.FileHandle.writeString(File Handle.java:353) at com.badlogic.gdx.files.FileHandle.writeString(File Handle.java:339) at com.mygdx.game.game.HighScores.save(HighScores.jav a:52) at com.mygdx.game.game.HighScores.load(HighScores.jav a:15) at com.mygdx.game.pantallas.PantallaFinJuego.show(Pan tallaFinJuego.java:93) at com.badlogic.gdx.Game.setScreen(Game.java:61) at com.mygdx.game.pantallas.PantallaJuego$5.run(Panta llaJuego.java:368) ........... ........... Mi AndroidManifest: android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="23" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_ST ORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STO RAGE"/> <application android:allowBackup="true" ...................... La clase donde da el error: [color="red"]public class HighScores { public static String[] highscores = { "0", "0", "0" }; public static String archivoHighscores = "highscores.dat"; public static void load() { FileHandle arquivo = Gdx.files.external("highscores.dat"); String linea; if (!arquivo.exists()) HighScores.save(); linea=arquivo.readString(); highscores=linea.split(","); // ---- CÓDIGO ---- } public static void engadirPuntuacion(int puntuacion) { boolean encontrado = false; int i = 0; load(); |
|
#2
|
||||
|
||||
Más que de permisos es que desde KitKat la escritura en la SD por parte de apps es o bien imposible o limitada.
Lo mejor es que uses los ficheros solo para leer y las escrituras las hagas sólo con preferencias. Así la implementación te vale en escritorio, Android, web, iOS, etc. P.D.: Además que en este caso es más limpio tener unas preferencias que crear un fichero, parsearlo, etc. cuando al final quieres tres valores nada más que con tres valores en las preferencias lo resuelves rápido.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Última edición por mocelet Día 22/02/16 a las 20:54:48. |
#3
|
||||
|
||||
Buenas, he probado con un AVD de API 18 y funciona. Muchisimas gracias
|
Estás aquí | ||||||
|