我们先用AndroidStudio新建一个项目,选择空白模板,然后像其中拖入两个Button,将他们的id分别命名为btDate(显示日期),btTime(显示时间),他的模板
1 <??> 2 <RelativeLayout ="http://schemas.android.com/apk/res/android" 3 ="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:paddingBottom="@dimen/activity_vertical_margin" 7 android:paddingLeft="@dimen/activity_horizontal_margin" 8 android:paddingRight="@dimen/activity_horizontal_margin" 9 android:paddingTop="@dimen/activity_vertical_margin"10 tools:context="com.neil.ad01.MainActivity">11 12 13 <Button14 android:layout_width="wrap_content"15 android:layout_height="wrap_content"16 android:text="显示当前日期"17 android:id="@+id/btDate"18 android:layout_alignParentLeft="true"19 android:layout_alignParentStart="true"20 android:layout_alignParentTop="true" />21 22 <Button23 android:layout_width="wrap_content"24 android:layout_height="wrap_content"25 android:text="显示当前时间"26 android:id="@+id/btTime"27 android:layout_below="@+id/btDate"28 android:layout_alignParentLeft="true"29 android:layout_alignParentStart="true" />30 </RelativeLayout>
如图所示
images/loading.gif' data-original="data:image/png;base64,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+Nh5b6QeCQKBQCDQ8RSQOhgMPnbeG6lzuHwwGAwGg4+jgdTBYPCxM5A6GAwGg33CQOpgMPjYGUgdDAaDwT5hIHUwGHzsDKQOBoPBYJ8wkDoYDD52BlIHg8FgsE/4SEi9oaHhyH/Tf6jv19euLbz9Y3TFDvFcQOpgMBgM9glvQ+rzXlRbf8i/2m/bbN7O1X/79jvDiHdmjdGMNpRavflcbVnb3Qrb4/qxT6tHli/1Psi/0mOwFB75JD8Yd89yeud5O7p7lnPkUwXv3kDqYDAYDPYJ74PU7969d7iw7u1ESEfOBIfui7bFZJPFfK6+cuRF09xX1x/9tP3xT1tmPr/24Mv2J9+2Lqxfmf5Rcds9jSnzcM+r1itL60TNd7jds7zuWV7THV5JjVCtVx75BXmrvrUQPfAscUffWoAYGNVKXaq1uv1y33zDxOuGidflffM5ldeVutQjn5gMSB0MBoPBPuIdSd29UZ9qHLl79yCwTvkj+DY4/mGQOuX91t7/UfX45/XTXzbOrZe1jaTmFMtVzl0qvSnr4tW6ey+vzjnKh1/os0sOeC5sS5Gka5o39Ew6+lw1tJg8tJg8+lw1+FTSNcXLLJQc+SV6S5daplTfnKfZ7BE7+uY87cgn/55cMWRTwaWau8/Pt9+7fGtal5FdUNvR8fin1xbW68Y+NRZcOtxz7cNA6mAwGAz2Ce+D1A+92o2GoqQUUBrhwyB1iutn15sf/bzp4c8yyuo8dpCrkvMabtXPOC4Mf5qceQhJGEuRpP8h/96ysrpNo09zNurT1NVtmnvLytuPBJaiDwfWwQe3qeBS7ciKwVIgU6oVGp1Kl3qx427Pyq/7X37f+ewXzbNfmgrKj3aGQOpgMBgM9gnvldR33LUPo6GGl6QTrzQTrzQ3RzUXG9Sl1UqZUn3pcsXRAsHbcNW0o+nJr648/PmF4VfqtGxv3cyXmoq65hQ64wFPp9Yrb81y7z2XW8tUmdnW2bkH33zzbZrZYjCmKzRaa5nq3nP5rVmu2qA48ivzNkz5bLn9S7BMqVbqjTWjr/SZeeilXKO91LfQsfiz/ld/NfD6r2+v/qbL/quGyTWV/qA/mQcxkDoYDAaDfcJHQuoe0y+jL+RzXxjmvjBcbkweHx+npNXHx8fJQySK2gmHwzFZS7y0d1pVbwkLqia3znXw97t741TMQc5VUssftouq2hSWbOs333zz3Xfffffdd+mZWemZWWlmi1KtrWpTDNtFpfV8lyts7V7a+yVF35f1TTkc9k6r6m1/d7Z/+3sldcqPFnJ2l93h5S1IFLUTjskqxXbvbvuLSV4fb6Ph9kO/mO5XLLuqvWrYrkjWaYyZGRcbCxptrQ9/2r3yl32vftO/+u/6V/9d78u/anvys5yaGwc/174NpA4Gg8Fgn/D7U1MfWRFNv9FMv9FcuKL
一个标准的Android应用程序窗口类需要继承android.app.Activity类,至少实现onCreate方法来初始化这个窗口。接下来实现方法
1 package com.neil.ad01; 2 3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.content.Intent; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 10 import java.text.SimpleDateFormat;11 import java.util.Date;12 13 public class MainActivity extends Activity implements View.OnClickListener14 {15 16 private void showDialog(String title,String msg)17 {18 AlertDialog.Builder builder=new AlertDialog.Builder(this);19 //设置对话框的图标20 builder.setIcon(android.R.drawable.ic_dialog_info);21 //设置对话框的标题22 builder.setTitle(title);23 //设置对话框的信息24 builder.setMessage(msg);25 //设置对话框的按钮26 builder.setPositiveButton("确定",null);27 //显示对话框28 builder.create().show();29 30 Intent intent;31 }32 //初始化窗口33 @Override34 protected void onCreate(Bundle savedInstanceState) {35 super.onCreate(savedInstanceState);36 //装载了View(刚才编写的37 setContentView(R.layout.activity_main);38 //获得两个按钮对象的实例39 Button btDate=(Button)findViewById(R.id.btDate);40 Button btTime=(Button)findViewById(R.id.btTime);41 //为两个按钮添加单击事件的监听(实现了OnClickListener接口的对象)42 btDate.setOnClickListener(this);43 btTime.setOnClickListener(this);44 }45 46 //两个按钮共用一个单击事件,通过按钮的id区分单击了哪个按钮47 @Override48 public void onClick(View v) {49 switch (v.getId())50 {51 case R.id.btDate: {52 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");53 //显示当前日期54 showDialog("当前日期", sdf.format(new Date()));55 break;56 }57 case R.id.btTime: {58 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");59 //显示当前日期60 showDialog("当前时间", sdf.format(new Date()));61 break;62 }63 }64 }65 }
注:1,AlertDialog可用于显示对话框
2,如果多个控件共用一个事件方法,必须在布局文件中指定控件标签的android:id属性,并且每个控件的id属性不能相同
3.res(resource)目录中的每一个资源文件都会在gen目录下的R类中生成一个int类型的变量,用于标识当前资源文件。所以在onCreate方法中可以通过R.layout.activity_main引用activity_main.
其中还可以在string.
<resources> <string name="app_name">显示日期时间</string> <string name="title_activity_main">显示日期时间</string></resources>
至此,代码部分全部写完。
然后点击运行按钮,在模拟器中生成app,如图