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