FC2ブログ
プロフィール

Epic's Garden

Author:Epic's Garden
初心者による、初心者のための解説ブログ。
現在、アプリ公開中!
サークル「Epic's Garden」として活動してます。

カテゴリ

最新記事

最新コメント

月別アーカイブ

アクセスカウンター

ブログランキング

にほんブログ村 IT技術ブログへ

twitter

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文:

アプリ・ゲーム開発らぼ(旧Androidアプリ開発らぼ)
様々なプラットフォーム向けのアプリ開発らぼです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CountDownTimerの使い方
Androidアプリ開発の記事です。
今回はCountDownTimerというものを使ってタイマー機能を実装する方法を説明します。

新しいプロジェクトを作成し、以下のように変更してください。

MainActivity.java


package com.epicsgarden.countdowntimer;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;

public class MainActivity extends Activity {

    public MyCountDownTimer cdt;
    public TextView time;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        time=(TextView)findViewById(R.id.time);
        cdt = new MyCountDownTimer(30*1000, 100); //・・・【1】
        cdt.start(); //・・・【2】
    }

    public class MyCountDownTimer extends CountDownTimer{ //・・・【3】

    public MyCountDownTimer(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);

    }

    @Override
    public void onFinish() { //・・・【4】
        time.setText("カウントダウン終了");
    }

    @Override
    public void onTick(long millisUntilFinished) { //・・・【5】
        if(millisUntilFinished/1000%60>=10){
            time.setText(Long.toString(millisUntilFinished/1000/60) + ":" + Long.toString(millisUntilFinished/1000%60));
        }else{
         time.setText(Long.toString(millisUntilFinished/1000/60) + ":0" + Long.toString(millisUntilFinished/1000%60));
        }
    }
    }
}


activity_main.xml


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>


【1】でタイマーの時間を設定できます。
new MyCountDownTimer(カウントダウンの開始値, カウントダウンのインターバル)
というように設定します。この()の中に入れる数字はミリ秒単位となっているので、開始値を「0:30」としたいなら開始値の所に「30*1000」という風に設定したい時間を秒単位にして、それに1000を掛けてください。
【2】の記述でカウントダウンが始まります。ボタンを押したらカウントダウンが始まるなどとすることもできます。
【3】以降の部分でタイマーに関する設定をしています。
【4】の部分はカウントダウンが終了した時に呼ばれます。
【5】の部分は【1】で設定したインターバル毎に呼ばれます。ここではインターバル毎にテキスト「time」に現在のタイムを書き込んでいます。

カウントダウンの開始値をいじったり色々試してみてください。

CountDownTimer01.jpg

CountDownTimer02.jpg


次の記事ではカウントダウンのスタートボタンと終了ボタンを設置していきます。
スポンサーサイト
コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://yumenomaterial.blog.fc2.com/tb.php/73-42164df0
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。