🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

Q&A

解決済

2回答

3017閲覧

任意の時間を設定できるタイマーを作りたい

japanguest

総合スコア1

Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

0グッド

0クリップ

投稿2020/12/07 01:57

前提・実現したいこと

Android Studioを使って任意の時間をセットできるタイマーをJavaで作りたいのですがお手上げ状態です。
任意の時間をEditTextで入力してそれをカウントダウンさせる的なものをどう書けばよいやら全然わからないのです...

発生している問題・エラーメッセージ

Android Studioも駆使できていませんがそもそもJavaもあまり詳しくないです...

試したこと

時間が決められているカウントダウンタイマーの参考例をそのまま入れてそれを弄ってみました。
util.scannerとか使おうと思ったんですが上手くいかず...初心者すぎて申し訳ないです...

補足情報(FW/ツールのバージョンなど)

Android Studio 4.1

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

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

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

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

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

dodox86

2020/12/07 02:51

> Android Studioも駆使できていませんがそもそもJavaもあまり詳しくないです... あまり厳しいことは書きたくないのですが、このような質問ですとどのように回答したらよいか、(私を含む)回答者は困ってしまいます。このような場で1から10まで教える訳にもいきません。まずは、時刻指定などは置いておいて、単に1秒ずつカウントアップ、またはカウントダウンする進み、表示するタイマーを作る、あるいは作れるようになりましょう。少しずつ理解して機能を追加するようにしてください。
dodox86

2020/12/07 03:16

> 時間が決められているカウントダウンタイマーの参考例をそのまま入れてそれを弄ってみました。 もとのコードの内容を理解せずにいじくりまわしても要望の動きにはなりませんし、勉強にもならず、無駄に時間を過ごすだけのことです。まずもとのコードが何をしているのか、一行一行理解するのが先です。理解できないとすれば、素直にもっと前の段階から学ぶ必要があります。
guest

回答2

0

ベストアンサー

参考にされているものがどんなものかわからないのでEditTextでタイマーを作る例を書かせていただきます。(あくまで考え方のひとつとして捉えていただけると幸いです)
何を参考にしているかや、今のコードの状態を書いていただけるとそれをベースに話を進めることができます。
どの部分がわからないのか、カウントダウンタイマーを作るところがわからない?EditTextで入力した値を設定するところがわからない?・・・などなど。(わからない部分を説明するのにも技術が必要なので結構難しいですが)
プログラミングでうまくいかない場合には物事を分解して考えていくことが大事です。

MainActivity.java

public class MainActivity extends AppCompatActivity { private Integer countTime = 0; private Timer timer = new Timer(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.startBtn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EditText editText = findViewById(R.id.editText); try { countTime = Integer.parseInt(editText.getText().toString()); }catch (NumberFormatException e){ return; } startTimer(); } }); } private void startTimer(){ timer.cancel(); timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { TextView countDownText = findViewById(R.id.countDownText); countDownText.setText(countTime.toString()); countTime -= 1; if(countTime < 0){ timer.cancel(); } } }); } }, 0, 1000); } }

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/countDownText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/editText" android:layout_width="100dp" android:layout_height="wrap_content" android:inputType="number" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/countDownText" /> <Button android:id="@+id/startBtn" android:layout_width="100dp" android:layout_height="wrap_content" android:text="start" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/editText" /> </androidx.constraintlayout.widget.ConstraintLayout>

タイマー部分については色んな書き方があると思うので自分で使いやすいものを。

不明点などあればコメントください。

投稿2020/12/12 04:31

razuma

総合スコア1313

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

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

0

「android timer」でぐぐると、タイマーの記事がたくさん出てきます。
まずは、これで出てきたものを一通り読んでみてはどうでしょう

投稿2020/12/07 01:59

y_waiwai

総合スコア88040

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問