簡體   English   中英

顯示數獨在Android中播放的時間

[英]display time played for sudoku in android

我需要顯示打數獨游戲的時間,必須在屏幕上顯示播放的時間。 這意味着我應該能夠記錄從數獨活動開始到游戲結束的時間。 誰能幫助我如何在android中做到這一點。

每當我需要顯示游戲中經過的時間時,我都會使用此代碼。 首先,您有一個TextView用於顯示您的時間(在xml中定義),對此沒有什么特別的。 游戲活動中的代碼為:

    TextView time;

    long countUp;

    public static Chronometer.OnChronometerTickListener chronListener = new Chronometer.OnChronometerTickListener() {
        String msg;

        @Override
        public void onChronometerTick(Chronometer ch){
            countUp = (SystemClock.elapsedRealtime() - ch.getBase()) / 1000;
            msg = showTime(countUp);
            time.setText("Time: " + msg);
        }           
    };


//a function formatting your time in human readable format, e.g. 05:06
    public static String showTime(long countUp){
        String asText;
        if((countUp % 60) < 10){
            if((countUp / 60) < 10){
                asText = "0" + (countUp / 60) + ":0" + (countUp % 60); 
            } else {
                asText = (countUp / 60) + ":0" + (countUp % 60); 
            }
        } else {
            if ((countUp / 60) < 10){
                asText = "0" + (countUp / 60) + ":" + (countUp % 60);
            } else {
                asText = (countUp / 60) + ":" + (countUp % 60); 
            }
        }
        return asText;
    }

它像一種魅力。

我建議研究Handler和postDelayed方法。 對於第二個間隔,這是一個不錯的選擇,但根據我的簡短經驗,它通常會在25毫秒左右停頓。 http://developer.android.com/reference/android/os/Handler.html#postDelayed%28java.lang.Runnable,%20long%29

然后,使可運行項更改時間變量,並使用新時間更新應用程序中的TextView。 它也必須被格式化。 http://developer.android.com/reference/java/lang/Runnable.html

這應該可以幫助您理解這個想法,並提供一些示例代碼: http : //www.vogella.de/articles/AndroidPerformance/article.html

要實現它,您將需要一種方法來確定用戶是否獲勝,以及何時獲得用戶,您需要從Handler中刪除回調,然后將總時間(長)保存在變量中(他們播放的毫秒數。

隨意提出問題,並希望我能幫助您。 我花了一段時間才弄清楚如何做這些事情,因此如果您遇到困難,很高興為您指出正確的方向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM