Android 自动刷新活动

Android 自动刷新活动,android,Android,在我的应用程序中,我有一个显示来自internet的内容的活动。。。。。我只是想知道如何自动刷新活动 如果可能,请建议并提供一些代码块。您可以使用处理程序执行循环过程,如下所示: Handler handler = new Handler(); Runnable refresh; 在第一次通话时间: refresh = new Runnable() { public void run() { // Do something handler.postDel

在我的应用程序中,我有一个显示来自internet的内容的活动。。。。。我只是想知道如何自动刷新活动


如果可能,请建议并提供一些代码块。

您可以使用处理程序执行循环过程,如下所示:

Handler handler = new Handler();
Runnable refresh;
在第一次通话时间:

refresh = new Runnable() {
    public void run() {
        // Do something
        handler.postDelayed(refresh, 5000);
    }
};
handler.post(refresh);
由于不能在annonymous类中调用非final变量,因此必须在包含的类中声明
refresh

考虑购买“”,以阅读第13章“高级服务模式”。本章的源代码,以及以下方便的介绍:

CWAC清醒:工作时保持清醒

Android的推荐模式相当于cron jobs和Windows 计划任务将使用AlarmManager。当与 IntentService,因为该服务将在后台线程上执行其工作并关闭 当没有更多的工作要做的时候

它通过一个
intentservice
来连接
AlarmManager
。这比使用处理程序要复杂得多,但是如果您想在不同的应用程序之间共享数据,将数据服务打包到
服务中是一种很好的做法,实际上是强制性的


如果你不知道如何使用服务,考虑购买。它是我前面提到的那本书的附属品。我昨天买了所有的,它们是名副其实的金矿。

试试这个,效果很好:)


此代码用于如果您想首先创建视图,然后在指定的时间跨度刷新页面,然后使用以下代码。(此处提到的刷新速率为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);            
        }

    };
}

您想刷新什么内容?你想重画它吗?我想自动重新加载活动,而不点击任何按钮…你是否使用适配器来显示活动中的内容???至少发布你迄今为止的所有代码,并描述你遇到的确切问题。我喜欢处理程序。这就是我想说的。@param你遇到了什么问题?@W.N.我不确定,但我从来没有和管理员一起工作过。。。。如果您能准确地解释如何使用此…@param这不是刷新web浏览器的代码,那就太好了。它用于在一段时间后做任何事情(在我的示例中,5000=5秒)。在“//Do something”代码行添加您想要的任何代码,例如重新加载web浏览器。效果很好!谢谢Syed描述了onCreate()方法和变量mHandler和m_Runnable的代码(对于最后一个,他创建了该方法)。遵循此技巧的其他人,请使用这两部分代码,不要忘记将变量mHandler创建为活动变量(Handler mHandler;)!Hi@Syed刷新的变量是什么
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);            
        }

    };
}