私の問題は単純です。Android でタイムスタンプがどのように機能するかを理解しようとしています。アプリの起動時にタイムスタンプを与える簡単なコードが必要です。ボタンがあり、ボタンをクリックすると、アプリケーションの開始からボタンのクリックまでの経過時間が表示されます。どうすればいいのですか?
2 に答える
このコードを使用して時差を計算し、タイムスタンプとして使用することもできます。
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date dateOne = df.parse("2011-02-08 10:00:00 +0300");
Date dateTwo = df.parse("2011-02-08 08:00:00 +0100");
long timeDiff = Math.abs(dateOne.getTime() - dateTwo.getTime());
System.out.println("difference:" + timeDiff);
または試す
Date pdate = your date comming from HTTP;
Date cdate = new Date(System.currentTimeMillis());
long difference = cdate .getTime() - pdate .getTime();
タイムスタンプと呼ばれるものはありませんが、java.util.Date
時間を計算してタイムスタンプとして使用できるようにするために使用できます。
私があなたの問題を正しく理解していれば、何かをバックグラウンドで実行し、アプリケーションでさまざまな状態を維持したり、アプリが初めて開始されてから、またはバックグラウンドで再起動してから経過した時間をより適切にしたりしたいと考えています。
2 つのソリューションは、ユース ケースによって異なります。
アプリケーションコンテキスト、つまりアプリケーションが実行中またはバックグラウンドであるが、Android システムによって破棄されていない場合。アクティビティのライフサイクルメソッドと静的変数を使用することもできますが、この場合、アクティビティがいつバックグラウンドになり、メモリが必要なときに Android システムがアクティビティを破棄し、静的変数が破棄されるかがわからないため、それらは役に立ちません。 .
共有設定を適切に使用して、共有設定ファイルを変更するためにバックグラウンドで実行される
java.util.Date
ユースケースおよびAndroid サービスとしてさまざまな時点で保存します。
上記のアイデアが役に立ち、明確であることを願っています。