我們先用AndroidStudio新建一個項目,選擇空白模板,然后像其中拖入兩個Button,將他們的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"><Buttonandroid: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" /><Buttonandroid: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;}//初始化窗口@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類時<activity>標簽的android:label屬性使用了字符串資源。用于定義Android應用程序相關信息的<application>標簽的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"><applicationandroid: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>
至此,代碼部分全部寫完。
然后點擊運行按鈕,在模擬器中生成app,如圖

AndroidStudio自帶的模擬器說要關閉windows系統中的Hyper-v虛擬機,還要HMAX intel加速器,裝Genymotion也運行不了,裝國內模擬器干脆AndroidStudio就識別不出來的,真是暈+_+,還好QT給力,以后還可以用QT基于C++開發android,VS現在也實現了VC++開發Android,現在各種平臺之間的交互真的是越來越給力了。期待更大的突破!!!
新聞熱點
疑難解答