我从一个web服务器得到一些数据,比如sayuserName
inActivity_1
。然后我想在Activity_2
中使用相同的数据
所以我用了这个用户名Public
Static
并在Activity_2
中这样使用
Activity_1.userName
但当我在
Activity_2
和press Home Button
中并在5分钟后重新打开应用程序时,这个Activity_1.userName
就变成了Null
。我得到Activity_1 data is destroyed
如何用简单的方法解决这个问题。
我只是举了一个用户名的例子,但实际上它的一些其他数据每天都在变化,比如说“每日新闻”
许多人建议删除
NullPointerException
public
并将该用户名发送为:Intent.putExtra("user_name", userName);
但这和我现在做的不一样吗?我是说即使这样我也会得到
static
对吧?? 最佳答案
有两种方法可以做到这一点。
始终确保activity1是应用程序中的起始活动。我的意思是,如果用户关闭应用程序并重新启动它,那么应用程序应该从activity1重新获取数据。然后只去活动2。还要注意,您可以使用AsyncTask在activity2本身中从web获取数据。
在SharedPreferences和activity2中保存activity1中的数据时,始终使用sharedpreferences读取值。