這是我的第一個應用程序,我試圖寫一個簡單的騙子的骰子游戲。如何重新啓動主要活動,同時保留一些數據
我在主要活動類中編寫了所有內容,隨機擲骰子,發送文本框輸入出價和按鈕以進行出價和呼叫。
所以遊戲運行後,我如何獲得它來跟蹤分數並再次運行?
我已經嘗試使用重新啓動按鈕製作另一個活動屏幕,並在遊戲結束後將其放到那裏,以便重新開始主要活動。不過,我可以從屏幕中按回(手機鍵),並在前一場比賽結束時卡住。
此外,我正在嘗試使用一個數組來跟蹤勝利和損失,但不知道如何從活動中來回移動它。
這是我的第一個應用程序,我試圖寫一個簡單的騙子的骰子游戲。如何重新啓動主要活動,同時保留一些數據
我在主要活動類中編寫了所有內容,隨機擲骰子,發送文本框輸入出價和按鈕以進行出價和呼叫。
所以遊戲運行後,我如何獲得它來跟蹤分數並再次運行?
我已經嘗試使用重新啓動按鈕製作另一個活動屏幕,並在遊戲結束後將其放到那裏,以便重新開始主要活動。不過,我可以從屏幕中按回(手機鍵),並在前一場比賽結束時卡住。
此外,我正在嘗試使用一個數組來跟蹤勝利和損失,但不知道如何從活動中來回移動它。
要重新啓動的主要活動,你可以做
finish();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
startActivity(new Intent(getContext(), YourMainActivity.class));// then call again
,並通過使用喜好或sqlite的保留您的數據
那麼你可以只讓持有該數字的全局數組,只是有一個方法運行當用戶點擊一個按鈕或任何你想觸發滾動。一個簡單的方法來告訴你會
<Button
android:layout_height="wrap_content"
android: layout_width="wrap_content"
android:text="Touch Me"
android:on click="leRoll" />
然後在你的活動,你可以有一個方法叫leRoll
,當按鈕「觸摸我」上點擊被觸發。所有保存得分都可以在那裏使用全局數組完成。
不能完全確定,如果這是你在找什麼,但:
您可以覆蓋後退按鈕轉到第二個活動的畫面。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent intentstart = new Intent(Activity2.this, MainActivity.class);
intentstart.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intentstart);
return true;
}
return super.onKeyDown(keyCode, event);
}
我建議你跟蹤你在SQLite數據庫中的勝利和損失。這可能聽起來像是矯枉過正,但它非常適合存儲任意數量的重複結構化數據。如果開銷過大,則打開一個文件並在最後添加新的遊戲分數,或將它們存儲在SharedPreferences中的字符串數組中。這三種方法中的任何一種都是存儲簡單的值向量的好選擇,在這種情況下,您事先並不知道可能存在多少值,並且可以從應用程序的任何部分讀取它們。
您應該使用SharedPreference來保存當前的遊戲狀態,以便您的遊戲活動可以在您每次回到遊戲時顯示正確的內容。一旦遊戲結束,請寫下游戲狀態的SharedPreference值,以表示玩家處於遊戲結束時。然後,當活動下一次啓動時,它將知道開始新的遊戲。
我寧願將gamedata保存到某個數據庫,然後重新設置遊戲組件,而不是重新啓動整個活動。 – 2012-08-17 07:43:48