1

私は今作ったゲームに問題があります。私は別の活動をしてそれを開くまで、Androidのライフサイクルについては全く知らない。以前の活動に戻ったとき、ゲームの状態はデフォルト状態に戻ります。バックを押すか、別のアクティビティがアクティブなときにアクティビティ全体を一時停止する方法はありますか?

は、私はそれをどのように扱うかについての検索が、私はまだ私はonPause()、onResumeなど

誰かが私に保存する方法についてのアイデアを与えることができます/再開現在のすべての方法で挿入する必要がありますどのようなコード混同していますグリッドビューの状態?すべてのセル(Mines、Flags、PressedButtons)の位置と同じです。 私はそれを達成する方法がわかりません(ゲームは掃海艇です)。

可能であれば、アクティビティ全体を一時停止/再開する方法はありますか? Hehe申し訳ありません、アンドロイドの新しい私は、Playerの進捗状況を保存したいだけです。

答えて

0

は、これらの機能は、アクティビティの状態の変化に自動的に呼び出され、コールバックメソッドであなたが状態を保存し、取得したいあなたの活動でこれらの関数を呼び出します:

あなたは次の関数で変数を保存することができます:

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) { 
    super.onSaveInstanceState(savedInstanceState); 
    // Save UI state changes to the savedInstanceState. 
    // This bundle will be passed to onCreate if the process is killed and restarted. 
    savedInstanceState.putBoolean("MyBoolean", true); 
    savedInstanceState.putDouble("myDouble", 1.9); 
    savedInstanceState.putInt("MyInt", 1); 
    savedInstanceState.putString("MyString", "Welcome back to Android"); 
    // etc. 
} 

あなたは、この機能で保存された変数を取得することができます

@Override 
public void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 
    // Restore UI state from the savedInstanceState. 
    // This bundle has also been passed to onCreate. 
    boolean myBoolean = savedInstanceState.getBoolean("MyBoolean"); 
    double myDouble = savedInstanceState.getDouble("myDouble"); 
    int myInt = savedInstanceState.getInt("MyInt"); 
    String myString = savedInstanceState.getString("MyString"); 
} 
関連する問題