2012年6月25日 星期一

初學android必先了解的五大語法觀念


記得初學android時所看到一堆的程式碼,心中就在想,這麼多奇怪的函數要全記起來要花多久呀@@!什麼都不懂的我只好照書本寫的程式一個一個抄,每個語法一個一個去找解釋,然後抄原文解釋來看(結果抄完後,隔天也看不懂它代表什麼意思),一直苦練半年(抄了上百個程式)才對程式一知半解,也才發現自已浪費了許多時間背程式碼、抄程式碼(程式碼的背誦不是android要我們去學的,還有更多重要的內容學習),為了不讓想學android的初學者跟我走一樣浪費時間的路,下面幾個重要觀念一定要先記起來,才不會耗費不必要的時間。





一、口語化的函數或指令

        在android生命周期中有onCreateonPauseonDestory…等等
由這些函數可知道其中所代表的意思或做法:onCreate(創建期間)onPause(暫停期間)
onDestory(毀滅期間),許多預設的函數,它的字義就是如此,所以如果你看到很長的函數或指令,拆開來看就能了解它的意思,比如:StartActivityForResult
你可以拆成Start Activity For Result,這代表依照不同結果來開始一個活動。
         在android程式設計中,空白代表一個程式碼或一個定義的結束,所以我們在命名或定義時才會將名稱連在一起而不留空白。

二、函數的執行

         android是一種物件導向,也就是說每個函數、每個動作、每個元素都可當作一個物件,在物件中又有許多不同的類別與執行動作,所以我們要讀取或執行物件中的函數或動作時,都用“.”來執行所要的指令。
例如:Button.onClickListenr() ,這代表是在Button類別中執行on click listener(按下的監聽器

三、大、小寫的差別

       如果常接觸java,有時候會覺得是不是自已寫錯程式碼了(大小寫不同),但這些程式碼卻偏偏可以執行而沒有出現錯誤?
其實這些大小寫的意義不相同,但常常會混淆,例如:int,Integer ; double,Double ; float,Float,這些看似相同,但其實有它的意義在(不然的話,開發程式者寫這種無聊的東西出來做啥)
小寫是基本類型,也就是說它可以直接存數值。
例如:int i=1(定義 i 為整數1)
而大寫可以代表1object(物件)
例如:Integer i=new Integer(1);(定義i為一個整數物件,而此物件為整數1)
那為什麼要這麼麻煩的做法呢,因為當我們遇到某些函數,它的參數無法直接放入數值,只能放入物件,所以我們才必須把數值包在物件之中,例如:ArrayListHashMap等函數…

四、父子關係

        在函數中有許多類別,而這些類別中又分許多子類別出來,當我們在使用函數時就 注意這些差別。通常每個類別只能有一個父類別,而在子類別中可以用“extends”來繼承父類別,繼承後可以擁有父類別的所有函數、變數。
例如:class test extends Activity{}:這代表我們新建一個testclass,而它繼承了父類別Activity的所有函數、變數。所以當我們在testclass中使用onCreate(){super.onCreate();}
這代表我們可以用“super”這個方法來讀取父類別中onCreate()的功能。

五、變數

在很多函數或方法中我們都必須代入參數,而這些參數的類型我們可以分為常用的幾種類型
1、Object:物件
2、String:字串
3、Value:數值(int double float……不同的數值是不互通的)
這些變數彼此之間是無法直接通用,必須通過轉換才可以使用,所以在引用參數時,我們都必須清楚知道他們之間的關聯才可以,為什麼這邊要特別講變數呢?因為在android之中,我們常用R.java中的參數來代入,在R.java中的參數都是數字,但是它們可以代表物件、字串或數值,所以有時候引用時一旦沒注意,就會形成例外出錯…

沒有留言:

張貼留言

所有的訊息,都會親自看過而且回覆