質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

3回答

5555閲覧

指定日までのカウントダウン

hide09090909

総合スコア68

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2016/11/19 15:13

指定した日をダイアログボックスに入力し、ボタンを押下すると現在から指定までのカウントダウンを行うアプリを開発したいです。

インターネットの情報を参考に作成しようとしているのですが、JavaScriptの情報ばかりで困っています。
サンプルのコードもしくは参考サイトを教えていただきたく質問しました。
ご存知の方がいらっしゃいましたら教えてください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/19 15:17

別言語でもsampleがあればつくれるべ Simpleなんだから
swordone

2016/11/19 16:08

どういう検索すればjavasctiptばっかりなんてことになるのでしょうか…?androidの開発はJavaが主流のはずなのに
退会済みユーザー

退会済みユーザー

2016/11/21 23:52

jsの動きを把握してjavaでつくる。アプリ内HTMLで(JS)でやる。WEBサーバーのHTMLでやる。等
guest

回答3

0

多分検索するキーワードが不適切だったのではないでしょうか。「Android アプリケーション開発」で検索すると初学者にとってもよいガイドになりそうなページがトップに出てくると思います。

私見ですが初学者にとってこれというサイトがなかなか見つからない主たる原因は「どのようなキーワードが適切なのか」自体がわからないことや、ガイド的なページであってもそこに書いてあることから十分情報を得るための基礎知識が不足しているからだと思います。こうしたことは初学者なのだから当然といえましょう。

もし自分自身でWebサイトを調べてみても「どうもよくわからない」と思ったらWebサイトで勉強するよりも初心者用の参考書を買う方が手っ取り早いのではないかと思います。

投稿2016/11/19 17:00

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hide09090909

2016/11/21 16:03

ご回答ありがとうございます。 調査した内容を理解し、不明点を明確に調べることができるだけの基礎力が足りてないのが原因ということですね。 おっしゃる通りだと思います。参考書を購入し、基礎から学びます。
guest

0

ベストアンサー

指定した日をダイアログボックスに入力し、ボタンを押下すると現在から指定までのカウントダウンを行うアプリ

指定した日までの日数計算であれば
このようにしてできます

Calendar calendar1 = Calendar.getInstance(); // Tokyo オリンピック開会式 // 2020/7/24 // Month 値は 0 から始まるので注意 calendar1.set(2020, 6, 24); // 1970/1/1 から設定した calendar1 のミリ秒 long timeMillis1 = calendar1.getTimeInMillis(); // 現在時刻のミリ秒 long currentTimeMillis = System.currentTimeMillis(); // 差分のミリ秒 long diff = timeMillis1 - currentTimeMillis; // ミリ秒から秒へ変換 diff = diff / 1000; // minutes diff = diff / 60; // hour diff = diff / 60; // day diff = diff / 24; TextView textView = (TextView)findViewById(R.id.text_view); String str = String.valueOf(diff)+" 日"; textView.setText( str );

Ref: https://akira-watson.com/android/calendar_period.html
指定日と現在時間のミリ秒の差分なので
1時間刻みなどもできるでしょう

検索キーは
「android アプリケーション 開発 Calendar 日数計算」ですが他にも色々ありますよ

日付の入力は
「android アプリ 開発 DatePicker DialogFragment」
あたりで出てくると思います。DatePickerは古い情報では混乱するところがあるので新しいのがいいでしょう

投稿2016/11/20 06:23

編集2016/11/20 06:28
aja

総合スコア3733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hide09090909

2016/11/21 16:06

ご回答ありがとうございます。 サンプルコードや参考URLまでご丁寧にありがとうございます
hide09090909

2016/11/23 14:41

ベストアンサー後にすみません。 指定日までの残り時間表示に、日にち単位ではなく、時間単位にする方法を教えていただきたいです。 よろしくお願いいたします
aja

2016/11/23 19:55

コードをよく見て理解して使ってください ミリ秒から日にちまで計算しているので 途中のhour,時間で止めるだけです
hide09090909

2016/11/24 00:18

質問が言葉足らずでした。 カウントダウンを時間単位の表示にしたいのではなく、残り○○日○○時間という表示にしたいということです。 すみません。
aja

2016/11/24 09:44

1日は24時間 と知っているあなたなら プログラムできるでしょう
guest

0

以下のコードでは
20180101
21001107

などの形で年月日を半角数値で入力するとボタンを押した瞬間からその日の午前0時までの秒数をカウントダウンします
何かの参考にはなるのではないでしょうか

java

1import javax.swing.*; 2import java.awt.event.*; 3import java.io.*; 4import java.text.SimpleDateFormat; 5import java.util.Date; 6import java.time.*; 7import java.time.format.*; 8import java.time.ZoneOffset; 9import java.awt.*; 10import java.text.*; 11import java.util.*; 12import java.util.Timer; 13 14import java.time.Instant; 15 16public class Push2 extends JFrame { 17 JButton button; 18 JTextField inputfield; 19 Container container; 20 inEventListener listener; 21 static JLabel jlabel; 22 static String a = ""; 23 24 public Push2(String label) { 25 super(label); 26 listener = new inEventListener(); 27 28 container = getContentPane(); 29 container.setLayout(new BoxLayout(container, BoxLayout.Y_AXIS)); 30 31 JPanel panel; 32 33 panel = new JPanel(); 34 panel.setLayout(new FlowLayout()); 35 panel.add(new JLabel("年月日")); 36 panel.add(inputfield = new JTextField(6)); 37 container.add(panel); 38 39 panel = new JPanel(); 40 panel.setLayout(new FlowLayout()); 41 button = new JButton("カウント開始"); 42 button.addActionListener(listener); 43 panel.add(button); 44 container.add(panel); 45 } 46 47 class inEventListener implements ActionListener { 48 public void actionPerformed(ActionEvent e) { 49 Object source = e.getSource(); 50 if (source == button) { 51 52 a = inputfield.getText().trim(); 53 new Thread() { 54 public void run() { 55 while (true) { 56 SimpleDateFormat sdf = new SimpleDateFormat( 57 "yyyyMMdd"); 58 LocalDateTime dat2 = LocalDateTime.now(); 59 60 Instant in1 = dat2.toInstant(ZoneOffset 61 .of("+00:00")); 62 63 String s = dat2.toString(); 64 65 long n2 = 0; 66 try { 67 68 Date dat = sdf.parse(a); 69 int c = Integer.parseInt(a); 70 int year = c / 10000; 71 int month = (c % 10000) / 100; 72 int day = c % 100; 73 74 LocalDateTime dat3 = LocalDateTime.of(year, 75 month, day, 0, 0, 0); 76 Instant in2 = dat3.toInstant(ZoneOffset 77 .of("+00:00")); 78 79 Duration n = Duration.between(in1, in2); 80 81 n2 = n.toMillis() / 1000; 82 83 System.out.println(n2 + "sec"); 84 85 } catch (Exception r) { 86 } 87 88 jlabel.setText(" 残り " + String.valueOf(n2) + "秒"); 89 if (n2 == 0) { 90 jlabel.setText("終了"); 91 92 try { 93 Thread.sleep(1000); 94 } catch (Exception r) { 95 } 96 97 System.exit(0); 98 } 99 Container c2 = getContentPane(); 100 c2.setLayout(new BorderLayout()); 101 c2.add(jlabel, BorderLayout.CENTER); 102 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 103 setSize(150, 200); 104 setVisible(true); 105 try { 106 Thread.sleep(10); 107 } catch (Exception r) { 108 } 109 110 } 111 } 112 }.start(); 113 114 } 115 } 116 117 } 118 119 public static void main(String[] args) { 120 JFrame jframe = new Push2("タイマー"); 121 jframe.pack(); 122 jframe.setVisible(true); 123 124 jlabel = new JLabel(); 125 126 jframe.addWindowListener(new WindowAdapter() { 127 public void windowClosing(WindowEvent e) { 128 System.exit(0); 129 } 130 }); 131 } 132} 133

投稿2016/11/19 18:37

編集2016/11/19 19:03
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hide09090909

2016/11/21 16:05

サンプルコードありがとうございます。 参考にさせていただきます。 これは2つのクラスから成り立っていますよね?
退会済みユーザー

退会済みユーザー

2016/11/21 16:22

Push2クラスの中にインナークラスのinEventListener が入っている形になっていると思います 並列した存在ではなくインナークラス及びそれを格納しているクラスです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問