0

私は特定の問題で本当に立ち往生しています。誰かが私が問題を理解し、解決策を見つけるのを手伝ってくれることを願っています. 私はかなりオンラインで見ましたが、それが私をじっと見つめていない限り、答えを見ることができません:-/

基本的に、私は非常に基本的な TV ガイド アプリを作成しています。これは、オフセット日数 (昨日は -1、今日は 0、明日は 1 など) を持つ RSS フィードからのデータを解析し、特定のチャンネルの内容をユーザーが確認できるようにする DatePicker を実装しようとしています。昨日、今日、明日などを選択しますが、範囲外の日付を選択すると (現時点では 1 週間前です)、簡単なトースト メッセージが表示されます。

私が推測する私の質問は、まず、IF ELSE を使用して、ユーザーが希望する日の特定のチャネル データを解析するか、エラー トースト メッセージを表示するか、およびユーザーが何から何日を変換するかです。今日の実際の日付と比較して整数に入れましたか? 昨日の日付を選択すると URL " http://example.com/-1/channel " に移動し、明日の日付を選択すると URL " http://example.com/1/channel " などに移動します。等

誰かがそれを見る必要がある場合はコードを利用できますが、誰かがロジックを説明するのに十分親切であれば、自分で答えにたどり着くことができるかどうかを確認したいと思います...

どうもありがとうございました!!

4

2 に答える 2

2

DatePickerユーザーがいつ選択できるようにするには、 a を使用する必要があります。

Android の時刻はlong(ではなくint) に格納されます。また、時間は(常にミリ秒) とオブジェクトのlong間で簡単に変換できます。longDate

このDateオブジェクトは、前後を比較したり、月、分、時間などを調べたりするためのあらゆる種類のツールを提供します。

現在の時刻は次のように決定されます。

long nowMs = System.currentTimeMillis();
int nowSec = (int)(nowMs / 1000);

Calendar非常に重要なオブジェクトもあります。これにより、さまざまな日付の内外で http 関数によって配信されるテキストの日付形式を解析できます。

例えば:

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss Z");
String text = sdf.format(cal.getTime();

DatePickerこれらすべてのツールを、ここにある例のようにまとめて、DatePicker を作成して TV ガイド アプリケーションを完成させる必要があります。

参考

于 2013-03-27T21:18:07.647 に答える
0

編集:Davidの回答を確認してください。

最初に今日の日付で選択した日付をフィルターします。date.isbefore(date) または date.isafter(date) で比較できます。これらのブール値により、日付が過去か未来か現在かがわかります。次に、その間の日数をさらに計算するために、基本的に選択した日付と現在の日付をミリ秒に変換する switch ステートメントを使用してメソッドを作成できます(Date.getTimeinmiliseconds)

日付が過去のものである場合、ミリ秒単位の現在の時刻とミリ秒単位の過去の日付の差を取ります。日付が未来の場合は、反対のことを行います。差を取り、適切な符号 (負/正) を使用して日数差に変換します。

より良いコーディング例については、このリンクを参照してください

于 2013-03-27T21:09:05.320 に答える