Wir erstellen zunächst ein neues Projekt mit AndroidStudio, wählen eine leere Vorlage aus, ziehen dann zwei Schaltflächen hinein und benennen ihre IDs als btDate (Anzeigedatum) und btTime (Anzeigezeit). Sein Vorlagen-XML-Code ist sehr einfach
<?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>
Eine standardmäßige Android-Anwendungsfensterklasse muss die Klasse android.app.Activity erben und mindestens die onCreate-Methode implementieren, um das Fenster zu initialisieren. Als nächstes implementieren Sie die Methode
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; } } } }
Hinweis:
1. AlertDialog kann zum Anzeigen des Dialogfelds
2 verwendet werden muss in der Layoutdatei enthalten sein. Geben Sie das Android:id-Attribut des Steuerelementetiketts an. Das ID-Attribut jedes Steuerelements darf nicht identisch sein.
3 Jede Ressourcendatei im Res-Verzeichnis (Ressourcenverzeichnis) generiert eine int in der R-Klasse im Gen-Verzeichnis. Eine Variable vom Typ, die zur Identifizierung der aktuellen Ressourcendatei verwendet wird. Daher kann in der onCreate-Methode über R.layout.activity_main auf die Dateiactivity_main.xml verwiesen werden. Dies bedeutet, dass in der Layout-Unterklasse der R-Klasse eine statische Variable vom Typ int generiert wurde
4. Wenn Sie ein Click-Event verwenden, müssen Sie die OnClickListener-Schnittstelle implementieren. Die onClick-Methode dieser Schnittstelle ist die Click-Event-Callback-Methode.
Jede Fensterklasse in einer Android-Anwendung muss definiert werden in der Datei AndroidManifest.xml, andernfalls kann es nicht verwendet werden. Beim Definieren der MainActivity-Klasse verwendet das android:label-Attribut des d3ae5c80fcb2a9903e7ea24877b1c6e7-Labels eine Zeichenfolgenressource. Der Attributwert andrdoid:label, der zum Definieren der mit der Android-Anwendung verbundenen Bezeichnung 24fbed143a7d937464d286af420d7c51 verwendet wird, verwendet auch die Zeichenfolgenressource
Der AndroidManifest.xml-Code lautet wie folgt
<?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>
was kann finden Sie auch unter Ändern des Werts von android:label in string.xml. Der Inhalt von string.xml lautet wie folgt:
<resources> <string name="app_name">显示日期时间</string> <string name="title_activity_main">显示日期时间</string> </resources>
An dieser Stelle , der Codeteil ist vollständig geschrieben.
Der mit AndroidStudio gelieferte Emulator sagt, dass Sie die virtuelle Hyper-v-Maschine im Windows-System ausschalten müssen und auch den HMAX-Intel-Beschleuniger nicht ausführen können, selbst wenn er installiert ist Selbst wenn es inländische Emulatoren installiert, ist QT glücklicherweise sehr leistungsfähig. In Zukunft kann VS auch VC++ für die Entwicklung von Android verwenden wird wirklich immer mächtiger. Wir freuen uns auf weitere Durchbrüche! ! !
Weitere Android-Lernserie 1 mit Schaltflächen zur Anzeige zeitbezogener Artikel finden Sie auf der chinesischen PHP-Website!