>  기사  >  Java  >  Android 학습 시리즈 1은 버튼을 사용하여 시간을 표시합니다.

Android 학습 시리즈 1은 버튼을 사용하여 시간을 표시합니다.

高洛峰
高洛峰원래의
2017-01-07 15:40:411423검색

먼저 AndroidStudio로 새 프로젝트를 생성하고 빈 템플릿을 선택한 다음 두 개의 버튼을 드래그하고 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 메서드는 클릭 이벤트 콜백 메서드입니다.

Android 애플리케이션의 모든 창 클래스를 정의해야 합니다. 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>

string.xml의 android:label 값 변경에서도 찾을 수 있습니다. string.xml의 내용은 다음과 같습니다.

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

이 시점에서 , 코드 부분이 모두 작성되었습니다.

Android Studio와 함께 제공되는 에뮬레이터에는 Windows 시스템에서 Hyper-v 가상 머신을 꺼야 한다고 나와 있으며, HMAX Intel Accelerator도 필요하며 Android Studio가 설치되어 있어도 실행할 수 없습니다. 국산 에뮬레이터를 설치해도 인식이 안되네요. 다행히 QT는 앞으로 C++ 기반의 Android 개발에 매우 ​​강력합니다. 이제 VS에서는 Android 간의 상호 작용도 구현합니다. 다양한 플랫폼이 점점 더 강력해지고 있습니다. 더 큰 발전을 기대합니다! ! !


버튼을 사용하여 시간을 표시하는 Android 학습 시리즈를 더 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.