安卓手機軟件制作.doc_第1頁
安卓手機軟件制作.doc_第2頁
安卓手機軟件制作.doc_第3頁
安卓手機軟件制作.doc_第4頁
安卓手機軟件制作.doc_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

安卓手機軟件制作(興移工作室) (鄭重說明:以下資料切勿用于商業(yè)用途)一,java編程MyEclipse介紹應(yīng)用1.1.1菜單 界面最上面的是菜單條,菜單條中包含菜單(如File)和菜單項(如File New),菜單項下面則可能顯示子菜單(如Window Show View Console)。如下圖所示: 圖3.1菜單條 菜單條包含了大部分的功能,然而和常見的Windows軟件不同,MyEclipse的命令不能全部都通過菜單來完成。 1.1.2 工具欄 位于菜單條下面的是工具欄。如下圖所示: 圖3.2 工具欄 工具欄包含了最常用的功能。拖動工具欄上的虛線可以更改按鈕顯示的位置。下表列出了常見的MyEclipse工具欄按鈕及其對應(yīng)的功能: 新建文件或項目 保存 打印 新建UML模型文件 啟動AJAX網(wǎng)絡(luò)瀏覽器 新建Web Service 啟動Web Service瀏覽器 發(fā)布Java EE項目到服務(wù)器 啟動/停止/重啟服務(wù)器 啟動MyEclipse網(wǎng)絡(luò)瀏覽器 打開項目或者文件所在目錄 啟動電子郵件軟件發(fā)送文件 截屏 新建EJB 3 Bean 調(diào)試程序 運行程序 運行外部工具 新建Java項目 新建包 新建類 打開類型 搜索 打開Spring bean定義 切換單詞匹配 下一標(biāo)注 前一標(biāo)注 最后一次修改的位置 文件的后一位置 文件的前一位置 1.1.3 透視圖(Perspective)切換器 位于工具欄最右側(cè)的是Eclipse特有的工具欄:透視圖切換器。如下圖所示: 圖3.3透視圖切換器 點擊按鈕可以顯示多個透視圖供切換。什么是透視圖?當(dāng)前的界面布局就是一個透視圖,通過給不同的布局起名字,便于用戶在多種常用的功能模塊下工作,總體來說,一個透視圖相當(dāng)于一個自定義界面。一個透視圖保存了當(dāng)前的菜單欄,工具欄按鈕以及視圖的大小,位置,顯示與否的所有狀態(tài),可以在下次切換回來時恢復(fù)原來的布局。 要關(guān)閉透視圖,在按鈕上點擊右鍵,在彈出的菜單中選擇Close即可。要再次顯示,如上段所示點擊對應(yīng)的視圖名稱即可。如果發(fā)現(xiàn)在上面的列表中找不到,請點擊圖3.3透視圖切換器中的Other菜單項,在下面所示的打開透視圖對話框(圖3.4)中選中對應(yīng)的透視圖,然后點擊OK即可。 另一種切換的辦法是選擇主菜單 Window Open Perspective ,然后選中希望轉(zhuǎn)向的透視圖,如果沒有,可以繼續(xù)點擊菜單項 Other來顯示打開如圖3.4所示的透視圖對話框,選中列表中的透視圖后,再點擊對話框的OK按鈕即可切換到對應(yīng)的透視圖。 在圖3.4中有個復(fù)選框Show all,如果選中它可以在列表中看到和MyEclipse沖突的一些透視圖,例如WTP Java EE,因此一般來說不要使用。MyEclipse的默認(rèn)透視圖是 MyEclipse Java Enterprise。本書中如沒有特殊說明,都是用這個透視圖來完成所有操作。如果你使用了Java透視圖,那么有一些菜單項和工具欄按鈕就會無法看到。 圖3.4切換所有透視圖 1.1.4 視圖(View) 視圖是顯示在主界面中的一個小窗口,可以單獨最大化,最小化顯示,調(diào)整顯示大小和位置,以及關(guān)閉。除了工具欄,菜單欄和狀態(tài)欄之外,Eclipse的界面就是由這樣的一個個的小窗口組合起來,像拼圖一樣構(gòu)成了Eclipse界面的主要部分。下面的是大綱視圖: 圖3.5視圖 每個視圖包括關(guān)閉按鈕,最大化和最小化按鈕,視圖工具欄以及視圖主體和邊框組成。視圖最頂部顯示的是標(biāo)題欄,拖動這個標(biāo)題欄可以在主界面中移動視圖的位置,單擊標(biāo)題欄則會切換顯示對應(yīng)視圖的內(nèi)容;雙擊標(biāo)題欄或者點擊最大化按鈕可以讓當(dāng)前視圖占據(jù)整個窗口。點擊將會關(guān)閉當(dāng)前的視圖。點擊按鈕最小化當(dāng)前視圖,這時候當(dāng)前視圖會縮小為一個圖標(biāo)并顯示在界面的上側(cè)欄,或者右側(cè)欄和狀態(tài)欄上,如下圖所示: 圖3.6最小化顯示的視圖 拖動工具欄上的虛線可以更改最小化視圖顯示的位置。點擊按鈕可以恢復(fù)最小化之前的視圖位置和大小,點擊最小化后的圖標(biāo)可以暫時顯示(術(shù)語叫快速切換Fast View)視圖的完整內(nèi)容。鼠標(biāo)放在邊框上并拖動可以調(diào)節(jié)視圖的顯示大小。點擊視圖上的工具欄按鈕可以執(zhí)行對應(yīng)的功能,而點擊按鈕則可以顯示和當(dāng)前視圖相關(guān)聯(lián)的功能菜單。 當(dāng)視圖不小心關(guān)閉后,可以通過下列菜單再次打開:Window Show View,如下圖所示,可以選擇要顯示的視圖: 圖3.7視圖列表子菜單 如果在上面沒有發(fā)現(xiàn)要顯示的視圖,可以點擊Other菜單,然后在所有的視圖列表中選擇所顯示的視圖,如下圖所示: 圖 3.8 顯示視圖對話框 可以在type filter text 這個框中輸入視圖的部分名字來模糊查找,這樣能夠快速定位到要顯示的視圖。 常見的視圖及其功能: Package Explorer Java包結(jié)構(gòu) Hierarchy 類層次(繼承關(guān)系) Outline 大綱,顯示成員等 Problems 錯誤,警告等信息 Tasks 任務(wù)如TODO標(biāo)記 Web Browser 網(wǎng)絡(luò)瀏覽器 Console 控制臺,程序輸出 Servers 服務(wù)器列表和管理 Properties 屬性 Image Preview 圖片預(yù)覽 Snippets 代碼片段 1.1.5 上下文菜單(Context Menu) 在界面的任何地方點擊鼠標(biāo)右鍵所彈出的菜單叫上下文菜單,它能方便的顯示和鼠標(biāo)所在位置的組件或者元素動態(tài)關(guān)聯(lián)的功能。 1.1.6 狀態(tài)欄(Status Bar) 在界面的最底部顯示的是狀態(tài)欄,相對來說,Eclipse的狀態(tài)欄功能大大弱化,它的主要功能都集中在視圖中。如下圖所示: 圖3.8 狀態(tài)欄 1.1.7 編輯器(Editor) 在界面的最中央會顯示代碼或者其它文本或圖形文件編輯器。這個編輯器和視圖非常相似,也能最大化和最小化,所不同的是會顯示多個標(biāo)簽頁,也沒有工具欄按鈕,而且有一個很特殊的組件叫隔條,如圖中的代碼最左側(cè)的藍色豎條所示,隔條上會顯示行號,警告,錯誤,斷點等提示信息。編輯器里面的內(nèi)容沒有被修改時,會在標(biāo)簽頁上顯示 * 號。如下圖所示: 圖 3.9 編輯器 當(dāng)同時打開多個文件時,會顯示標(biāo)簽頁下拉框例如4,數(shù)字表示了有多少個已打開的文件未在編輯器區(qū)域中顯示。單擊可以顯示文件列表選擇框,可以在輸入框中輸入部分字母來模糊匹配已打開的文件。如下圖所示: 圖3.10 文件列表選擇框 1.2 常見概念和操作 1.2.1 項目(Project) Eclipse中所有的可以編譯運行的資源必須放在項目中,單獨打開文件很多功能不可用。項目表示了一系列相關(guān)的文件和設(shè)置(例如類路徑,編譯器級別,發(fā)布路徑等等的設(shè)置)。一般來說目錄下的.project和.classpath這兩個文件描述了當(dāng)前項目的信息。打開項目可以先選中單個或者多個項目,然后選擇菜單Project Open Project,或者點右鍵選擇菜單Open Project。關(guān)閉項目可以先選中要關(guān)閉的單個或者多個項目,然后選擇菜單Project Close Project,或者點右鍵選擇菜單Close Project。 1.2.2工作區(qū)(Workspace) 一個Eclipse可以有多個工作區(qū),每個工作區(qū)包含了多個項目,以及所有其余的設(shè)置信息例如界面布局,文字大小,服務(wù)器定義等等。但是一個工作區(qū)只能被單個Eclipse進程使用。另外同一個項目也會加入到不同的工作區(qū)中。 注意:刪除工作區(qū)目錄的時候很可能誤刪位于工作區(qū)中的項目文件。工作區(qū)目錄會有一個名為.metadata的目錄來保存所有設(shè)置信息。在Eclipse啟動的時候會讓你選擇要使用的工作區(qū)。如果輸入的工作區(qū)目錄不存在,Eclipse會自動創(chuàng)建它。 1.2.3 導(dǎo)入、導(dǎo)出Java項目 導(dǎo)入項目 當(dāng)下載了包含Eclipse項目的源代碼文件后,我們可以把它導(dǎo)入到當(dāng)前的Eclipse工作區(qū)然后編輯和查看。點擊菜單File Import,然后在彈出的Import對話框中展開General目錄,選擇Existing Projects into Workspace,接著點擊Next按鈕。當(dāng)選中單選鈕Select root directory:時可以點擊Browse按鈕選中包含項目的文件夾,如果包含項目的話就可以在中間的Projects列表框中顯示;而當(dāng)選中單選鈕Select archive file:時可以點擊Browse按鈕選中包含項目的ZIP壓縮包,如果包含項目的話就可以在中間的Projects列表框中顯示。最后點擊Finish按鈕就可以導(dǎo)入項目并打開了。如下圖所示: 圖3.11 導(dǎo)入項目 導(dǎo)出項目 點擊菜單File Export,然后在彈出的Export對話框中展開General目錄,選擇Archive File,接著點擊Next按鈕。然后在To archive file:輸出框中選中要保存的文件名,一般寫成項目名.zip,然后點擊Finish按鈕即可導(dǎo)出當(dāng)前項目。還有一種方式是手工打包,用WinRAR或者WinZIP等工具都可以,先點擊工具欄上的打開項目所在目錄,接著就可以用你喜歡的工具來打包代碼目錄了。 1.2.4快速修正代碼錯誤 在Eclipse的編輯器中編寫代碼以及編譯后會顯示檢查出來的錯誤或者警告并在出問題的代碼行首的隔條上顯示紅叉以及點亮的燈泡。左鍵點擊燈泡或者按下快捷鍵Ctrl+1 (或者菜單Edit Quick Fix)可以顯示修正意見,并在修正前顯示預(yù)覽。如下圖所示: 圖 3.12 快速修正代碼錯誤 1.2.5優(yōu)化導(dǎo)入列表 代碼中經(jīng)常會導(dǎo)入無用的包和類,通過菜單Source Organize Imports或者在編輯器的上下文菜單中選擇菜單項Source Organize Imports,或者按下快捷鍵Ctrl+Shift+O也可以來重新組織并去掉無用的類和包。 1.2.6添加,修改,刪除JRE 通過菜單Window Preferences,然后選擇Java Installed JREs,可以打開供在Eclipse編寫程序所使用的JRE列表。復(fù)選框選中的JRE是默認(rèn)的JRE,它被項目里面所有的項目來作為編譯和啟動的JRE(除非在項目的Build Path中指定了其它的JRE)。可以通過Add按鈕來添加新的JRE定義(在彈出的對話框中選擇Browse按鈕然后選中JDK的安裝目錄,之后點擊OK即可),Edit按鈕可以修改JRE定義,Remove按鈕可以刪除JRE定義,選中不同的JRE前面的復(fù)選框來把它作為默認(rèn)JRE。雖然MyEclipse能夠自動找到并顯示一個JRE,但是強烈建議大家添加一個JDK來進行開發(fā),便于查看JDK類源碼和編碼時能夠顯示提示信息。如下圖所示: 圖 3.13 配置安裝的JRE 1.2.7查看類定義,層次和源碼 查看類定義或者其源碼,可以在編輯器的上下文菜單中選擇Open Declaration,或者選擇菜單Navigate Open Declaration,或者按下F3鍵。如果這個類關(guān)聯(lián)了源碼(例如JDK里面的類),就可以看到源代碼,否則只能看到類的方法和成員信息。 查看類的繼承層次,可以在編輯器的上下文菜單中選擇Open Type Hierarchy,或者選擇菜單Navigate Open Type Hierarchy,或者按下F4鍵,或者將類或者包拖放到Hierarchy視圖,就可以在Hierarchy視圖看到類的繼承層次,之后就可以點擊對應(yīng)的類看到定義了。 1.2.8查找類文件(Open Type) 要快速找到某個類型的定義,選擇菜單Navigate Open Type,或者按下Ctrl+Shift+T鍵,或者按下工具欄按鈕。這時候可以出現(xiàn)Open Type對話框,在Enter type name prefix or pattern輸入框中鍵入類的頭幾個字母,或者也可以使用?和*這樣的通配符來模糊查找,對話框下面的列表中將會顯示匹配的類文件,選中列表中顯示的單個或者多個類定義來打開它。如果這個類關(guān)聯(lián)了源碼(例如JDK里面的類),就可以看到源代碼,否則只能看到類的方法和成員信息。如下圖所示: 圖 3.14 Open Type對話框 1.2.9源碼目錄,輸出路徑,Library和編譯器版本設(shè)置 點擊菜單 Project Properties 或者在Package Explorer項目節(jié)點上右鍵點擊選擇上下文菜單中的Properties,或者用快捷鍵Alt+Enter,可以打開項目屬性對話框。選擇左側(cè)的Java Build Path,可以在右側(cè)顯示項目的類路徑有關(guān)的設(shè)置標(biāo)簽頁。Source頁顯示了源代碼目錄(可以使用一個或者多個,里面的源文件將會被編譯)以及Java源代碼編譯后產(chǎn)生的類文件所存放的目錄。這些參數(shù)都可以修改,源代碼目錄可以添加或者刪除。Package Explorer 視圖默認(rèn)是不顯示類文件的輸出目錄的。如下圖所示: 圖 3.15 源碼目錄和輸出路徑 點擊 Libraries頁面則可以設(shè)置當(dāng)前項目的類路徑,這些類庫在編譯源文件時使用。如下圖所示: 圖 3.16 類庫 Add JARs按鈕可以將當(dāng)前項目中的jar文件加入到類路徑,Add External JARs則將添加項目外的jar文件到類路徑,Add Variable添加變量,Add Library可以添加類庫(一個或者多個jar文件的集合,由開發(fā)工具定義和管理),Add Class Folder則添加目錄中的類文件,Edit可以修改所選類庫的設(shè)置,Remove則從類路徑中刪除選中的類庫。 在開發(fā)中不可避免的需要設(shè)置源代碼的編譯級別,例如使用JDK1.6來開發(fā)將來運行于JDK1.4上的項目,那么這時候需要設(shè)置編譯器的等級,否則將來的類文件會因為版本過高而不能被目標(biāo)JDK識別。點擊項目屬性對話框中的Java Compiler可以設(shè)置代碼的編譯器級別。如下圖所示: 圖3.17 編譯器級別 如果只是修改當(dāng)前項目的編譯器級別,可以選中復(fù)選框Enable project specific settings,然后在Compiler compliance level右側(cè)的下拉框中選擇目標(biāo)的編譯級別,例如5.0,1.4等等。還可以去掉Use default compliance settings復(fù)選框的選中狀態(tài),來進一步設(shè)置。這些設(shè)置將會影響到源代碼中的語法錯誤檢查,例如要在1.4級別的項目中用5.0的語法寫代碼,肯定是會報錯的。 如果要修改所有項目的默認(rèn)編譯級別,點擊Configure Workspace Settings來打開全局設(shè)置對話框,這兩處的設(shè)置幾乎是一樣的,就不再贅述了。 1.2.10生成getter和setter 方法 在寫JavaBean的時候常常要寫一些模版化的getXXX()和setXXX()這樣的方法,我們可以用Eclipse來自動生成這些模版化的方法。先寫好 private String name; 這樣的變量定義,然后選擇菜單Source Generate Getters and Setters 或者在編輯器中點擊右鍵選擇菜單Source Generate Getters and Setters就可以打開Generate Getters and Setters對話框,在對話框中選擇要生成的方法,然后點擊OK按鈕即可。 1.2.11格式化源代碼 有時候代碼手寫的很亂,這時候可以先選中要格式化的代碼(不選擇是格式化當(dāng)前文件的所有代碼),通過選擇菜單Source Format 或者在編輯器中點擊右鍵選擇菜單Source Format 或者通過快捷鍵Ctrl+Shift+F來快速的將代碼格式化成便于閱讀的格式。這個操作在MyEclipse中也可以格式化XML,JSP,HTML等源文件。 1.2.12注釋和取消注釋 使用快捷鍵 Ctrl + / 可以將選中的代碼快速的添加或者去掉兩個斜線(/)風(fēng)格的注釋。 1.2.13手工和自動編譯 如果是特別大的項目,例如幾千個源代碼,使用Eclipse來自動編譯將會是一場噩夢。每鍵入一行代碼都會自動啟動編譯器檢查進程,嚴(yán)重時候屏幕甚至?xí)ㄖ粍樱ㄟ@也是Eclipse的一個優(yōu)點之中的缺點)。這時候可以切換Eclipse的自動編譯為手工編譯。去掉菜單Project Build Automatically 的選中狀態(tài)后,項目就變成了手工編譯狀態(tài);再次點擊菜單可以重新切換會自動編譯狀態(tài)。這時候再鍵入代碼就不會自動檢查編譯錯誤了,也不會生成編譯后的類文件,這樣有助于快速的寫代碼。此時要進行編譯可以選擇菜單 Project Build Project 來編譯當(dāng)前項目或者 Project Build All 來編譯所有項目。 1.2.14直接粘貼Java源碼為類文件 Eclipse 3.3 支持一個功能就是如果剪貼板上放的是Java源程序,例如如下所示的代碼復(fù)制到剪貼板上: public class YetAnother 那么點擊菜單 Edit Paste 或者在Package Explorer視圖的項目節(jié)點的上下文菜單中選擇 Paste,或者按下快捷鍵 Ctrl + V,那么Eclipse會根據(jù)這段代碼自動生成一個新的.java 文件并把它加入到當(dāng)前項目的源代碼目錄中。 1.2.15復(fù)制項目中的文件 首先選中Package Explorer視圖的文件節(jié)點(Java類或者普通文件都可以),那么點擊菜單 Edit Copy 或者在Package Explorer視圖的項目節(jié)點的上下文菜單中選擇 Copy,或者按下快捷鍵 Ctrl + C,之后再選擇粘貼的話,會在要粘貼的位置創(chuàng)建原始文件的副本,如果是類的話會自動修改其包定義或者提示你輸入類的新名稱。如果你在Windows的文件瀏覽器中選中一個文件或者文件夾復(fù)制,之后再在Eclipse中粘貼,那么這個文件或者文件夾會立即復(fù)制并加入到當(dāng)前項目中,這樣可以快速的導(dǎo)入一些單獨的源代碼。 1.2.16斷點和調(diào)試器 在源代碼的隔條上雙擊鼠標(biāo)可以切換是否在當(dāng)前行設(shè)置斷點(break point),斷點以的形式顯示,如下圖所示: 圖 3.18 斷點 之后我們可以通過菜單RunDebug,或者Run Debug As 1 Java Application,或者通過工具欄按鈕,或者快捷鍵F11,或者在編輯器的上下文菜單中選擇 Debug As 1 Java Application 來啟動調(diào)試器。當(dāng)調(diào)試器遇到斷點時就會掛起當(dāng)前線程并切換到調(diào)試透視圖。調(diào)試透視圖將會顯示Debug視圖,Variables視圖,Breakpoints視圖和Expressions視圖。例如我們的程序調(diào)試時如下所示: 圖 3.19 Debug 視圖 Debug 視圖中顯示了當(dāng)前所有運行中的線程以及所執(zhí)行的代碼所在的位置。 這時候編輯器中將會以綠色高亮行背景指示執(zhí)行代碼的位置,如下圖所示: 圖 3.20 調(diào)試時候的代碼指示器 而Variables視圖則顯示當(dāng)前線程所執(zhí)行到的方法或者類中的局部,全局等變量的值。 圖 3.21 Variables視圖 這時候線程已經(jīng)掛起,點擊Debug視圖的 Resume按鈕來繼續(xù)往下執(zhí)行,要重新掛起可以選擇某個線程,然后點擊 Suspend按鈕。要一行行的調(diào)試代碼,可以點擊 Step Over按鈕來往下執(zhí)行,或者按下F6鍵。要終止調(diào)試,可以點擊按鈕。 注意:Eclipse中的調(diào)試器功能很完善,但是使用也非常復(fù)雜,更詳細(xì)的資料可以參考IBM的開發(fā)人員站點或者Eclipse的幫助文檔。限于篇幅這里就不再多介紹了。 1.2.17快速加入、刪除jar包到Build Path 首先將jar文件復(fù)制到項目中(參考復(fù)制項目中的文件一節(jié)),然后在Package Explorer視圖的jar文件上單擊右鍵,選擇菜單Build Path Add to Build Path 就可以將這個jar文件加入Build Path;要從項目的Build Path中去掉這個jar文件,可以選擇上下文菜單中的Build Path Remove from Build Path。 如果是MyEclipse的Web項目的話,當(dāng)你將jar文件添加到WebRoot/WEB-INF/lib 下后,MyEclipse會自動把它加入到當(dāng)前項目。如果發(fā)現(xiàn)新加入的文件沒有顯示在Eclipse中,可以在Package Explorer視圖中選擇上下文菜單中的Refresh或者按下快捷鍵F5就可以看到了。 1.2.18查看當(dāng)前類被哪些類引用 在項目中如果能看到類或者變量,方法被哪些其它的類所引用,將會大大的加快調(diào)試或者理解程序結(jié)構(gòu)的進度??梢栽诰庉嬈鞯纳舷挛牟藛沃羞x擇References Project來顯示當(dāng)前項目哪些類引用到了它,或者References Workspace來看整個工作區(qū)里面哪些類引用到了它。查找結(jié)果顯示在Search視圖中。 1.2.19設(shè)置編輯器字體,顏色和顯示行號 默認(rèn)情況下Eclipse的代碼編輯器是不顯示行號的,要顯示它可以通過菜單Window Preferences 來打開Preferences設(shè)置對話框,幾乎所有Eclipse的設(shè)置選項都可以在這里找到。要顯示行號,可以展開節(jié)點General Editors Text Editors,在右側(cè)的設(shè)置中選中復(fù)選框 Show line numbers即可。如圖所示: 圖 3.22a 顯示行號 然而最快的方式還是在編輯器隔條(最左側(cè)欄)上點擊右鍵,在彈出的快捷菜單上選擇復(fù)選菜單Show Line Numbers即可,之后就可以看到行號了。此過程如下圖3.22b所示。顯示了行號的編輯器如圖3.23所示。 圖 3.22b 通過編輯器隔條右鍵點擊顯示行號 圖 3.23 顯示了行號的編輯器 要修改編輯器的字體,可以選擇Preferences對話框的General Appearance Colors and Fonts,之后就可以在右側(cè)修改字體了。 注意:編輯器的字體是設(shè)置BasicText Font,之后點擊Change按鈕即可。如下圖所示: 圖 3.24 修改編輯器字體 1.2.20 Link文件 Eclipse支持一種特殊的概念叫Link文件,其實和Windows的快捷方式這個概念是非常像的。選擇菜單File New File 或者 File New Folder,可以打開新建文件或者目錄的對話框,如下圖所示: 圖 3.25 Link 方式創(chuàng)建文件 這時候如果點擊Advanced按鈕,然后選中復(fù)選框Link to file in the file system,之后就可以點擊Browse按鈕來選中項目之外的其它文件。此時創(chuàng)建的文件就叫一個Link文件,相當(dāng)于快捷方式,真正的內(nèi)容是存儲在c:HelloWorld.java中,但是對項目中的這個文件的修改會自動的同步到c:HelloWorld.java中去,就好像這個文件是在當(dāng)前項目中一樣。創(chuàng)建完畢的文件圖標(biāo)上會顯示一個箭頭來說明這個文件是個Link文件,看起來像這樣;目錄的圖標(biāo)顯示起來像這樣:。Link目錄中的Java源代碼也可以加入到源代碼目錄中去進行編譯。 注意:因為 Link 方式的文件依賴于文件系統(tǒng)的絕對路徑,因此不建議使用這種方式來把你的項目打包發(fā)給別人來使用。 1.2.21安裝插件 我們假定的是C:JavaMyEclipse6.0為你的MyEclipse的安裝目錄,一般的Eclipse插件只需要復(fù)制到C:JavaMyEclipse6.0eclipseplugins 下面就可以安裝完畢,這樣的插件一般是單獨的jar文件。如果發(fā)現(xiàn)下載的插件是個ZIP格式而且發(fā)現(xiàn)解壓縮后帶有eclipse子目錄,那需要把它直接復(fù)制到C:JavaMyEclipse6.0覆蓋eclipse目錄即可完成安裝(注意:不要刪除老的eclipse目錄)。 1.2.22獲取幫助和閱讀幫助文檔 在任何位置按下F1鍵,Eclipse會顯示相關(guān)的幫助文檔;完整的幫助文檔可以通過菜單Help Help Contents 來閱讀。絕大多數(shù)的MyEclipse和Eclipse的操作說明,相關(guān)的一些教程,都可以在幫助文檔中找到,雖然內(nèi)容是英文的,但是內(nèi)容是非常全面,圖文并茂的。MyEclipse Learning Center 里的內(nèi)容是所有MyEclipse自帶的操作和教程文檔。 1.2.23 CVS團隊源代碼管理(在線閱讀) 請參考IBM開發(fā)人員社區(qū)的一篇文章來學(xué)習(xí): 使用 Eclipse 平臺共享代碼Eclipse 如何使用源代碼版本控制 /developerworks/cn/linux/opensource/os-ecshare/index.html。 1.2.24 修改文件的字符編碼 Eclipse中不同的文件會采取不同的默認(rèn)編碼,還有的項目會用UTF-8等編碼。例如 .properties 文件默認(rèn)只能保存 ISO8859-1 的編碼,要想在這樣的文件中寫漢字,只需要更改字符集為對應(yīng)的編碼即可。修改方法: 右鍵點擊文件選擇菜單 Properties,然后在 Text file encoding 下面選擇單選鈕 Other,接著點擊右側(cè)的編碼列表,一般來說中文選擇 GBK 就好了。 如果你發(fā)現(xiàn) .java 文件(Linux平臺下)是 UTF-8 編碼的,你也可以修改成 .GBK 的,否則拿到 Windows 下可能就出現(xiàn)亂碼問題了。 二,安卓程序開發(fā)指南應(yīng)用程序基礎(chǔ)Application Fundamentals關(guān)鍵類1. Activity 2. Service 3. BroadcastReceiver 4. ContentProvider 5. Intent Android應(yīng)用程序使用Java做為開發(fā)語言。aapt工具把編譯后的Java代碼連同其它應(yīng)用程序需要的數(shù)據(jù)和資源文件一起打包到一個Android包文件中,這個文件使用.apk做為擴展名,它是分發(fā)應(yīng)用程序并安裝到移動設(shè)備的媒介,用戶只需下載并安裝此文件到他們的設(shè)備。單一.apk文件中的所有代碼被認(rèn)為是一個應(yīng)用程序。從很多方面來看,每個Android應(yīng)用程序都存在于它自己的世界之中: 默認(rèn)情況下,每個應(yīng)用程序均運行于它自己的Linux進程中。當(dāng)應(yīng)用程序中的任意代碼開始執(zhí)行時,Android啟動一個進程,而當(dāng)不再需要此進程而其它應(yīng)用程序又需要系統(tǒng)資源時,則關(guān)閉這個進程。 每個進程都運行于自己的Java虛擬機(VM)中。所以應(yīng)用程序代碼實際上與其它應(yīng)用程序的代碼是隔絕的。 默認(rèn)情況下,每個應(yīng)用程序均被賦予一個唯一的Linux用戶ID,并加以權(quán)限設(shè)置,使得應(yīng)用程序的文件僅對這個用戶、這個應(yīng)用程序可見。當(dāng)然,也有其它的方法使得這些文件同樣能為別的應(yīng)用程序所訪問。 使兩個應(yīng)用程序共有同一個用戶ID是可行的,這種情況下他們可以看到彼此的文件。從系統(tǒng)資源維護的角度來看,擁有同一個ID的應(yīng)用程序也將在運行時使用同一個Linux進程,以及同一個虛擬機。應(yīng)用程序組件Android的核心功能之一就是一個應(yīng)用程序可以使用其它應(yīng)用程序的元素(如果那個應(yīng)用程序允許的話)。比如說,如果你的應(yīng)用程序需要一個圖片卷動列表,而另一個應(yīng)用程序已經(jīng)開發(fā)了一個合用的而又允許別人使用的話,你可以直接調(diào)用那個卷動列表來完成工作,而不用自己再開發(fā)一個。你的應(yīng)用程序并沒有吸納或鏈接其它應(yīng)用程序的代碼,它只是在有需求的時候啟動了其它應(yīng)用程序的那個功能部分。為達到這個目的,系統(tǒng)必須在一個應(yīng)用程序的一部分被需要時啟動這個應(yīng)用程序,并將那個部分的Java對象實例化。與在其它系統(tǒng)上的應(yīng)用程序不同,Android應(yīng)用程序沒有為應(yīng)用準(zhǔn)備一個單獨的程序入口(比如說,沒有main()方法), 而是為系統(tǒng)依照需求實例化提供了基本的組件。共有四種組件類型:ActivityActivity是為用戶操作而展示的可視化用戶界面。比如說,一個activity可以展示一個菜單項列表供用戶選擇,或者顯示一些包含說明的照片。一個短消息應(yīng)用程序可以包括一個用于顯示做為發(fā)送對象的聯(lián)系人的列表的activity,一個給選定的聯(lián)系人寫短信的activity以及翻閱以前的短信和改變設(shè)置的activity。盡管它們一起組成了一個內(nèi)聚的用戶界面,但其中每個activity都與其它的保持獨立。每個都是以Activity類為基類的子類實現(xiàn)。一個應(yīng)用程序可以只有一個activity,或者,如剛才提到的短信應(yīng)用程序那樣,包含很多個。每個activity的作用,以及其數(shù)目,自然取決于應(yīng)用程序及其設(shè)計。一般情況下,總有一個應(yīng)用程序被標(biāo)記為用戶在應(yīng)用程序啟動的時候第一個看到的。從一個activity轉(zhuǎn)向另一個的方式是靠當(dāng)前的activity啟動下一個。每個activity都被給予一個默認(rèn)的窗口以進行繪制。一般情況下,這個窗口是滿屏的,但它也可以是一個小的位于其它窗口之上的浮動窗口。一個activity也可以使用超過一個的窗口比如,在activity運行過程中彈出的一個供用戶反應(yīng)的小對話框,或是當(dāng)用戶選擇了屏幕上特定項目后顯示的必要信息。窗口顯示的可視內(nèi)容是由一系列視圖構(gòu)成的,這些視圖均繼承自 View 基類。每個視圖均控制著窗口中一塊特定的矩形空間。父級視圖包含并組織它子視圖的布局。葉節(jié)點視圖(位于視圖層次最底端)在它們控制的矩形中進行繪制,并對用戶對其直接操作做出響應(yīng)。所以,視圖是activity與用戶進行交互的界面。比如說,視圖可以顯示一個小圖片,并在用戶指點它的時候產(chǎn)生動作。Android有很多既定的視圖供用戶直接使用,包括按鈕、文本域、卷軸、菜單項、復(fù)選框等等。視圖層次是由Activity.setContentView() 方法放入activity的窗口之中的。上下文視圖是位于視圖層次根位置的視圖對象。(參見用戶界面章節(jié)獲取關(guān)于視圖及層次的更多信息。)服務(wù)服務(wù)沒有可視化的用戶界面,而是在一段時間內(nèi)在后臺運行。比如說,一個服務(wù)可以在用戶做其它事情的時候在后臺播放背景音樂、從網(wǎng)絡(luò)上獲取一些數(shù)據(jù)或者計算一些東西并提供給需要這個運算結(jié)果的activity使用。每個服務(wù)都繼承自Service基類。一個媒體播放器播放播放列表中的曲目是一個不錯的例子。播放器應(yīng)用程序可能有一個或多個activity來給用戶選擇歌曲并進行播放。然而,音樂播放這個任務(wù)本身不應(yīng)該為任何activity所處理,因為用戶期望在他們離開播放器應(yīng)用程序而開始做別的事情時,音樂仍在繼續(xù)播放。為達到這個目的,媒體播放器activity應(yīng)該啟用一個運行于后臺的服務(wù)。而系統(tǒng)將在這個activity不再顯示于屏幕之后,仍維持音樂播放服務(wù)的運行。你可以連接至(綁定)一個正在運行的服務(wù)(如果服務(wù)沒有運行,則啟動之)。連接之后,你可以通過那個服務(wù)暴露出來的接口與服務(wù)進行通訊。對于音樂服務(wù)來說,這個接口可以允許用戶暫停、回退、停止以及重新開始播放。如同activity和其它組件一樣,服務(wù)運行于應(yīng)用程序進程的主線程內(nèi)。所以它不會對其它組件或用戶界面有任何干擾,它們一般會派生一個新線程來進行一些耗時任務(wù)(比如音樂回放)。參見下述 進程和線程 。廣播接收器廣播接收器是一個專注于接收廣播通知信息,并做出對應(yīng)處理的組件。很多廣播是源自于系統(tǒng)代碼的比如,通知時區(qū)改變、電池電量低、拍攝了一張照片或者用戶改變了語言選項。應(yīng)用程序也可以進行廣播比如說,通知其它應(yīng)用程序一些數(shù)據(jù)下載完成并處于可用狀態(tài)。應(yīng)用程序可以擁有任意數(shù)量的廣播接收器以對所有它感興趣的通知信息予以響應(yīng)。所有的接收器均繼承自BroadcastReceiver基類。廣播接收器沒有用戶界面。然而,它們可以啟動一個activity來響應(yīng)它們收到的信息,或者用NotificationManager來通知用戶。通知可以用很多種方式來吸引用戶的注意力閃動背燈、震動、播放聲音等等。一般來說是在狀態(tài)欄上放一個持久的圖標(biāo),用戶可以打開它并獲取消息。內(nèi)容提供者內(nèi)容提供者將一些特定的應(yīng)用程序數(shù)據(jù)供給其它應(yīng)用程序使用。數(shù)據(jù)可以存儲于文件系統(tǒng)、SQLite數(shù)據(jù)庫或其它方式。內(nèi)容提供者繼承于ContentProvider 基類,為其它應(yīng)用程序取用和存儲它管理的數(shù)據(jù)實現(xiàn)了一套標(biāo)準(zhǔn)方法。然而,應(yīng)用程序并不直接調(diào)用這些方法,而是使用一個 ContentResolver 對象,調(diào)用它的方法作為替代。ContentResolver可以與任意內(nèi)容提供者進行會話,與其合作來對所有相關(guān)交互通訊進行管理。參閱獨立的內(nèi)容提供者章節(jié)獲得更多關(guān)于使用內(nèi)容提供者的內(nèi)容。每當(dāng)出現(xiàn)一個需要被特定組件處理的請求時,Android會確保那個組件的應(yīng)用程序進程處于運行狀態(tài),或在必要的時候啟動它。并確保那個相應(yīng)組件的實例的存在,必要時會創(chuàng)建那個實例。激活組件:intent當(dāng)接收到ContentResolver發(fā)出的請求后,內(nèi)容提供者被激活。而其它三種組件activity、服務(wù)和廣播接收器被一種叫做intent的異步消息所激活。intent是一個保存著消息內(nèi)容的Intent對象。對于activity和服務(wù)來說,它指明了請求的操作名稱以及作為操作對象的數(shù)據(jù)的URI和其它一些信息。比如說,它可以承載對一個activity的請求,讓它為用戶顯示一張圖片,或者讓用戶編輯一些文本。而對于廣播接收器而言,Intent對象指明了聲明的行為。比如,它可以對所有感興趣的對象聲明照相按鈕被按下。對于每種組件來說,激活的方法是不同的: 通過傳遞一個Intent對象至 Context.startActivity()或Activity.startActivityForResult()以載入(或指定新工作給)一個activity。相應(yīng)的activity可以通過調(diào)用 getIntent() 方法來查看激活它的intent。Android通過調(diào)用activity的onNewIntent()方法來傳遞給它繼發(fā)的intent。一個activity經(jīng)常啟動了下一個。如果它期望它所啟動的那個activity返回一個結(jié)果,它會以調(diào)用startActivityForResult()來取代startActivity()。比如說,如果它啟動了另外一個activity以使用戶挑選一張照片,它也許想知道哪張照片被選中了。結(jié)果將會被封裝在一個Intent對象中,并傳遞給發(fā)出調(diào)用的activity的onActivityResult() 方法。 通過傳遞一個Intent對象至Context.startService()將啟動一個服務(wù)(或給予正在運行的服務(wù)以一個新的指令)。Android調(diào)用服務(wù)的 onStart()方法并將Intent對象傳遞給它。與此類似,一個Intent可以被調(diào)用組件傳遞給 Context.bindService()以獲取一個正在運行的目標(biāo)服務(wù)的連接。這個服務(wù)會經(jīng)由onBind() 方法的調(diào)用獲取這個Intent對象(如果服務(wù)尚未啟動,bindService()會先啟動它)。比如說,一個activity可以連接至前述的音樂回放服務(wù),并提供給用戶一個可操作的(用戶界面)以對回放進行控制。這個activity可以調(diào)用 bindService() 來建立連接,然后調(diào)用服務(wù)中定義的對象來影響回放。后面一節(jié):遠(yuǎn)程方法調(diào)用將更詳細(xì)的闡明如何綁定至服務(wù)。 應(yīng)用程序可以憑借將Intent對象傳遞給 Context.sendBroadcast() ,Context.sendOrderedBroadcast(), 以及Context.sendStickyBroadcast()和其它類似方法來產(chǎn)生一個廣播。Android會調(diào)用所有對此廣播有興趣的廣播接收器的 onReceive()方法,將intent傳遞給它們。 欲了解更多intent消息的信息,請參閱獨立章節(jié) Intent和Intent濾過器。關(guān)閉組件內(nèi)容提供者僅在響應(yīng)ContentResolver提出請求的時候激活。而一個廣播接收器僅在響應(yīng)廣播信息的時候激活。所以,沒有必要去顯式的關(guān)閉這些組件。而activity則不同,它提供了用戶界面,并與用戶進行會話。所以只要會話依然持續(xù),哪怕對話過程暫時停頓,它都會一直保持激活狀態(tài)。與此相似,服務(wù)也會在很長一段時間內(nèi)保持運行。所以Android為關(guān)閉activity和服務(wù)提供了一系列的方法。 可以通過調(diào)用它的finish()方法來關(guān)閉一個activity。一個activity可以通過調(diào)用另外一個activity(它用startActivityForResult() 啟動的)的finishActivity()方法來關(guān)閉它。 服務(wù)可以通過調(diào)用它的stopSelf()方法來停止,或者調(diào)用 Context.stopService()。 系統(tǒng)也會在組件不再被使用的時候或者Android需要為活動組件聲明更多內(nèi)存的時候關(guān)閉它。后面的 組件的生命周期一節(jié),將對這種可能及附屬情況進行更詳細(xì)的討論。manifest文件當(dāng)Android啟動一個應(yīng)用程序組件之前,它必須知道那個組件是存在的。所以,應(yīng)用程序會在一個manifest文件中聲明它的組件,這個文件會被打包到Android包中。這個.apk文件還將涵括應(yīng)用程序的代碼、文件以及其它資源。這個manifest文件以XML作為結(jié)構(gòu)格式,而且對于所有應(yīng)用程序,都叫做AndroidManifest.xml。為聲明一個應(yīng)用程序組件,它還會做很多額外工作,比如指明應(yīng)用程序所需鏈接到的庫的名稱(除了默認(rèn)的Android庫之外)以及聲明應(yīng)用程序期望獲得的各種權(quán)限。但manifest文件的主要功能仍然是向Android聲明應(yīng)用程序的組件。舉例說明,一個activity可以如下聲明: . . . 元素的name屬性指定了實現(xiàn)了這個activity的 Activity的子類。icon和label屬性指向了包含展示給用戶的此activity的圖標(biāo)和標(biāo)簽的資源文件。其它組件也以類似的方法聲明 元素用于聲明服務(wù), 元素用于聲明廣播接收器,而 元素用于聲明內(nèi)容提供者。 manifest文件中未進行聲明的activity、服務(wù)以及內(nèi)容提供者將不為系統(tǒng)所見,從而也就不會被運行。然而,廣播接收器既可以在manifest文件中聲明,也可以在代碼中進行動態(tài)的創(chuàng)建,并以調(diào)用Context.registerReceiver()的方式注冊至系統(tǒng)。欲更多了解如何為你的應(yīng)用程序構(gòu)建manifest文件,請參閱AndroidManifest.xml文件一章。Intent過濾器Intent對象可以被顯式的指定目標(biāo)組件。如果進行了這種指定,Android會找到這個組件(依據(jù)manifest文件中的聲明)并激活它。但如果Intent沒有進行顯式的指定,Android就必須為它找到對于intent來說最合適的組件。這個過程是通過比較Intent對象和所有可能對象

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論