我們平時打開一個應用程序,一般是通過桌面的應用程序圖標雙擊或單擊系統開始菜單中應用程序的菜單鏈接,無論是桌面的快捷圖標還是菜單鏈接都包含了應用程序的安裝位置信息,打開它們的時候系統會按照這些位置信息找到安裝目錄然後啓動程序。
當要求系統啓動一個應用程序時,系統會先在當前目錄下查找,如果沒有則在系統變量Path指定的路徑去查找。前面我們說了JDK包含了一堆開發工具,這些開發工具都在JDK的安裝目錄下,爲了方便使用這些開發工具,我們有必要把JDK的安裝目錄設置了系統變量。這就是爲什麼在Windows安裝了JDK後需要設置JDK的bin目錄爲系統環境變量的原因。Path;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。設置CLASSPATH的目的,在於告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序所需要的類或者包。
我們要通過Eclipse來開發Android應用程序,那麼我們需要下載Android SDK(Software
Development Kit)和在Eclipse安裝ADT插件,這個插件能讓Eclipse和Android SDK關聯起來。
Android SDK提供了開發Android應用程序所需的API庫和構建、測試和調試Android應用程序所需的開發工具。
爲了使得Android應用的創建,運行和調試更加方便快捷,Android的開發團隊專門針對Eclipse
IDE定製了一個插件:Android Development Tools(ADT)。
Layout是xml文件,用來內容佈局。
Activity,用戶所能看到所有的界面,activity與佈局綁定。Activity的生命週期短,可以被操作系統殺死。
Activity的狀態:運行,暫停,停止狀態。
運行:當一個活動處於返回棧的棧頂時候,活動處於運行狀態。系統最不願意回收的就是處於棧頂的,用戶體驗差。
暫停:活動不在棧頂時候,但是仍然可見。比如對話框形式的活動只會佔用中間的局部位置,處於暫停的活動仍然是存活的,除非內存太少,系統一般不會去回收。
停止:活動不在棧頂而且完全不可見。系統仍會爲這種活動保存相應的狀態和成員變量。但是是不可靠的,因爲其他地方需要內存的時候會回收掉。
銷燬:當一個活動從返回棧中移出就變成了銷燬狀態。系統傾向回收這種狀態保證內存充足。
Activity的生命週期:
Activity定義了7個回掉方法。覆蓋活動生命週期的每一個過程。
1onCreate(),在活動第一次被創建的時候調用,在這個方法中完成活動的初始化操作。比如加載佈局,綁定事件。
2onStart(),在活動由不可見變爲可見時候調用。
3onResume(),這個方法在活動準備好和用戶進行交互的時候調用。此時活動處於返回棧的棧頂,而且處於運行狀態。
4onPause(),這個方法在系統準備恢復或者啓動另外一個活動的時候調用。在這個方法中主要是用於將消耗cpu的資源釋放掉,以及保存一些關鍵的數據。這個方法裏面的執行速度一定要快,不然影響新的棧頂的使用。
5onStop(),這個方法在活動完全不可見的時候調用。它與onPause()的區別在於,當用戶啓動一個對話框的活動時候,用戶只用執行onPause(),不用執行到onStop().
6onDestroy(),在活動銷燬前調用,之後活動處於銷燬狀態。
7onRestart(),在活動由停止狀態變成運行狀態前調用,也就是活動被重新調用了。
以上7個方法,除了onRestart()以外,其他的方法都是兩兩相對的。
如果我們想啓動一個activity需要配置在Android manifest.xml中。
在acitivity中的onCreate()方法中setContentView。把佈局綁定在一起。如果在佈局中有按鈕的話,在create中添加監聽。如果佈局中的文本部分需要注入,也在create中使用findViewById方法。目前實現的是跳轉到其他的活動,跳轉過程中可以傳遞數據。Intent。當數據複雜的時候可以使用Bundle來傳遞數據。當從一個頁面返回時候,也可以傳遞數據。
Service程序在後臺運行不需要與用戶交互。例如qq實時去監聽服務器。通過activity顯然不合理,activity生命週期短,可能被操作系統殺死。Service生命週期就一個創建一個銷燬,create destroy。
LinearLayout線性佈局,主鍵一個挨着一個。