一、前言
使用Android Studio開發Android應用是一件非常簡單的事情,因為它會幫你自動完成很多工作。本篇我們主要完成一個單擊按鈕在文本框顯示當前時間的簡單應用,借此來演示一下
如何使用AS來完成一個簡單的Android應用和AS使用中的小技巧。
使用Android Studio開發Android應用大致可分為以下三個步驟:
1.創建一個Android Studio項目
2.在XML布局定義應用的用戶界面
3.在Java代碼中編寫業務實現
二、開始第一個Android應用
1.創建Android Studio項目
在第一篇文章中我們在安裝完畢AS后,第一次打開AS會出現AS的歡迎界面,我們可以單擊第1項“Start a new Android Studio project”來創建一個Android Studio項目,如下圖:
在已經創建過一個項目后,默認會打開上一個項目,當然,如果你在設置啟動時不打開上一個項目時,還是會顯示如上圖的界面(默認是啟動AS時打開上一個項目),具體設置方法,可以見第一篇文章。
在打開一個項目的情況下,我們可以先單擊”File—>Close Project”關閉當前項目,而后AS會自動關閉當前項目,打開上圖的界面,這時就可以新建一個項目了;我們也可以直接單擊
“File—>New—>New Project”直接創建一個新的項目,如下圖所示:
接下來我們創建一個名字為MyFirstApp的項目,創建界面的解釋我們第一篇文章就有解釋,這里不再重復了。
公司域名這里為默認,項目位置可以自己選擇。最小SDK支持這里選了5.0.如下圖所示:
選擇完畢以后就會出現創建默認Activity的界面,我們這里選擇一個空的Activity(Blank Activity),其他其中Activity如果后面用會再解釋。這里暫時不做介紹(=。=因為我暫時也不知道是干什么的)
單從字面意思也能看出來以下幾個Activity的含義:
1.Blank Activity with Fragment 包含了Fragment的空白Activity
2.FullScreen Activity 可全屏的Activity
3.Google Maps Activity 內置了Google地圖的Activity
4.Google Play Services Activity 內置Google商店服務的Activity
5.Login Activity 登錄界面的Activity
6.Master/Detail Flow 父(標題)子(詳細內容)聯動的Activity
7.Setting Activity 設置頁Activity
……
這些也只是默認寫了一些模板布局,最終我們還是要自己學會Activity的方法和使用方式,不過有個已經布局好的,我們自己動手改改也是不錯的。
Customize the Activity 自定義Activity,這里主要設置Activity的基本信息:
1.Activity Name :Acitivity的名稱標識,可以在程序中調用。(做過winform編程的同學,Activity相當於winform的一個Form,相當於ASP.NET的一個webform)
2.Layout Name:對應布局文件的名稱,該文件存儲在res目錄下的layout下,是一個XML文件
3.Title:應用標題
4.Menu Resource Name:菜單資源名稱,存儲在res目錄下的menu下,也是xml類型的文件。
然后我們單擊”Finish“就可以完成創建了。
上圖即為創建完成默認打開的界面,在圖中用紅框標示的就是我們剛剛命名的Activity以及對應的布局文件和菜單文件。
2.設計我們的第一個Android應用
我們第一個Android應用主要完成的功能就是單擊界面上的一個按鈕在TextView中顯示當前的時間,我們可以看到創建項目完成的時候項目視圖默認是Android視圖,它自動創建了一個TextView,我們不刪除它,給他增加一些屬性,再增加一個Button按鈕,下圖是我們對應的代碼文件,重要的信息我都會用紅框框住,下面解釋,注意,我們這里編輯的是activity_main.xml就是Activity 的布局文件,還不是java后台邏輯文件。
!這里講訴下面內容之前,我們插入一個AS的小技巧:
我們在編寫屬性” android:onClick="clickHandler" ”之前,我們並沒有創建這個事件,這時候我們把鼠標移動到行標題的位置,它會出現一個燈泡的圖標,我們單擊它,可以看到它會出現如下圖的四個選項:
默認第一項的含義就是在MainActivity中創建這個事件,我們單擊后就會自動幫我們創建,第二項就是我們為要創建的事件選擇一個Activity。其它兩項我們這里暫時不介紹。當然這里還有一個不用鼠標點的方法,就是把光標移動到事件名字clickHandler中,然后按下”ALT+ENTER“快捷鍵也可以調出來這個智能框,完成我們自動創建事件的操作。
上面XML文檔的根元素是RelativeLayout,代表他是一個相對布局,在該界面中我們使用到了兩個UI控件:
- (1)TextView:文本框
(2)Button:普通按鈕在Android用戶界面中,SDK提供很多界面UI組件,后面的開發中我們也會陸續用到,這里說明幾個UI的通用屬性:
- 1.android:id 指定該控件的唯一標識,在Java代碼中可以通過findViewById方法獲取該界面元素。
- 2.android:layout_width 指定該元素的寬度。如果該屬性為match_parent,則說明該元素與父容器擁有相同的寬度;如果該屬性為wrap_content,則說明該元素的寬度取決他的內容(能包裹它的內容即可)。
- 3.android:layout_height 顧名思義,該元素的高度。該屬性為match_parent,則說明該元素與父容器擁有相同的高度;該屬性為wrap_content,則說明該元素的高度取決他的內容(能包裹它的內容即可)
現在我們開始編輯后台的java邏輯代碼,完成功能操作,在左側組織樹里找到java目錄,里面存放的就是我們的java代碼,我們找到我們的包名下對應的activity文件MainActivity.java.
這里需要說明的一點,android視圖的項目結構展示並不是實際的文件存儲結構。
感興趣的朋友可以在任一文件上右鍵選擇(Show IN Explorer)就可以打開存儲位置。
而采用Project視圖才是展示的文件的實際存儲結構,而具體采用哪一種好用因人而異,大家記得切換方式即可,后面的講訴都是默認以android視圖展示。
編輯后的代碼如下圖所示:
上圖中我們在事件的響應代碼中只完成了兩步操作,一就是找到界面中的文本框,二就是給它賦值。
備注:當我們輸入 TextView tvShow=findViewById(R.id.show); 這行代碼的時候,我們需要類型轉換,這個時候用我們上面講的小技巧,按住ALT+ENTER鍵,會彈出cast to…直接回車就可以完成類型轉換,很方便有沒有?!
3.運行我們的程序
這個時候會提示我們選擇要運行該程序的虛擬機,如果已經有打開的虛擬機,會在上面的running device列表中顯示,沒有打開的話會提示我們運行一個虛擬機,如果選中User same…這行的話就是下次運行不再提示,默認使用這次選擇的虛擬機…
運行成功。
三、下篇預告
本來這篇文章就應該納入下面的內容,但是中間有事打斷了,所以把下面的內容納入下一章。后面我會慢慢整理出一些目錄出來。
1.我們可以通過findViewById(R.id.show),來找到我們要找的控件元素,可是R是什么????
2.通過前面我們知道了Res目錄存放了Android應用所用的全部資源,可是如何使用它呢???
3.AndroidManifest.xml這個清單文件又是做什么的????
4.如何設置應用的訪問訪問權限呢???比如我是否允許它訪問WIFI……















