1
我有一个活动是发送一些数据到服务器onCreate.My的问题是,如果我按手机上的锁定按钮屏幕关闭,因为我们都知道,但当我按下锁定按钮要打开按钮,屏幕将打开并再次发送数据,以便复制数据。我只需要一次发送数据,该怎么做。?Android的保存活动状态
我有一个活动是发送一些数据到服务器onCreate.My的问题是,如果我按手机上的锁定按钮屏幕关闭,因为我们都知道,但当我按下锁定按钮要打开按钮,屏幕将打开并再次发送数据,以便复制数据。我只需要一次发送数据,该怎么做。?Android的保存活动状态
送在onCreate
的数据,但只有当savedInstanceState
为null:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
if(savedInstanceState == null) {
// send data in a background thread
}
}
如果活动是重新创建(你的情况),savedInstanceState
不为空,它将包含任何有状态的信息,你需要设置。
谢谢gunar。:) lemme测试。 – devian
非常感谢你。:)我更怀疑我有。我正在开发一个试用版,所以我正在检查服务器的日期。检查是在第一个活动oncreate。但问题是当我去第二个活动有一个后退按钮。当我按下该按钮时,显然它会去第一次然后它会检查日期。我不想检查日期,每次我只需要检查应用程序启动时的日期就是这样。希望你能帮我。! – devian
那么,你可以有一个自定义对象(你可以从任何地方引用为单例)。该对象可以保留你需要的信息(日期)。所以你从服务器获取日期并将其设置在该对象中:DateKeeper.getInstance()。setDate(serverDate);'。下一次你想得到这个日期,你会检查存储的日期是否为空。如果为空,则下载它(这将是下载的第一个日期);否则,请勿下载。希望它有道理...... – gunar