糯米文學吧

位置:首頁 > 範文 > 文學

android讀書筆記參考

文學1.24W

Android五大布局對象FrameLayout,LinearLayout,AbsoluteLayout,RelativeLayout,TableLayout。

android讀書筆記參考

它們分別是FrameLayout(框架佈局:不知道是不是這麼翻譯的),LinearLayout (線性佈局),AbsoluteLayout(絕對佈局),RelativeLayout(相對佈局),TableLayout(表格佈局).

FrameLayout:

FrameLayout是最簡單的一個佈局對象。它被定製為你屏幕上的一個空白備用區域,之後你可以在其中填充一個單一對象 — 比如,一張你要發佈的圖片。所有的子元素將會固定在屏幕的左上角;你不能為FrameLayout中的一個子元素指定一個位置。後一個子元素將會直接在前一個子元素之上進行覆蓋填充,把它們部份或全部擋住(除非後一個子元素是透明的)。

LinearLayout:

LinearLayout以你為它設置的垂直或水平的屬性值,來排列所有的子元素。所有的子元素都被堆放在其它元素之後,因此一個垂直列表的每一行只會有一個元素,而不管他們有多寬,而一個水平列表將會只有一個行高(高度為最高子元素的高度加上邊框高度)。LinearLayout保持子元素之間的間隔以及互相對齊(相對一個元素的右對齊、中間對齊或者左對齊)。 LinearLayout還支持為單獨的子元素指定weight 。好處就是允許子元素可以填充屏幕上的剩餘空間。這也避免了在一個大屏幕中,一串小對象擠成一堆的情況,而是允許他們放大填充空白。子元素指定一個weight 值,剩餘的空間就會按這些子元素指定的weight 比例分配給這些子元素。默認的 weight 值為0。例如,如果有三個文本框,其中兩個指定了weight 值為1,那麼,這兩個文本框將等比例地放大,並填滿剩餘的空間,而第三個文本框不會放大。

AbsoluteLayout:

AbsoluteLayout 可以讓子元素指定準確的x/y座標值,並顯示在屏幕上。(0, 0)為左上角,當向下或向右移動時,座標值將變大。AbsoluteLayout 沒有頁邊框,允許元素之間互相重疊(儘管不推薦)。我們通常不推薦使用 AbsoluteLayout ,除非你有正當理由要使用它,因為它使界面代碼太過剛性,以至於在不同的設備上可能不能很好地工作。

RelativeLayout:

RelativeLayout 允許子元素指定他們相對於其它元素或父元素的位置(通過ID 指定)。因此,你可以以右對齊,或上下,或置於屏幕中央的形式來排列兩個元素。元素按順序排列,因此如果第一個元素在屏幕的中央,那麼相對於這個元素的其它元素將以屏幕中央的相對位置來排列。如果使用XML 來指定這個 layout ,在你定義它之前,被關聯的元素必須定義。

TableLayout:

TableLayout 將子元素的位置分配到行或列中。一個TableLayout 由許多的TableRow 組成,每個TableRow 都會定義一個 row (事實上,你可以定義其它的子對象,這在下面會解釋到)。TableLayout 容器不會顯示row 、cloumns 或cell 的邊框線。每個 row 擁有0個或多個的cell ;每個cell 擁有一個View 對象。表格由列和行組成許多的單元格。表格允許單元格為空。單元格不能跨列,這與HTML 中的不一樣。

2關於創建對象,重載某個函數

OnClickListener listener1 = new OnClickListener()

{

public void onClick(View v) { Intent intent1 = new Intent(, startActivity(intent1); s);

};

一定注意分號,因為是sentence,後面要加分號

3關於android 的widget

分為兩種一種是包括按鈕,列表框,進度條,圖片顯示等控件,另一種則是運行於桌面的小程序,需要繼承extends AppWidgetProvider,其它繼承Activity

4 android的切換相當於windows窗口切換

Intent intent = new Intent();

lass(, s);

startActivity(intent);

是壓棧方式

通過Bundle可以active傳遞數據

View是所有控件的基類 就是界面

解析出來也是創建界面控件 Activity和service都是繼承context

Activity是處理界面進程 service是處理邏輯進程 service有兩種啟動模式startService stopService和bindService unbindService startService就是調用service的activity退出 service也會退出 bindService相反 不退出 就像音頻後台播放。

Intent intent = new Intent(Sample_2_,s);

Intent i=new Intent(ON_DIAL,e("tel://"+strTel)); Sample_2_tActivity(i);

Intent intent;

lass(, s);

startActivity(intent)

一定要在AndroidManifest中加入標籤activity 否則出錯 切忌 三種寫法

Intent是意圖 目的意思從一個activitiy到另一個activitiy 或者service

5 JAVA中abstract,interface,final,static語法 一,抽象類:abstract

1,只要有一個或一個以上抽象方法的類,必須用abstract聲明為抽象類;

2,抽象類中可以有具體的實現方法;

3,抽象類中可以沒有抽象方法;

4,抽象類中的抽象方法必須被它的子類實現,如果子類沒有實現,則該子類繼續為抽象類 5,抽象類不能被實例化,但可以由抽象父類指向的子類實例來調用抽象父類中的具體實現方法;通常作為一種默認行為;

6,要使用抽象類中的方法,必須有一個子類繼承於這個抽象類,並實現抽象類中的抽象方法,通過子類的實例去調用;

二,接口:interface

1,接口中可以有成員變量,且接口中的成員變量必須定義初始化;

2,接口中的成員方法只能是方法原型,不能有方法主體;

3,接口的成員變量和成員方法只能public(或缺省不寫),效果一樣,都是public

4,實現接口的類必須全部實現接口中的方法(父類的'實現也算,一般有通過基類實現接口中個異性不大的方法來做為適配器的做法)

三,關鍵字:final

1,可用於修飾:成員變量,非抽象類(不能與abstract同時出現),非抽象的成員方法,以及方法參數

2,final方法:不能被子類的方法重寫,但可以被繼承;

3,final類:表示該類不能被繼承,沒有子類;final類中的方法也無法被繼承.

4,final變量:表示常量,只能賦值一次,賦值後不能被修改l變量必須定義初始化; 5,final不能用於修飾構造方法;

6,final參數:只能使用該參數,不能修改該參數的值;

四,關鍵字:static

1,可以修飾成員變量和成員方法,但不能修飾類以及構造方法;

2,被static修飾的成員變量和成員方法獨立於該類的任何對象。也就是説,它不依賴類特定的實例,被類的所有實例共享

3,static變量和static方法一般是通過類名直接訪問,但也可以通過類的實例來訪問(不推薦這種訪問方式)

4,static變量和static方法同樣適應java訪問修飾符.用public修飾的static變量和static方法,在任何地方都可以通過類名直接來訪問,但用private修飾的static變量和static方法,只能在聲明的本類方法及靜態塊中訪問,但不能用this訪問,因為this屬於非靜態變量. 五,static和final同時使用

1,static final用來修飾成員變量和成員方法,可簡單理解為“全局常量”!

2,對於變量,表示一旦給值就不可修改,並且通過類名可以訪問。

3,對於方法,表示不可覆蓋,並且可以通過類名直接訪問。

extends是繼承父類,只要那個類不是聲明為final或者那個類定義為abstract的就能繼承,JAVA中不支持多重繼承,但是可以用接口來實現,這樣就要用到implements,繼承只能繼承一個類,但implements可以實現多個接口,用逗號分開就行了

比如

class A extends B implements C,D,E

Abstract 抽象的

一個Java語言中的關鍵字,用在類的聲明中來指明一個類是不能被實例化的,但是可以被其它類繼承。一個抽象類可以使用抽象方法,抽象方法不需要實現,但是需要在子類中被實現

final

一個Java語言的關鍵字。你只能定義一個實體一次,以後不能改變它或繼承它。更嚴格的講:一個final修飾的類不能被子類化,一個final修飾的方法不能被重寫,一個final修飾的變量不能改變其初始值。

finally

一個Java語言的關鍵字,用來執行一段代碼不管在前面定義的try語句中是否有異常或運行時錯誤發生。

implements

Java(TM)編程語言的一個關鍵字,在類的聲明中是可選的,用來指明當前類實現的接口。

6 Toast 和Notification

Notification通過服務來提示信息,可以文本,聲音,振動文本顯示在最上面

Toast相當於messagebox消失有漸變

7 關於Activity和Intent

Activity常用的函數有SetContentView(),findViewById(),finish(),startActivity()

生命週期涉及的函數

OnCreate(BundlesaveInteanceState),OnStart(),OnRestart(),OnResume(),OnPause(),OnStop(), OnDestory()..

8 listview關於

getListView()extFilterEnabled(true);保證列表可以輸入過濾列表 9 關於TableLayout和TableRow

TableLayout和我們平時在網頁上見到的Table有所不同,TableLayout沒有邊框的,它是由多個TableRow對象組成,每個TableRow可以有0個或多個單元格,每個單元格就是一個View。這些TableRow,單元格不能設置layout_width,寬度默認是fill_parent的,只有高度layout_height可以自定義,默認是wrap_content。