leviatan7
22/02/16, 20:33:22
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_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<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();
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_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<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();