ホームページ  >  記事  >  Java  >  Android 学習シリーズ 1 はボタンを使用して時間を表示します

Android 学習シリーズ 1 はボタンを使用して時間を表示します

高洛峰
高洛峰オリジナル
2017-01-07 15:40:411429ブラウズ

まず AndroidStudio で新しいプロジェクトを作成し、空のテンプレートを選択し、次に 2 つのボタンをドラッグして、その ID に btDate (表示日付) と btTime (表示時間) という名前を付けます。このテンプレートの XML コードは非常に単純です

<?xml version="." encoding="utf-"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.neil.ad.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示当前日期"
android:id="@+id/btDate"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示当前时间"
android:id="@+id/btTime"
android:layout_below="@+id/btDate"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>

標準です。 Android アプリケーションのウィンドウ クラスは、android.app.Activity クラスを継承し、少なくとも onCreate メソッドを実装してウィンドウを初期化する必要があります。次に、メソッドを実装します

package com.neil.ad;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends Activity implements View.OnClickListener
{
private void showDialog(String title,String msg)
{
AlertDialog.Builder builder=new AlertDialog.Builder(this);
//设置对话框的图标
builder.setIcon(android.R.drawable.ic_dialog_info);
//设置对话框的标题
builder.setTitle(title);
//设置对话框的信息
builder.setMessage(msg);
//设置对话框的按钮
builder.setPositiveButton("确定",null);
//显示对话框
builder.create().show();
Intent intent;
}
//初始化窗口
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//装载了View(刚才编写的XML文件)
setContentView(R.layout.activity_main);
//获得两个按钮对象的实例
Button btDate=(Button)findViewById(R.id.btDate);
Button btTime=(Button)findViewById(R.id.btTime);
//为两个按钮添加单击事件的监听(实现了OnClickListener接口的对象)
btDate.setOnClickListener(this);
btTime.setOnClickListener(this);
}
//两个按钮共用一个单击事件,通过按钮的id区分单击了哪个按钮
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.btDate: {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//显示当前日期
showDialog("当前日期", sdf.format(new Date()));
break;
}
case R.id.btTime: {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
//显示当前日期
showDialog("当前时间", sdf.format(new Date()));
break;
}
}
}
}

注:

1. AlertDialog を使用してダイアログ ボックスを表示できます

2. 複数のコントロールがイベント メソッドを共有する場合、コントロール ラベルの android:id 属性をレイアウトで指定する必要があります。ファイルと各コントロールの id 属性を同じにすることはできません

3. res (リソース) ディレクトリ内の各リソース ファイルは、現在のリソース ファイルを識別するために、gen ディレクトリの下の R クラスに int 型の変数を生成します。したがって、onCreate メソッドでは、R.layout.activity_main を通じて activity_main.xml ファイルを参照できます。これは、R クラスのレイアウト サブクラスのコード内に activity_main という静的 int 型変数が生成されていることを意味します。

4 の場合、クリック イベントを使用するには、OnClickListener インターフェイスを実装する必要があります。このインターフェイスの onClick メソッドは、AndroidManifest.xml ファイルで定義する必要があります。それ以外の場合は、定義できません。利用される。 MainActivity クラスを定義する場合、d3ae5c80fcb2a9903e7ea24877b1c6e7 ラベルの android:label 属性は文字列リソースを使用します。 Androidアプリに関する情報を定義する24fbed143a7d937464d286af420d7c51ラベルのandrdoid:label属性値も文字列リソースを使用しています

AndroidManifest.xmlのコードは以下の通りです

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

android:labelの値は文字列でも変更可能です.xml 、 string.xml の内容は以下の通りです

<resources>
<string name="app_name">显示日期时间</string>
<string name="title_activity_main">显示日期时间</string>
</resources>

この時点でコード部分は全て記述できました。

Android Studio に付属のエミュレーターでは、Windows システムで Hyper-v 仮想マシンをオフにする必要があり、Genymotion がインストールされていても実行できません。国産のエミュレータをインストールするので非常に混乱します +_+ 幸いなことに、QT は将来的には C++ ベースの Android 開発に使用できるようになり、現在ではさまざまなプラットフォーム間の相互作用が本格化しています。ますます強力になります。さらなる躍進を期待しています! ! !


ボタンを使って時間を表示する Android 学習シリーズ 1 に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。