Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android開発】現在の日付と時刻を取得して画面に表示する方法を解説

このチュートリアルでは、Androidアプリで現在の日付と時刻を取得し、画面に表示する方法を段階的に解説します。ボタンをタップすると、フォーマットされた日時がTextViewに表示されるシンプルなサンプルアプリを作成します。

手順1:新しいプロジェクトを作成する

Android Studioを開き、メニューから「File」→「New Project」を選択して、必要な情報を入力し、新しいプロジェクトを作成します。テンプレートは「Empty Activity」を選んでおくとスムーズです。

手順2:レイアウトファイル(activity_main.xml)を編集する

res/layout/activity_main.xml に以下のコードを追加します。日時を表示するためのTextViewと、タップ用のButtonを配置しています。

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="168dp" />
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="36dp"
        android:text="クリックして現在の日時を取得"
        android:textColor="@color/colorPrimary"/>
</RelativeLayout>

手順3:MainActivity.java に処理を追加する

src/MainActivity.java に以下のコードを記述します。Calendarクラスで現在日時を取得し、SimpleDateFormatを使って「日-月-年 時:分:秒」の形式に整形しています。

import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
    Calendar calendar;
    SimpleDateFormat simpledateformat;
    String Date;
    TextView DisplayDateTime;
    Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        DisplayDateTime = (TextView) findViewById(R.id.textView);
        btn = (Button) findViewById(R.id.button);
        calendar = Calendar.getInstance();
        simpledateformat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
        Date = simpledateformat.format(calendar.getTime());
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DisplayDateTime.setText(Date);
            }
        });
    }
}

手順4:AndroidManifest.xml を確認する

androidManifest.xml には、以下のようにMainActivityがランチャーアクティビティとして登録されていることを確認してください。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリを実行してみよう

それでは、アプリを実行してみましょう。実機のAndroidスマートフォンをパソコンに接続していることを前提に説明します。Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックしてください。接続した実機を選択して実行すると、スマートフォンの画面にアプリが起動します。

【Android開発】現在の日付と時刻を取得して画面に表示する方法を解説

【Android開発】現在の日付と時刻を取得して画面に表示する方法を解説

補足:正確な「インターネット上の時刻」を取得したい場合

上記のサンプルコードは、端末本体に設定されている時刻(Calendar.getInstance())を取得する方法です。端末の日時設定がずれている場合、正確な時刻は取得できません。NTPサーバーなどインターネット経由で厳密な時刻を取得したい場合は、Apache Commons NetライブラリのNTPUDPClientクラスや、Androidが提供するSntpClientを利用する方法が一般的です。用途に応じて使い分けるとよいでしょう。


  1. 【Android開発】日付と時刻をフォーマットして表示する方法をわかりやすく解説

    はじめに このチュートリアルでは、Androidアプリで日付と時刻をフォーマットして画面に表示する方法を、実際のコード例とともに段階的に解説します。JavaのSimpleDateFormatクラスを使えば、曜日や年月日、時分秒などを自由な形式で表示できます。 手順1:新しいプロジェクトを作成する まず、Android Studioで新しいプロジェクトを作成します。メニューから「File → New Project」を選択し、必要な項目を入力してプロジェクトを作成してください。 手順2:レイアウトファイル(activity_main.xml)を編集する 次に、res/layout/activ

  2. 【Android】現在地の緯度・経度を取得する方法をサンプルコード付きで解説

    この記事では、Androidアプリで現在地の緯度(latitude)と経度(longitude)を取得する方法を、実際に動作するサンプルコードとともにわかりやすく解説します。位置情報の取得には LocationManager クラスを使用します。GPSがオフの場合に設定画面へ誘導するダイアログの表示や、実行時パーミッションのリクエスト処理もあわせて実装していきます。ステップ1:Android Studioで新規プロジェクトを作成するAndroid Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目を入力して、新しいプロジェクトを作成してください。