歡迎大家在這裡學習android橫豎屏切換數據的保存!下面是我們給大家整理出來的精彩內容。希望大家在這裡學習!如果說項目必需要實現橫豎屏的切換那麼我們就須要對數據進行保存與讀取,這也是為什麼大部分游戲都不支持橫豎屏切換的原因,因為游戲中存在大量的數據 ,比如玩家屬性、坐標點、游戲狀態、人物屬性等等等等實在是太多了。如果要實現正常切換的話那麼這些數據都須要進行保存與記錄,其實相對軟件開發來說做橫豎屏切換的到挺多的,畢竟軟件當前Activity中保存的數據不會有游戲那麼多呵呵,廢話就不多說了我分享一個橫豎屏切換保存數據與讀取數據的方法。
比如橫屏切換豎屏實際上是先把當前的橫屏的Activity殺掉 然後重新創建一個豎屏的Activity,我們可以使用onSaveInstanceState()方法保存數據,它是在橫屏Activity將殺死前調用,可以將須要保存的數據放入Bundle封裝在系統中,切換豎屏後這個Activity又重新被創建 這樣可以在onCreate(Bundle)或者onRestoreInstanceState(Bundle)方法中來回復之前保存在Bundle中的數據,這樣就可以實現橫豎屏界面切換數據的保存與讀取,當然前提是只能保存Bundle類型的數據,也就是說大量的對象數據的話就要想其它辦法來恢復。
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class HandlerActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.handler);
super.onCreate(savedInstanceState);
}
/**切換屏幕之前將數據保存在Bundle中**/
@Override
protected void onSaveInstanceState(Bundle outState) {
long outTime = System.currentTimeMillis();
//屏幕切換將當前的時候保存在Bundle中
outState.putLong("time", outTime);
Log.v("InstanceState", "outTime is "+ outTime);
super.onSaveInstanceState(outState);
}
/**切換屏幕之後在Bundle中把數據取出來**/
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
//取出屏幕切換前保存的時間
Long saveTime = savedInstanceState.getLong("time");
Log.v("InstanceState", "saveTime is "+ saveTime);
super.onRestoreInstanceState(savedInstanceState);
}
}
好了,android橫豎屏切換數據的保存內容就給大家介紹到這裡了。希望大家繼續關注我們的網站!
相關推薦:
android橫豎屏切換的響應介紹