JAVA CHEAT SHEET

Class(類)

定義

計算機 是按照一系列成為程序的指令運行的機器。

Android設備 便是計算機。

應用 是使用Java語言編寫的程序。

設備內部是稱為 變量 的容器, 用于儲存數字或文字片段等

對象是變量,但在一下兩方面特殊:

第一,對象中可包含更小的變量,及對象的。例如,表示房屋的對象可能包含一個color域。
第二,我們可以像對象附加稱為方法的一系列指令,實際上是小程序。house對象可能具有一個setColor方法,用于將房屋設置為不同的顏色。

對象分為多種(類型)。針對每個類,我們必須編寫定義:即屬于各個類對象的域和方法列表。每個給定類的對象都有一組相同的方法
例如:每個house對象必須具有稱為color的域和稱為setColor的方法。但是每個house對象都可在其color域中包含不同的值:一個房子可以是紅色,另一個房屋為藍色。

在Java文件中編寫類的定義。由于該定義包含關于該類的所有重要數據,因此圖例使用文件表示類。屬于類的對象成為類的實例。每個實例都具有在類定義中列出的所有方法

Paste_Image.png

類名

對象有多個,給定類的對象都有一組相同的域和方法。
例如,TextView類的每個對象都具有用于在屏幕上顯示文本的方法
與此同時,ImageView類的對象具有用于顯示圖像的另外一組和`方法。

請注意,同一類的兩個對象的域中可能包含不同的值。例如,TextVeiw類的每個對象的域中都儲存一段文版。在一個TextView對象中,此域可能包含“Hello”;在另一個TextView中,此域可能包含“Goodbye”。

在Java中,類名的開頭是大些字幕,并且為駝峰式大小寫,因此很容易識別。

Code

由于Android設備尚未可靠地理解人類語言,因此必須以較簡單的語言(例如Java)編寫應用。
使用Java編寫的指令成為代碼,并且能為設備所理解。

但是,采用Java描述的細小步驟編寫應用可能會相當榮昌,因此我們首先用人類語言勾繪出應用的輪廓。這種復述成為偽代碼,只能為人類所理解。

Paste_Image.png

Field (域)

對象是變量,但在以下兩個方面特殊。第一,對象中可包含更小的變量,即對象的域。
例如,在MediaPlayer對象中可能包含多個域,用于儲存正在播放的聲音文件的名稱、音量等級、文劍回防的當前位置以及指示是否采用無線循環方式播放文件。第二,我們可向對象附加稱為方法的一系列指令,實際上是小程序。我們的MediaPalyer對象可能具有play、pause和stop方法。

對象域在創建對象時創立,在銷毀對象時銷毀。在對象的生命周期中,對象方法中的指令可使用域。

Paste_Image.png

findViewById

給定類的每個對象都附有相同的方法集。

例如,活動類的每個對象都具有創建用戶界面對象的方法:即ImageView、TextView、Button等用戶能夠在屏幕上看到的內容。

創建視圖對象后,還需要使用活動對象分別對這些對象進行配置。這就是每個視圖對象都有一個ID編號的原因。

這些編號使得應用中使用Java編寫的部分與使用XML編寫的部分之間能夠進行通訊。

具體的說,利用這些編號,使用Java創建的對象方法可以調用使用XML創建的對象方法。

各視圖的ID編號儲存在可傳遞至活動方法的Java變量中。該變量通過在布局文件的視圖對象描述中寫入變量名稱進行創建。例如,在代碼示例中創建名為R.id.today的變量,用于儲存TextView的ID編號。通過在布局文件的TextView描述中寫入屬性android:id=“@id+/today”,可完成創建。

(R代表“資源”)

每個活動都有一個名為findViewById的方法,用于查找已給出其ID編號的視圖對象。代碼示例會將變量R.id.today傳遞給次方法,用于查找TextView。如果運行正確,返回值(方法生成的結果)將引用TextView,即允許活動調用TextView方法的一條信息片段。為方便使用此引用,必須將其儲存于只能儲存“引用TextView”這一種類型值的特殊用途變量中。

由于調用findViewById可查找許多不同類(TextView、ImageView等)的視圖對象,因此其返回值為常規用途引用,可能引用這些類中任何一個對象。必須將返回值從常規轉換(轉變)至特殊后,才能將該返回值儲存到特殊用途變量中。此方向的轉換成為向下轉換,由括號中的命令TextView執行。

另一項要求是,findViewById必須在執行setContentView后執行,該方法用于創建TextView及布局文件中描述的其他視圖對象。


<TextView
android:id="@+id/today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
// Excerpt from the file MainActivity.java.
// When the app is launched, put the current date (but not the time) into the TextView.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView today = (TextView) findViewById(R.id.today);
if (today != null) {
// The Date object also contains the current time.
Date todaysDate = new Date();
DateFormat justTheDate = DateFormat.getDateInstance();
String s = justTheDate.format(todaysDate);
today.setText(s);
}
}

Paste_Image.png

只要對象存在,就必須牢記使用全局變量存儲的信息。Android 慣例是以小寫字母 m 為開頭命名全局變

量,其中 m 代表 成員,也是“域”的另一種說法。

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容