2012-04-29 6 views
0

を停止すると、誰も私を伝えることができます:just sleep for 30 seconds.はアラーム[アンドロイドアプリ]

、その後は* 1000年15を入れて、それが唯一の15だ30代されていません!

Runnable mTask = new Runnable() { 
       public void run() { 
        // Normally we would do some work here... for our sample, we will 
        // just sleep for 30 seconds. 
        long endTime = System.currentTimeMillis() + 15*1000; 
        while (System.currentTimeMillis() < endTime) { 
         synchronized (mBinder) { 
          try { 
           mBinder.wait(endTime - System.currentTimeMillis()); 
          } catch (Exception e) { 
          } 
         } 
        } 

        // Done with our work... stop the service! 
        MyAlarmService.this.stopSelf(); 
       } 
      }; 

Here

答えて

1

わかりやすい変数名でコードを文書化するときに、落とし穴の1つが表示されています。私の推測では、値を15秒に変更するとコメントを更新するのを忘れてしまったということです。

個人的には、私は通常、定数変数を導入します。

private final static int 15_SECONDS = 15 * 1000; 

または代替的に使用

private final static int SECONDS = 1000; 

とコード使用中

long endTime = System.currentTimeMillis() + 15_SECONDS; 

又はそれぞれ

long endTime = System.currentTimeMillis() + (15 * SECONDS); 

それはそのように、両方の明確なコードが何、そしてそれは私がdec変数名を変更するのを覚えやすいので、値を変更することができます。

+0

あなたは正しいです、私はあなたの返信とurとurの答えに同意します 私はあなたにアラームについての質問をすることができますか? – Monerah

+0

アラームは変数の命名とドキュメントとほとんど関係がないので、新しい質問をしてください。 – hanspeide

+0

ありがとう、私の質問は、アラームが消えたときにアクティビティ(A)のボタンを有効にする方法です。 注:このアラームはアクティビティ(B)で動作しています 2-ボタンは無効です – Monerah

1

それはおそらく、30秒にセットし、どこかで誰かがテストとデバッグのサイクルの間に長いことを待っているの疲れた道に沿って、そう、彼らはそれを短縮しますがコメントを変更していませんでした。