2010.12.03
@Override:在子類實現(xiàn)父類的方法時,在前一行添加@Override標(biāo)記是很有好處的:當(dāng)敲錯方法名的時候,編譯器會報錯。
2010.12.05
AVD for Android Virtual Device
SDK for Software Development Kit
API for Application Programming Interface
GUI for Graphical User Interface
2010.12.09
一,關(guān)于activity:
1,屬于android.app.Activity包
2,An activity is a single, focused thing that the user can do. 活動是一個單獨的,能獲得焦點的能與用戶進(jìn)行交互(interact)的東西。
3,onCreate(Bundle)
is where you initialize your activity. Most importantly, here you
will usually call setContentView(int)
with a layout resource defining your UI, and using findViewById(int)
to retrieve the widgets in that UI that you need to interact with
programmatically.
其中一個常用(必需?)的方法是onCreate(Bundle),在其中會調(diào)用到setContentView(int)鏈接向res中的layout或者其他資源(xml?)。另外,findViewById(int)用于檢索UI中的組件(專業(yè)名詞為component,也可通稱為widget),進(jìn)行建立觸發(fā)器(監(jiān)聽器?listener)等操作。
4,To
be of use with Context.startActivity()
,
all activity classes must have a corresponding <activity>
declaration in their package's
AndroidManifest.xml
.建立每個活動之后需要在AndroidManifest.xml中注冊才能使用。
5,onCreateOptionsMenu(Menu menu)
Initialize the contents of the Activity's standard options menu.用于建立標(biāo)準(zhǔn)的選項菜單(android上按下menu鍵進(jìn)入)public boolean onOptionsItemSelected
This hook is called whenever an item in your options menu is selected.用于進(jìn)一步建立選項菜單的內(nèi)部選項
二,What is the differences and conections among Activity, Intent and View?
1,An activity is a single, focused thing that the user can do. 活動是一個單獨的,能獲得焦點的能與用戶進(jìn)行交互(interact)的東西。
2,An
intent is an abstract description of an operation to be performed. It
can be used with startActivity
to launch an Activity
.
Intent是一個抽象的描訴(意圖做什么事?目前來說我不太理解這個概念),它可以用形如startActivity(new Intent(this, **))的語句來啟動一個新的Activity。
3,View:This class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is responsible for drawing and event handling. View is the base class for widgets, which are used to create interactive UI components (buttons, text fields, etc.)
我暫時的理解是“視圖”。View是UI的最基本創(chuàng)建版塊,占領(lǐng)一個方形區(qū)域用于繪制圖形和放置事件的句柄——組件的基本類,常用于建立可交互組件(按鈕,文本域)。
4,目前關(guān)于這三者的關(guān)系,我理解是:application的基本單位應(yīng)該是Activity——application由許許多多的彼此獨立Activity構(gòu)成。Activity的一個重要特性是它要跟用戶產(chǎn)生交互,而交互的關(guān)鍵在于Acitivity里面有許許多多的view,view不僅僅是一個靜態(tài)的視圖,我們可以在View上注冊諸如按鈕,對話框等交互組件。在Activity中我們經(jīng)常利用findViewById來查找對應(yīng)的交互組件(或者說交互組件就是view自身?)來添加listener.那么Intent又是什么?Intent我翻譯成意圖,目前我只感覺它是一個由一個Activity跳轉(zhuǎn)到另一個Activity的媒介——因為有了這樣那樣的“意圖”,所以我們需要從目前的Activity跳到另外一個才能相應(yīng)那個“意圖”——目前我是這樣理解的,不過按文檔來說Intent有著更加深厚的意義,那個以后遇上再說吧。
三,label和title的差別?
都是在R下的@string里面的條目,目前來說感覺label是一個短標(biāo)記后面一般不跟其他東西,title下會跟著其他內(nèi)容(text,label什么的都可以。)
四,最后要提到的一點,Eclipse的包的自動補(bǔ)全功能Ctrl+Shift+O。(一定要記住阿,相當(dāng)好用)
2010.12.10
一,magin和padding的差別?
對于一個border(邊框)來說,margin是外邊距,padding是內(nèi)邊距。
2010.11.12
一,什么是context?
context:Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.
context(語境?)是一個關(guān)于應(yīng)用環(huán)境的全局信息的接口,由android系統(tǒng)來負(fù)責(zé)實現(xiàn)。它可以進(jìn)行啟動Activity和接收intents等操作。
二,關(guān)于view的一點細(xì)節(jié)
不要在view的構(gòu)造函數(shù)中試圖使用view的高度和寬度,那是因為那時候Android并不知道視圖的大小(當(dāng)時寬度和高度都默認(rèn)為0)——Android在布局階段才會計算寬度和高度——那是在構(gòu)造函數(shù)被調(diào)用之后而任何對象被繪制之前。
在視圖的寬度和高度已知后,會通知onSizeChanged方法,因而可以在其中引用view的寬度和高度。另一種引用的方法是在諸如onDraw()的方法中用getWidth()與getHeight()獲取寬度和高度。
2010.11.14
一,關(guān)于Eclipse的一些常用快捷鍵
ctrl+shift+o 自動補(bǔ)全包,相當(dāng)好用
ctrl+1 簡易提示改成錯誤的方法
alt+/ 自動補(bǔ)全參數(shù)名,類名,方法名,巨好用
ctrl+/ 給選中范圍注釋,再按一次為消除注釋
ctrl+o 顯示類當(dāng)前繼承結(jié)構(gòu)
ctrl+shift+f 給選中內(nèi)容進(jìn)行自動排版。
二,實現(xiàn)[Android開發(fā)視頻教學(xué)].01_05_Activity和Intent 的代碼時遇到的錯誤:
(1)錯誤:R.id.one是一個EditText,我企圖直接用String one = getText(R.id.one).toString()來直接把它的值賦予給one。結(jié)果是彈出異常。
改正辦法:正確代碼如下:EditText textOne = (EditText)findViewById(R.id.one);String one = textOne.getText().toString();
即先建立一個名為textOne的EditText,然后用getText()方法得到它的內(nèi)容。
(2)錯誤:企圖直接用setText(answer)方法來直接輸入answer(ansser是個int變量)。
改正辦法:代碼改寫成setText(answer + “”);即可(根據(jù)Java語法,int+String類型自動轉(zhuǎn)換成String類型,補(bǔ)充一句是setText()里面的內(nèi)容只能是String類型的東西)
2010.11.15
一,關(guān)于Bundle:
A mapping from String values to various Parcelable types.
一個從字符值到各種可打包類型的映射。
(目前就在onCreate(Bundle savedInstanceState)看到過,理解成一捆數(shù)據(jù)么?)
二,this和super指針用法:
this概述:在生成一個對象的時候,系統(tǒng)會自動生成一個指向對象的this指針,所以this指針是不會指向靜態(tài)類的。
用法:(1)在方法中存在該對象的同名實例變量,需要用“this.實例變量名”來引用實例變量。
(2)在方法中需要應(yīng)用到對象自身的時候,用 ”類名.this“來進(jìn)行引用。
(3)可以在構(gòu)造函數(shù)中直接用“this(參數(shù)名)” 來調(diào)用自身構(gòu)造函數(shù),有時候可以簡化代碼。
super概述:在繼承關(guān)系中,super指向子類的父類。
用法:(1)在子類中引用父類的同名實例變量時,用“super.實例變量名”引用父類的變量。
(2)在子類的構(gòu)造函數(shù)中用super.構(gòu)造函數(shù)名()調(diào)用父類的構(gòu)造函數(shù)。(只能放在構(gòu)造函數(shù)的第一行)
(3)在子類中引用父類的同名方法時,用“super.方法名(參數(shù)名)”引用父類的方法。
三,Eclipse中又兩個個好用的快捷鍵:
F3:快速定位當(dāng)前選中的自定義方法,自定義變量名的原出處。
F4:快速展開選中類的繼承層次。