2011-02-01 2 views
0

Мой код здесь отлично работает. Он меняет изображение в моей галерее в определенное время, но я не думаю, что это лучший подход, особенно с помощью thread.sleep(). Как я могу написать для этого лучший код? Что мне не хватает? спасибо ..Изменение изображения в галерее Android в определенное время ... help

@Override защищен недействительным onResume() { paraThread = истина; workThread = new LooperFoto ("MyWorkThread"); workThread.setPriority (Thread.MIN_PRIORITY); workThread.start(); super.onResume(); }

@Override 
protected void onStop() { 
    Log.i(TAG, "thread state: " + workThread.getState()); 
    paraThread = false; 
    workThread = null; 
    super.onStop(); 
} 


class LooperFoto extends HandlerThread { 

    public LooperFoto(String name) { 
     super(name); 

    } 

    @Override 
    public void run() { 
     while (paraThread) { 
      try { 
       this.sleep(2000); 
       mudaFoto.sendMessage(new Message()); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 

     } 
    } 

} 

Handler mudaFoto = new Handler() { 
    public void handleMessage(Message msg) { 
     Random generator = new Random(); 
     int randomIndex = generator.nextInt(thumbImgGallery.getAdapter() 
       .getCount()); 
     thumbImgGallery.setSelection(randomIndex); 
    }; 
}; 

ответ

0

Пока поток, который .sleeping() не является вашим основным (UI) потоком, вы должны быть хорошо. Что вас беспокоит?

+0

Я был немного обеспокоен thread.spleep(), но если это не проблема, я в порядке с ним. Спасибо – user569873

+0

Я думаю, вы просто рискуете, что ваш «поток» будет прерван во время сна. –

Смежные вопросы