Ciao a tutti,
ho un problema che mi sta facendo impazzire. Non riesco a far funzionare questo codice.... Praticamente è un service che deve salvare dei dati rilevati da altre classi in un database. Il thread dovrebbe ogni x secondi e per y secondi rilevare e salvare i dati. Il problema è che appena aggiungo il ciclo while all'interno del thread SI BLOCCA TUTTO... Se metto per esempio un for da 1 a 100 invece funziona... qualcuno sa spiegarimi il perchè? Per ora mi basterebbe che visualizzasse sto cavolo di toast...
Grazie!
codice:
public class SaveBackground extends Service{
public Context c;
public DatabaseComunication dbC;
private Runnable saveLoop;
private Handler mHandler;
private boolean running;
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
public void onCreate() {
// TODO Auto-generated method stub
Toast.makeText(SaveBackground.this,"show toast message",Toast.LENGTH_LONG).show();
c=getBaseContext();
dbC=new DatabaseComunication();
mHandler=new Handler();
try {
runa();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void runa() throws Exception{
mHandler.post(new Runnable(){
public void run(){
running=true;
while(running){
Toast.makeText(c, "test", Toast.LENGTH_LONG).show();
}
}
});
}
public void stopThread(){
running=false;
}
}