教你開發Android

來源:互聯網
上載者:User

標籤:

其實這個目錄結構初次看還是挺讓人心慌慌的。

Android 現在引入了一個構建系統叫做 Gradle ,你可以理解為一個C/C++裡面的Makefile 或者是node裡面的 gulp 。

Android Studio 裡面是分模組進行開發的,一個 app 可以只有一個模組,也可以有多個模組組成(比如一些自己開發的庫)。如果我們的應用足夠簡單的話,那麼就只有一個模組, Android Studio 預設建立的模組就叫 app ,可以看見,檔案夾旁邊還有個小手機的標誌,代表這是一個 Android Application 模組,而不是一個Android Library 或者是其他模組。

看看我們的代碼應該放哪,我們把注意力集中在這個檔案夾

src 是 source 的意思,也就是源碼所在的目錄,我們主要就是在這個檔案夾裡寫東西。

Main在哪?

我們來看看,我們要的 Main 函數在哪裡?

首先我們看 src/main 目錄下的 AndroidManifest.xml 檔案。

AndroidManifest 是描述App的一個最最重要的檔案,一些內容的定義,主題的設定都在這裡,如果熟悉 node 的朋友肯定知道 package.json ,一樣一樣的。

我們看到,在AndroidManifest中,出現的 MAIN 和 LAUNCHER 字眼,Activity 有了他們兩個的描述,它就成了你點擊app的icon啟動的第一個 Activity

在 src/main/java 檔案夾中,找到 MainActivity ,開啟,看見其中有一個onCreate 的函數

顧名思義,這個函數是在這個 Activity 建立的時候調用的,它首先調用了下父類的onCreate方法(不可省略),然後調用了 setContentView 方法,這個方法是告訴Android系統:我用哪個布局檔案去渲染這個 Activity ,好了,到這裡一個入口的Activity 就建立好了。

註:在 Android 系統中, Activity 類的對象不是用來給開發人員直接去 new的,它的生命週期 由系統直接管控 因為我們不參與控制 Activity 的生命週期,因此它在什麼時候回調什麼函數變得異常重要。學習編程最好的去處就是官方文檔,如果想更加深入瞭解Android Activity生命週期的童鞋,我這裡推薦看下官方對它的描述 傳送門: http://developer.android.com/training/basics/activity-lifecycle/index....

介面如何自訂?

接下來說說 Android 中的布局系統,眾所周知, Android 一開始的設計就是為了相對布局而生的。它提供了許多強大的布局特性,我們先學習下 Android 中最常見的兩種布局:

  1. 線性布局(LinearLayout)
  2. 相對布局(RelativeLayout)

線性布局就是子控制項按順序依次排列,線性布局可以設定方向,從上到下(vertical)或者從左至右(horizontal)。相對布局就更自由了,如果你增加一個子控制項,不設定任何屬性,則子空間的位置在容器的左上方(0,0)處。如果想改變位置,可以通過在容器中的位置(比如左上,右上,左下,右下,中間,靠左對齊垂直置中,靠右對齊垂直置中等等),或者和兄弟結點的對齊來決定控制項的位置。

布局相關的參考可以看這個連結:http://developer.android.com/training/basics/firstapp/building-ui.html

如何和控制項互動

在 Activity 中,和 xml 相關的綁定在 setContentView 這步就算完成了。Activity 在這之後會回調一個叫 onContentChanged 方法,在這個方法中,你可以使用類似如下代碼:

TextView textView = findViewById(R.id.textview);

來獲得對指定控制項的引用,其中 R.id.textview 是你在 xml 中指定的android:id ,通常情況下,在一個 xml 檔案中,同樣的 id 只允許出現一次。

擷取到對控制項的引用,我們就能調用一些控制項裡的方法擷取我們要的內容,或者設定我們要的內容,比如我這裡引用了一個 TextView ,則可以如下:

textView.getText()

擷取到 textView 裡面的內容。

以上就是最基礎的 UI 部分的入門講解。接下去,我們可以看看要寫的App的整個結構。






http://www.haoqijie.com/u/4256/book
http://www.haoqijie.com/u/4258/book
http://www.haoqijie.com/u/4261/book
http://www.haoqijie.com/u/4262/book
http://www.haoqijie.com/u/4263/book
http://www.haoqijie.com/u/4264/book
http://www.haoqijie.com/u/4265/book
http://www.haoqijie.com/u/4266/book
http://www.haoqijie.com/u/4267/book
http://www.haoqijie.com/u/4268/book
http://www.haoqijie.com/u/4269/book
http://www.haoqijie.com/u/4270/book
http://www.haoqijie.com/u/4271/book


http://www.haoqijie.com/u/4272/book
http://www.haoqijie.com/u/4273/book
http://www.haoqijie.com/u/4274/book


http://www.haoqijie.com/u/4275/book
http://www.haoqijie.com/u/4276/book
http://www.haoqijie.com/u/4277/book


http://www.haoqijie.com/u/4278/book
http://www.haoqijie.com/u/4279/book
http://www.haoqijie.com/u/4280/book
http://www.haoqijie.com/u/4281/book
http://www.haoqijie.com/u/4282/book
http://www.haoqijie.com/u/4283/book
http://www.haoqijie.com/u/4284/book
http://www.haoqijie.com/u/4285/book
http://www.haoqijie.com/u/4286/book
http://www.haoqijie.com/u/4287/book




http://www.haoqijie.com/u/4288/book
http://www.haoqijie.com/u/4289/book
http://www.haoqijie.com/u/4290/book




http://www.haoqijie.com/u/4291/book
http://www.haoqijie.com/u/4291/book


http://www.haoqijie.com/u/4292/book
http://www.haoqijie.com/u/4293/book
http://www.haoqijie.com/u/4293/book
http://www.haoqijie.com/u/4294/book
http://www.haoqijie.com/u/4295/book
http://www.haoqijie.com/u/4295/book
http://www.haoqijie.com/u/4296/book
http://www.haoqijie.com/u/4297/book
http://www.haoqijie.com/u/4298/book
http://www.haoqijie.com/u/4299/book

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

教你開發Android

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.