- Posts del Foro: 2
22 feb. 2016 20:36:45 vía Web
22 feb. 2016 20:36:45 vía Web
Buenas. He creado un juego 2D utilizando LibGdx y en Desktop me funciona perfectamente, pero en android me salta la siguiente excepción:
[COLOR="Red"]com.badlogic.gdx.utils.GdxRuntimeException: Error writing file: highscores.dat (External)
at com.badlogic.gdx.files.FileHandle.writeString(FileHandle.java:353)
at com.badlogic.gdx.files.FileHandle.writeString(FileHandle.java:339)
at com.mygdx.game.game.HighScores.save(HighScores.java:52)
at com.mygdx.game.game.HighScores.load(HighScores.java:15)
at com.mygdx.game.pantallas.PantallaFinJuego.show(PantallaFinJuego.java:93)
at com.badlogic.gdx.Game.setScreen(Game.java:61)
at com.mygdx.game.pantallas.PantallaJuego$5.run(PantallaJuego.java:368)[/COLOR]
...........
...........
[COLOR="red"]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_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"[/COLOR]
......................
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();
while ((i < HighScores.highscores.length) && (!encontrado)) {[/COLOR]
..........................
Ya no se que hacer, he probado mil cosas y nada
Gracias por su atención. Un saludo
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.