Its Solved:
Check that timerTask:
t.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
FileInputStream fis = getApplicationContext().openFileInput("metars_array");
ObjectInputStream is = new ObjectInputStream(fis);
Object readObject = is.readObject();
is.close();
if(readObject != null && readObject instanceof ArrayList) {
isInDb = true;
metars=(ArrayList<Metar>) readObject;
isMetToArrayFin=true;
t.cancel();
}
else{
isInDb = false;
xmlToStruct();
saveMetars(getApplicationContext(), metars);
t.cancel();
}
}
catch (Exception e) {
// TODO: handle exceptionrunOnUiThread(new Runnable()
isInDb = false;
xmlToStruct();
saveMetars(getApplicationContext(), metars);
t.cancel();
}
}
},0,12000);