まず 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 クラスを定義する場合、
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 サイトに注目してください。