java - 应用程序激活时重新加载数据

标签 java android

当应用程序变为 Activity 状态或变为前台时如何重新加载所有数据? iOS 上是这样的:

[[NSNotificationCenter defaultCenter]addObserver:self
                                            selector:@selector(viewDidLoad)
                                            name:UIApplicationDidBecomeActiveNotification
                                            object:nil];

最佳答案

1) 在 Android 中,您还无法清楚地判断整个应用程序何时处于前台。不过,已经有一些相当不错的技巧了。查看这个堆栈溢出答案。但请注意,您应该使用 onStart 和 onStop 而不是像答案指定的 onResume 和 onPause 。

https://stackoverflow.com/a/15573121/2293095

2) 您可以知道特定的 Activity(通常是应用程序中的单个页面)何时位于前台。我假设通过重新加载数据,您的意思是您想要从本地数据库重新加载数据或从服务器获取数据。无论哪种情况,您都可以通过重写 Activity 的 onResume() 方法来完成此操作,如下所示。

@Override
public void onResume(){
    //generic function that will query or get from server
    reloadData(); 
    //make sure to refresh your view. Ex: ImageView
    imageView.invalidate();
}

关于java - 应用程序激活时重新加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32291601/

相关文章:

java - JWS 启动时 PropertyPermission 访问被拒绝

java - Micrometer Timer.start/stop 和 Timer.record 之间的区别

java - 如何监听TextArea中两个按键的代码组合?

php - 如何为我的应用程序的用户添加积分并将其连接到 Android?

java - 乒乓球离开帕德尔

java - Android 的 rawQuery() 错误

android - Libgdx 的 64 位支持 : why am I still getting the "Action required" email from Google Play?

java - Android 上的 Google Places API : No route to host

android - Jetpack 撰写 : LayoutCoordinate operations are only valid when isAttached is true on Android 6 Devices

android - gradle4.5编译错误:无法添加任务