Я использую AsyncTask для чтения данных из файла.Я получаю вышеупомянутую ошибку при запуске приложения.
Сообщения об ошибках:
03-29 20: 06: 08.445: E / AndroidRuntime (13191): java.lang.ExceptionInInitializerError 03-29 20: 06: 08.445:E / AndroidRuntime (13191): на com.google.app.BouncingBall.HighScore.loadFromFile (HighScore.java:81) 03-29 20: 06: 08.445: E / AndroidRuntime (13191): на com.google.app.BouncingBall.HighScore. (HighScore.java:24) 03-29 20: 06: 08.445: E / AndroidRuntime (13191): на com.google.app.BouncingBall.BouncingBallActivity $ BouncingBallView.init (BouncingBallActivity.java:185) 03-2920: 06: 08.445: E / AndroidRuntime (13191): на com.google.app.BouncingBall.BouncingBallActivity $ BouncingBallView.run (BouncingBallActivity.java:173) 03-29 20: 06: 08.445: E / AndroidRuntime (13191):at java.lang.Thread.run (Thread.java:1019) 03-29 20: 06: 08.445: E / AndroidRuntime (13191): вызвано: java.lang.RuntimeException: не удается создать обработчик внутри потока, который не имеетназывается Looper.prepare () 03-29 20: 06: 08.445: E / AndroidRuntime (13191): на android.os.Handler. (Handler.java:121)
Код
private void loadFromFile()
{
new AsyncDataStorage().execute(FILENAME);
}
class AsyncDataStorage extends AsyncTask<String, Integer, Boolean> {
protected Boolean doInBackground(String... args) {
try {
FileInputStream fis = context.openFileInput(FILENAME);
byte[] raw = new byte[fis.available()];
String rawData=null;
while(fis.read()!=-1)
{
rawData = new String(raw);
}
return (processRawData(rawData));
} catch (FileNotFoundException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}