Android學(xué)習(xí)系列一用按鈕實現(xiàn)顯示時間
我們先用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"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="顯示當(dāng)前日期" 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="顯示當(dāng)前時間" android:id="@+id/btTime" android:layout_below="@+id/btDate" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>
如圖所示
一個標(biāo)準(zhǔn)的Android應(yīng)用程序窗口類需要繼承android.app.Activity類,至少實現(xiàn)onCreate方法來初始化這個窗口。接下來實現(xiàn)方法
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); //設(shè)置對話框的圖標(biāo) builder.setIcon(android.R.drawable.ic_dialog_info); //設(shè)置對話框的標(biāo)題 builder.setTitle(title); //設(shè)置對話框的信息 builder.setMessage(msg); //設(shè)置對話框的按鈕 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); //為兩個按鈕添加單擊事件的監(jiān)聽(實現(xiàn)了OnClickListener接口的對象) btDate.setOnClickListener(this); btTime.setOnClickListener(this); } //兩個按鈕共用一個單擊事件,通過按鈕的id區(qū)分單擊了哪個按鈕 @Override public void onClick(View v) { switch (v.getId()) { case R.id.btDate: { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //顯示當(dāng)前日期 showDialog("當(dāng)前日期", sdf.format(new Date())); break; } case R.id.btTime: { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); //顯示當(dāng)前日期 showDialog("當(dāng)前時間", sdf.format(new Date())); break; } } } }
注:
1,AlertDialog可用于顯示對話框
2,如果多個控件共用一個事件方法,必須在布局文件中指定控件標(biāo)簽的android:id屬性,并且每個控件的id屬性不能相同
3.res(resource)目錄中的每一個資源文件都會在gen目錄下的R類中生成一個int類型的變量,用于標(biāo)識當(dāng)前資源文件。所以在onCreate方法中可以通過R.layout.activity_main引用activity_main.xml文件,這說明已經(jīng)在R類的layout子類中生成了一個叫activity_main的靜態(tài)int類型的變量,layout類的代碼的代碼如下
4,如果使用單擊事件,必須實現(xiàn)OnClickListener接口,該接口的onClick方法就是單擊事件回調(diào)方法
Android應(yīng)用程序中任何窗口類都必須在AndroidManifest.xml文件中定義,否則無法使用。在定義MainActivity類時<activity>標(biāo)簽的android:label屬性使用了字符串資源。用于定義Android應(yīng)用程序相關(guān)信息的<application>標(biāo)簽的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內(nèi)容如下
<resources> <string name="app_name">顯示日期時間</string> <string name="title_activity_main">顯示日期時間</string> </resources>
至此,代碼部分全部寫完。
然后點擊運行按鈕,在模擬器中生成app,如圖
AndroidStudio自帶的模擬器說要關(guān)閉windows系統(tǒng)中的Hyper-v虛擬機,還要HMAX intel加速器,裝Genymotion也運行不了,裝國內(nèi)模擬器干脆AndroidStudio就識別不出來的,真是暈+_+,還好QT給力,以后還可以用QT基于C++開發(fā)android,VS現(xiàn)在也實現(xiàn)了VC++開發(fā)Android,現(xiàn)在各種平臺之間的交互真的是越來越給力了。期待更大的突破?。?!
相關(guān)文章
Android Activity打開后被應(yīng)用快照遮住的問題
這篇文章主要介紹了Android Activity打開后被應(yīng)用快照遮住的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01AndroidManifest.xml <uses-feature>和<uses-permisstio
這篇文章主要介紹了AndroidManifest.xml <uses-feature>和<uses-permisstion>分析及比較的相關(guān)資料,需要的朋友可以參考下2017-06-06Android如何讓W(xué)ebView中的HTML5頁面實現(xiàn)視頻全屏播放
最近在工作遇到一個需求,需要讓W(xué)ebView中的HTML5頁面實現(xiàn)視頻全屏播放的效果,通過查找相關(guān)的資料終于找到了解決的方法,所以想著分享給大家,所以本文介紹了關(guān)于Android如何讓W(xué)ebView中的HTML5頁面實現(xiàn)視頻全屏播放的相關(guān)資料,需要的朋友可以參考學(xué)習(xí)。2017-04-04Android ListView監(jiān)聽滑動事件的方法(詳解)
下面小編就為大家?guī)硪黄狝ndroid ListView監(jiān)聽滑動事件的方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03