Подтвердить что ты не робот

Автоматическое обновление активности

В моем приложении у меня есть активность, которая отображает содержимое из Интернета..... Я просто хочу знать, как я могу автоматически обновлять активность.....

Пожалуйста, предложите и предоставьте код, если это возможно.

4b9b3361

Ответ 1

попробуйте этот, он хорошо работает:)

    public void onCreate(Bundle savedInstanceState)  
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    this.mHandler = new Handler();

    this.mHandler.postDelayed(m_Runnable,5000);


}//onCreate

private final Runnable m_Runnable = new Runnable()
{
    public void run()

    {
        Toast.makeText(refresh.this,"in runnable",Toast.LENGTH_SHORT).show();

        refresh.this.mHandler.postDelayed(m_Runnable, 5000);            
    }

};//runnable

Ответ 2

Вы можете использовать обработчик для выполнения цикла, например:

Handler handler = new Handler();
Runnable refresh;

В первое время вызова:

refresh = new Runnable() {
    public void run() {
        // Do something
        handler.postDelayed(refresh, 5000);
    }
};
handler.post(refresh);

Поскольку вы не можете вызывать переменную non-final внутри анонимного класса, вам нужно объявить refresh в содержащем классе.

Ответ 3

Этот код для Если вы хотите сначала создать представление и после этой обновляющей страницы в указанный промежуток времени, используйте следующий код. (здесь упоминание о освещении составляет 20 секунд) Он работает нормально и автоматически обновляется каждые 20 секунд.

public class MainActivity extends Activity {
Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        this.mHandler = new Handler();
        m_Runnable.run();

}
    private final Runnable m_Runnable = new Runnable()
    {
        public void run()

        {
            Toast.makeText(MainActivity.this,"in runnable",Toast.LENGTH_SHORT).show();

            MainActivity.this.mHandler.postDelayed(m_Runnable,20000);            
        }

    };
}

Ответ 4

Рассмотрите возможность покупки Руководство для занятого кодера для расширенного развития Android", чтобы прочитать, в частности, главу 13 "Шаблоны расширенного обслуживания". Исходный код этой главы доступен в Github, с этим удобным введением:

CWAC Wakeful: Пребывание в Awake At Work

Рекомендуемая модель для Android, эквивалентная заданию cron и Windows запланированные задачи - использовать AlarmManager. Это хорошо работает в сочетании с IntentService, так как служба будет выполнять свою работу в фоновом потоке и закрывать вниз, когда больше нет работы.

Он переводит сцепление AlarmManager с IntentSerivce. Это гораздо сложнее, чем использование обработчика, но службы упаковочных данных в Service являются хорошей практикой и фактически являются обязательными, если вы хотите обмениваться данными между различными приложениями.

Если вы не знаете, как использовать службы, подумайте о покупке "Руководство для занятых кодеров" для Android Development. Он "поставляется с" упомянутой мной книгой. Я вчера их купил, и они - настоящая золотая жила.