Android学习系列一用按钮实现显示时间
我们先用AndroidStudio新建一个项目,选择空白模板,然后像其中拖入两个Button,将他们的id分别命名为btDate(显示日期),btTime(显示时间),他的模板XML代码很简单
<?xml version="." encoding="utf-"?>
如图所示
一个标准的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;}//初始化窗口@Overrideprotected 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区分单击了哪个按钮@Overridepublic 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(resource)目录中的每一个资源文件都会在gen目录下的R类中生成一个int类型的变量,用于标识当前资源文件。所以在onCreate方法中可以通过R.layout.activity_main引用activity_main.xml文件,这说明已经在R类的layout子类中生成了一个叫activity_main的静态int类型的变量,layout类的代码的代码如下
4,如果使用单击事件,必须实现OnClickListener接口,该接口的onClick方法就是单击事件回调方法
Android应用程序中任何窗口类都必须在AndroidManifest.xml文件中定义,否则无法使用。在定义MainActivity类时标签的android:label属性使用了字符串资源。用于定义Android应用程序相关信息的标签的andrdoid:label属性值也使用了字符串资源
AndroidManifest.xml代码如下
<?xml version="1.0" encoding="utf-8"?>
其中还可以在string.xml中改变android:label的值,string.xml内容如下
显示日期时间 显示日期时间
至此,代码部分全部写完。
然后点击运行按钮,在模拟器中生成app,如图
AndroidStudio自带的模拟器说要关闭windows系统中的Hyper-v虚拟机,还要HMAX intel加速器,装Genymotion也运行不了,装国内模拟器干脆AndroidStudio就识别不出来的,真是晕+_+,还好QT给力,以后还可以用QT基于C++开发android,VS现在也实现了VC++开发Android,现在各种平台之间的交互真的是越来越给力了。期待更大的突破!!!
更多相关文章
- showDividers属性和showAsAction属性
- Android之垂直显示TextView
- GridLayout 使用
- Android(安卓)studio 安装 环境搭建
- Android---3---布局之LinearLayout
- MPAndroidChart开源图表库(一)之饼状图
- Android(安卓)ActionBar 使用详解
- Android(安卓)TextView文字超出一屏不能显示其它的文字 解决方案
- android定制化显示toast