一、介紹
站在用戶的角度思考問題,與客戶深入溝通,找到息縣網站設計與息縣網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都做網站、企業官網、英文網站、手機端網站、網站推廣、申請域名、網頁空間、企業郵箱。業務覆蓋息縣地區。
很多android 開發者都感嘆做android開發竟然都沒有一款專門的來使用,不像IOS有Xcode,WP有VS。一般做android開發都是eclipse或者ADT或者IntelliJ IDEA。后來,終于,哈哈,有了Android Studio。Android Studio以IntelliJ IDEA為基礎,旨在取代Eclipse和ADT(Android開發者工具)為開發者提供更好的開發工具人稱“親生”的android開發IDE,本人使用了一段時間之后,發現功能真是強大,完爆eclipse等開發工具,最大的亮點就是【代碼提示】和【實時預覽布局】這兩塊。
上介紹說,Android Studio有諸多好處:
基于Gradle的構建支持
Android特定重構和快速修復
更加豐富的模板代碼,讓創建程序更加簡單
更好的提示工具,對程序性能、可用性、版本兼容和其他的問題進行捕捉控制
直接支持ProGuard和應用程序簽名功能
自帶布局編輯器,可以拖放UI組件,可以在不同的配置的屏幕上預覽布局
內置google云服務
內置svn,git工具
支持插件安裝
總而言之,這是google自家出的IDE,肯定對android開發的支持是極好的。先貼一張圖,看看界面。
二、使用-創建項目
在Android Studio中的目錄組織結構跟在eclipse中有很大的差別。Android Studio中的project的概念和eclipse中的工作空間(workspace)的概念很相似。AS中的module就相當于eclipse中的一個個項目。
下面開始創建一個項目,上手一下:
點擊File - create new project
輸入application的名字,Company Domain和project的位置。然后下一步:
選擇和最低版本的SDK。點擊下一步:
可以看到Android Studio提供了很多界面的模板可供選擇,選擇一個模板,然后點擊下一步:
設置activity的相關信息。點擊finish,就完成了一個項目的創建了。
三、從eclipse導出項目到Android Studio
在eclipse中選擇file - export ,然后選擇android下面的Generate Gradle build files
next,next之后選中要導出的項目,然后下一步,finish。
然后需要在Android Studio中,選擇file - import project。按照上面的步驟到處的項目目錄下,會生成一個build.gradle文件,此時就需要選中這個文件,然后點擊OK。
到此為止,就完成了eclipse導出項目到Android Studio了。
四、安裝genymotion插件
大家都知道,google“親生”的模擬器啟動時很慢的,好在有了genymotion。這款啟動模擬器的速度確實是很快的。但是怎么在Android Studio中使用Genymotion呢?看下面的步驟吧!
首先打開設置中心,使用快捷鍵【ctrl + alt + s】或者點擊面板上的圖標。然后找到【Plugs】,如圖示:
右側面板列出來的是已經安裝的插件。點擊Browse repositories..進行聯網搜索:
搜索到Genymotion之后,右側點擊install就行了,然后會提示讓你重啟一下,重啟之后,在主面板上就會顯示genymotion的一個小圖標,點擊圖標進行配置genymotion的路徑。
設置完成之后,再次點擊那個圖標就會顯示【Genymotion Device Manager】。
OK,設置完畢!!!
五、使用第三方類庫
六、刪除一個項目
下面來看一下,怎么在Android Studio中刪除一個項目(module)。
首先右鍵一個項目,選擇【Open Module Settings】或者選中項目之后,按【F4】,然后出來module的設置界面。在這里可以進行很多設置,比如【Min Sdk Version】、【Target Sdk Version】、【Version Code】、【Version Name】等等。
在此面板左側,選中一個module,點擊上面的減號。然后回到主界面上,看到還是剛才操作的module還是現實在左側面板列表中。不過項目名稱上面少了一個小圖標,表示已經從這個project中刪除了,此時再右鍵該module,會出現【delete】選項,點擊就可以完全從硬盤中刪除該項目了。
在完全完全刪除這個module之前,如果還想要把它添加到當前project中,直接【setting.gradle】中添加該項目的名稱即可。
設計上來說這兩個系統有些東西越來越通用了,目前很多Android的應用偏蘋果風格,也就是說基本都是采用一套iOS設計模板來適配Android系統。
術語解讀和系統平臺對比
android是Google公司開發的操作系統。
iOS是蘋果公司的移動操作系統。
導航方式不一樣
iOS的Tab放在頁面底部,不能通過滑動來切換,只能點擊。也有放在上面的,也不能滑動,但有些Tab本身可以滑動,比如天貓的。還有新聞類的應用。
Android一般放在頁面頂端,可以通過滑動頁面來切換Tab,當然Tab可以點擊切換,Tab多的話,Tab本身也可以滑動。比如豌豆莢,百度貼吧,QQ。總之,Android啥都可以有。
UI設計規范不一樣
比如現在通常設計的尺寸對比如下:
iOS: 750*1334 或者 1242*2208
android:720*1280 或者 1080*1920
單條item的操作
iOS單條item的操作有兩種,點擊和滑動,點擊一般進入一個新的頁面,滑動會出現對這條item的一些常用操作,如微信里滑動一條對話,會出現標記未讀和刪除。
Android中,單條item的操作也有兩種,點擊和長按,點擊一般進入一個新的頁面。長按進入一個編輯模式,可以在里面進行批量和其他一個操作,比如刪除,頂置等等。比如小米的短信頁面;長按也可以彈出情境操作欄dialog,進行操作,比如Android版的微信。
例外的是,Android里面也可以有單條item的滑動,如新版QQ,這種比較少見。AndroidL的短信,可以滑動進行歸檔。大Android啥都可以有。
實體鍵
iOS只有一個實體鍵(音量,電源不算哈),home鍵,這個鍵有這么幾個功能:
1、按一次,回到桌面。
2 、雙擊,出現多任務界面
3、iOS8里面,輕觸兩下Home鍵,調出單手模式
4 、指紋解鎖
Android有四個實體鍵(現在很多被屏幕上的虛擬鍵代替,但功效是一樣的)4.4一下的分別是back鍵,home鍵,menu鍵,和搜索鍵。4.4及以上,是back鍵,home鍵,多任務鍵。Android原生是這樣,經過優化的Android就不一定了,比如魅族的smart bar,根據當前頁面情景變化,不過蠻好用。
Android的back鍵,在大部分情況下,和頁面上的返回功效一樣。不過,Android的back鍵可以在應用件切換,還可以返回主屏幕。這個iOS里面的鍵不能在應用間直接切換。
浮窗設計元素不一樣
Android里可以看到各種浮窗,流量,清理內存等等。iOS暫時還不支持這樣的浮窗。越獄的貌似可以。
iOS和Android的UI區別七:圖標尺寸和命名規范不一樣
1、iOS和Android手機的APP圖標尺寸規范和圖標命名規范
2、對比PC、iOS、Android等終端APP的交互設計的差異化
Android Studio是一套面世時間還不長的IDE(即集成開發環境),目前已經免費向谷歌及Android的開發人員發放。Android Studio以IntelliJ IDEA為基礎,后者同樣是一套相當出色的Android開發環境。在今天的文章中,我們將共同了解如何創建一個全新Android項目,同時充分發揮Android Studio所提供的各項功能優勢。
項目設置
在開始暢游Android Studio的世界之前,大家首先需要點擊此處下載并進行安裝。請注意,各位必須事先安裝好JDK 6或者更高版本。如果是在Windows系統環境下,先啟動.exe文件、而后按照安裝向導的指示一步步完成。如果大家使用的是OS X系統,則首先雙擊啟動磁盤鏡像,然后將Android Studio拖拽到自己的應用程序文件夾當中。
在成功完成了以上各項步驟后,那么大家的開發環境應該已經得到了正確設置。接下來,我們可以準備好利用Android Studio創建自己的第一款Android應用程序了。當大家第一次啟動Android Studio時,應該會看到該軟件的歡迎屏幕,其中還提供一些選項、指導我們以此為起點邁出Android應用開發的第一步。
在今天的教程中,我們將選擇“New Project(新項目)”選項。不過如果大家希望把Eclipse等其它環境中的現有項目轉化為Android Studio項目,也可以選擇“Import Project(導入項目)”。Android Studio能夠將Eclipse項目轉換為Android Studio項目,并在項目中為用戶提供必要的配置文件。
如果大家在選項列表中點擊了“Open Project(打開項目)”,則可以開啟已經利用Android Studio或者IntelliJ IDEA創建出的項目。而選擇“Check out from Version Control(版本控制檢查)”的話,大家能夠對處于版本控制之下的項目副本進行檢查。通過這種方式,我們可以將現有項目作為基礎、快速構建起新的針對性版本。
由于我們需要從零開始,因此這里選擇“新項目”。這時大家會看到一份選項列表,旨在對我們的新項目作出配置。在今天的教程中,我們將創建一款簡單的應用程序,主要目的是為大家演示Android Studio中最為重要的一部分功能特性。相信大家也和我一樣,會認為“HelloWorld”這個名稱最適合本次開發出的新項目。
正如大家在上面這幅截圖中所看到,我把自己的應用程序命名為HelloWorld,并為其設定了模塊名稱。如果大家對IntelliJ IDEA不太熟悉,可能不知道模塊這東西到底是什么。模塊實際上就是一個可以進行編譯、運行、測試以及調試的獨立功能單元。模塊當中包含有源代碼、編譯腳本以及用于特定任務的其它組成部分。
在創建新項目時,大家還可以為該項目設定軟件包名稱。在默認情況下,Android Studio會將項目包名稱的最后一項元素設置為模塊名稱,但只要愿意、大家可以隨意對其作出變更。
其它設定內容還包括項目在設備上的保存位置、最低與推薦SDK、項目編譯需要使用的SDK以及項目主題等等。大家也可以要求Android Studio創建一個Activity類、為其自定義一個啟動圖標,或者設定該項目是否支持GridLayout、Fragments、Navigation Drawer或者Action Bar等。
這里我們不會為自己的應用程序創建自定義圖標,因此大家可以取消“Create custom launch icon(創建自定義啟動圖標)”項目前的勾選框。點擊“Next(下一步)”繼續進行其它項目設置步驟。
由于我們在之前的步驟中勾選了“Create activity(創建activity)”項目的勾選框,因此這里導航會要求大家對Android Studio將為我們創建的Activity類進行配置。
由于我們將從空白Activity類開始進行配置,因此大家可以點擊“Next”執行設置流程的下面幾個步驟。這里大家需要對該Activity類、主布局以及片段布局進行命名。大家也可以設置導航類型,在今天的示例項目中我們將其設置為“None”。下面這幅截圖顯示的是我們的設置方案看起來是什么樣子。
在點擊“Finish”之后,大家會看到如下圖所示的Android Studio用戶界面。其中窗口左側為項目資源管理器,右側則為工作區。在Android Studio中對項目進行設置之后,現在我們可以逐一查看Android Studio當中的各項關鍵功能。
2.?Android虛擬設備
所謂Android虛擬設備——或者簡稱AVD——是一套模擬器配置方案,它允許大家設定出與實際情況相符的Android設備型號。這就讓開發者在多種多樣的設備平臺上運行并測試應用程序變得更為輕松。在Android虛擬設備功能的支持下,大家可以為Android模擬器指定需要模擬的硬件與軟件組合。
創建Android虛擬設備的首選方式是通過AVD Manager。大家可以在Android Studio用戶界面的Tools菜單中依次選擇Android〉AVD Manager。
如果大家之前對開發環境的設置工作正確無誤,那么Android虛擬設備管理器的界面應該如下圖所示。
要創建新的AVD,我們需要點擊右側的“New…”、為AVD設定名稱并如下圖所示對虛擬設備進行配置。最后點擊“OK”以創建自己的第一套AVD。
要使用我們剛剛創建好的AVD,首先需要在AVD管理器的列表中將其選中,然后點擊窗口右側的“Start…”。如果大家的AVD設置過程正確無誤,那么Android模擬器在啟動后應該如下圖所示。
既然Android模擬器已經成功啟動并開始運行,現在是時候啟動我們的應用程序了。在“Run”菜單中選擇“Run ‘helloworld’”——沒錯,在Android模擬器中運行應用程序就是這么簡單。
3.實時布局(Live Layout)
Android Studio中的實時布局功能允許大家在無需將應用程序運行在設備或者模擬器中的前提下,直接預覽應用的用戶界面。實時布局是一款極為強大的工具,能夠幫助開發者節約大量時間。在實時布局的幫助下,查看應用程序用戶界面的任務變得輕松而且快捷。
要使用實時布局,我們需要雙擊對應XML布局文件并選擇工作區下方的“Text”標簽。接下來選擇工作區右側的“Preview”標簽來預覽當前布局。我們對XML布局作出的任何變更都會直接反映在右側的預覽窗口當中。大家可以查看下面這幅截圖來深入理解這項功能。
實時布局功能為我們帶來了諸多值得稱道的顯著優勢。舉例來說,大家可以在Preview面板的第一項菜單中選擇選項,從而對當前正在使用的XML布局隨意作出調整。譬如說,大家可以分別創建不同的縱向與橫向顯示視圖,Android Studio會承擔起創建必要文件夾及文件的任務。
Preview面板中的第二項菜單允許大家變更顯示在Preview面板內的設備大小。第三項菜單的作用則是調整設備在Preview面板中的朝向,這樣我們就能更輕松地查看同一套布局方案在不同顯示模式(縱向與橫向)下的效果與主題。
Preview面板中的第四項菜單允許我們輕松訪問Activity或者布局所使用的個別片段。Preview面板還允許大家變更在實時布局中使用的語言,從而輕松預覽不同語言在布局方案中的顯示效果。最右邊的菜單的作用則是調整API版本。
Preview面板中還包含多項控制機制,例如對布局進行縮放、重新Preview面板或者截取當前屏幕。
4.模板
Android Studio還為開發人員提供多種模板選項,從而大大提升開發速度。這些模板能自動創建Activity以及必要的XML文件。大家還可以利用這些模板創建出較為基礎的Android應用程序,并將其運行在實體設備或者模擬器當中。
在Android Studio當中,我們可以在創建新的Activity時一同創建出對應模板。右鍵點擊窗口左側項目瀏覽器中的“package name”并在菜單中選擇“New”,而后從選項列表中點選“Activity”。Android Studio隨后會為開發者列出模板清單,其中包括Blank Activity、Fullscreen Activity以及Tabbed Activity。
大家還可以從菜單中選擇“Image Asset”,接下來的向導會指引我們一步步完成創建流程。下面讓我們一起來看看如何以Login Activity模板為基礎創建一套新的Activity。首先在Acivity模板列表中選擇Login Activity選項以啟動創建向導。
如大家在上面的截圖中所見,我已經將新建的Activity命名為LoginActivity——也就是為activity login設定Layout Name——并為該Activity添加了一個名為Sign In的標題。在默認情況下,對話框中的Include Google+ sign in項目已經被勾選。由于我們不打算在今天的示例中使用Google+登錄功能,因此取消該勾選項。
大家可以選擇為這套新的Activity設定Hierarchical Parent(分層結構)。這樣當我們點擊設備上的后退按鈕時,應用就將通過導航返回至上一界面。我們將這一字段留空。在點擊“Finish”之后,Android Studio會為我們創建出必要的文件及文件夾。如果一切進展順利,我們將在項目當中看到新的Activity與Layout。
下一布工作是在manifest文件中對新Activity進行設置,這樣它就能在應用程序啟動時作為主Activity加以使用了。請大家一起來看下面的manifest文件內容,其中LoginActivity類擁有自己的活動節點。
application
? ?android:allowBackup="true"
? ?android:icon="@drawable/ic_launcher"
? ?android:label="@string/app_name"
? ?android:theme="@style/AppTheme"
? ?activity
? ? ? ?android:name="com.tuts.HelloWorld.MainActivity"
? ? ? ?android:label="@string/app_name"
? ? ? ?intent-filter
? ? ? ? ? ?action android:name="android.intent.action.MAIN" /
? ? ? ? ? ?category android:name="android.intent.category.LAUNCHER" /
? ? ? ?/intent-filter
? ?/activity
? ?activity
? ? ? ?android:name="com.tuts.HelloWorld.LoginActivity"
? ? ? ?android:label="@string/title_activity_login"
? ? ? ?android:windowSoftInputMode="adjustResize|stateVisible"
? ?/activity
/application
為了在應用程序當中啟動我們剛剛創建的LoginActivity,首先需要移除原有LoginActivity類的活動節點,然后利用com.tuts.HelloWorld.LoginActivity代替先前的com.tuts.HelloWorld.MainActivity。這樣一來,應用程序現在就將使用LoginActivity類作為其主Activity。
application
? ?android:allowBackup="true"
? ?android:icon="@drawable/ic_launcher"
? ?android:label="@string/app_name"
? ?android:theme="@style/AppTheme"
? ?activity
? ? ? ?android:name="za.co.helloworld.LoginActivity"
? ? ? ?android:label="@string/app_name"
? ? ? ?intent-filter
? ? ? ? ? ?action android:name="android.intent.action.MAIN" /
? ? ? ? ? ?category android:name="android.intent.category.LAUNCHER" /
? ? ? ?/intent-filter
? ?/activity
/application
當我們在模擬器當中創建并運行自己的應用程序時,首先應該會看到如下圖所示的顯示內容。這意味著我們已經成功利用剛剛創建的LoginActivity類取代了原有的空白Activity類。
5.Lint工具
對代碼進行測試是一回事,但同樣重要的是、我們還需要在編寫代碼的同時引入各種最佳實踐。這不僅能夠顯著改進性能表現,也能增加應用程序的整體穩定性。另外,經過合理結構調整的項目在維護方面也更為輕松。
Android Studio中提供的Android Lint是一款靜態分析工具,它負責對項目源代碼加以分析。它能夠檢測出應用程序中的潛在漏洞以及其它可能被編譯器所忽略的其它代碼問題。
就以下面這幅截圖為例,大家可以看到該布局中的LinearLayout并未得到實際使用。Android Lint的優勢在于,它能幫助我們重視警告或報錯信息的出現原因,從而更輕松地修復或者解決這些問題。
請大家養成重復使用Android Studio Lint工具的好習慣,這能幫助我們準確檢測到項目當中存在的潛在問題。Lint工具甚至能告訴我們應用程序中是否存在重復的圖片或者編譯內容。
要運行Lint工具,大家首先需要在Android Studio的“Analyze”菜單中選擇“Inspect Code…”。當Android Studio完成了對項目的檢測之后,它會在窗口底部顯示出分析結果。請注意,除了Android Lint之外,Android Studio還提供一系列其它檢查功能。只需雙擊某個已經發現的問題,系統就會幫助大家定位到對應文件中存在問題的位置。
6.富布局編輯器
Android Studio提供一套富布局編輯器,大家可以在其中隨意拖拽各類用戶界面組件。大家還可以在多屏幕配置中同時查看多種布局的顯示效果,這一點我們在前文中已經提到過。
這款富布局編輯器在使用方面非常直觀簡單。我們首先需要一套要處理的布局方案。瀏覽到項目中res文件夾下的layout文件夾,右鍵點擊layout文件夾,然后在彈出的菜單中選擇NewLayout resource file。
下面為新布局設定一個名稱與root元素,而后點擊“OK”。Android Studio會自動在窗口右側的編輯器當中打開該布局。
在編輯器的底部,大家會看到兩個標簽,分別是Design與Text。點擊Text標簽后編輯器將被激活,這樣我們就能對當前選定的布局方案作出變更。
點擊Design標簽則會激活另一套編輯器內容,其中顯示出布局的預覽效果。要向布局當中添加其它功能性組件,我們只需將其從布局左側的組件列表中拖出并放入布局內即可。是的,就這么簡單。
總結
在今天的教程中,我們已經簡要了解了Android Studio的各項核心功能。它的使用方式與IntelliJ IDEA非常相似,但其中包含的一系列重要改進大大加快了Android應用的開發速度,并讓整個流程更輕松、更愉快。
主要分為以下幾種:
1、volley
項目地址
(1) JSON,圖像等的異步下載;
(2) 網絡請求的排序(scheduling)
(3) 網絡請求的優先級處理
(4) 緩存
(5) 多級別取消請求
(6) 和Activity和生命周期的聯動(Activity結束時同時取消所有網絡請求)
2、Android-async-http
項目地址:
文檔介紹:
(1) 在匿名回調中處理請求結果
(2) 在UI線程外進行http請求
(3) 文件斷點上傳
(4) 智能重試
(5) 默認gzip壓縮
(6) 支持解析成Json格式
(7) 可將Cookies持久化到SharedPreferences
3、Afinal框架
項目地址:
主要有四大模塊:
(1) 數據庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(2) 注解模塊:android中的ioc框架,完全注解方式就可以進行UI綁定和事件綁定。無需findViewById和setClickListener等。
(3) 網絡模塊:通過httpclient進行封裝http數據請求,支持ajax方式加載,支持下載、上傳文件功能。
(4) 圖片緩存模塊:通過FinalBitmap,imageview加載bitmap的時候無需考慮bitmap加載過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
FinalBitmap可以配置線程加載線程數量,緩存大小,緩存路徑,加載顯示動畫等。FinalBitmap的內存管理使用lru算法,
沒有使用弱引用(android2.3以后google已經不建議使用弱引用,android2.3后強行回收軟引用和弱引用,詳情查看android官方文檔),
更好的管理bitmap內存。FinalBitmap可以自定義下載器,用來擴展其他協議顯示網絡圖片,比如ftp等。同時可以自定義bitmap顯示器,
在imageview顯示圖片的時候播放動畫等(默認是漸變動畫顯示)。
4、xUtils框架
項目地址:
主要有四大模塊:
(1) 數據庫模塊:android中的orm框架,一行代碼就可以進行增刪改查;
支持事務,默認關閉;
可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時候請注解表名和列名);
支持綁定外鍵,保存實體時外鍵關聯實體自動保存或更新;
自動加載外鍵關聯實體,支持延時加載;
支持鏈式表達查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2) 注解模塊:android中的ioc框架,完全注解方式就可以進行UI,資源和事件綁定;
新的事件綁定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。
(3) 網絡模塊:支持同步,異步方式的請求;
支持大文件上傳,上傳大文件不會oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請求;
下載支持301/302重定向,支持設置是否根據Content-Disposition重命名下載的文件;
返回文本內容的請求(默認只啟用了GET請求)支持緩存,可設置默認過期時間和針對當前請求的過期時間。
(4) 圖片緩存模塊:加載bitmap的時候無需考慮bitmap加載過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;
支持加載網絡圖片和本地圖片;
內存管理使用lru算法,更好的管理bitmap內存;
可配置線程加載線程數量,緩存大小,緩存路徑,加載顯示動畫等...
5、ThinkAndroid
項目地址:
主要有以下模塊:
(1) MVC模塊:實現視圖與模型的分離。
(2) ioc模塊:android中的ioc模塊,完全注解方式就可以進行UI綁定、res中的資源的讀取、以及對象的初始化。
(3) 數據庫模塊:android中的orm框架,使用了線程池對sqlite進行操作。
(4) http模塊:通過httpclient進行封裝http數據請求,支持異步及同步方式加載。
(5) 緩存模塊:通過簡單的配置及設計可以很好的實現緩存,對緩存可以隨意的配置
(6) 圖片緩存模塊:imageview加載圖片的時候無需考慮圖片加載過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象。
(7) 配置器模塊:可以對簡易的實現配對配置的操作,目前配置文件可以支持Preference、Properties對配置進行存取。
(8) 日志打印模塊:可以較快的輕易的是實現日志打印,支持日志打印的擴展,目前支持對sdcard寫入本地打印、以及控制臺打印
(9) 下載器模塊:可以簡單的實現多線程下載、后臺下載、斷點續傳、對下載進行控制、如開始、暫停、刪除等等。
(10) 網絡狀態檢測模塊:當網絡狀態改變時,對其進行檢
6、LoonAndroid
項目地址:
主要有以下模塊:
(1) 自動注入框架(只需要繼承框架內的application既可)
(2) 圖片加載框架(多重緩存,自動回收,最大限度保證內存的安全性)
(3) 網絡請求模塊(繼承了基本上現在所有的http請求)
(4) eventbus(集成一個開源的框架)
(5) 驗證框架(集成開源框架)
(6) json解析(支持解析成集合或者對象)
(7) 數據庫(不知道是哪位寫的 忘記了)
(8) 多線程斷點下載(自動判斷是否支持多線程,判斷是否是重定向)
(9) 自動更新模塊
(10) 一系列工具類
7、KJFrameForAndroid
項目地址:
github項目地址:
備用項目地址:
KJFrameForAndroid 又叫KJLibrary,是一個android的orm 和 ioc 框架。同時封裝了android中的Bitmap與Http操作的框架,使其更加簡單易用;
KJFrameForAndroid的設計思想是通過封裝Android原生SDK中復雜的復雜操作而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。我們提倡用最少的代碼,完成最多的操作,用最高的效率,完成最復雜的功能。
同時,KJFrameForAndroid是免費的、開源的、簡易的、遵循Apache Licence 2.0開源協議發布的android應用開發框架,總共分為五大模 塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。
8、AndroidAnnotations
xUtils是國內比較火的快速開發框架,但是它的注解機制不是太穩定而且注解可選也比較少,國外的一個框架主要專注于注解的開發,簡化Android代碼編寫,它除了有依賴注入的特性以外,還集成了Ormlite,Spring-android中的REST模板。使用起來非常方便,大大提高了開發效率。
1.下載AndroidAnnotations:
git官網:
項目中重要的兩個jar包分別是:androidannotations-api-3.0.1.jar和androidannotations-3.0.1.jar
2.新建一個android項目,然后將androidannotations-api-3.0.1.jar復制到libs目錄下,在項目的根目錄新建一個文件夾,命名為compile-libs,然后將androidannotations-3.0.1.jar復制到該目錄下
3.在你的工程上右鍵單擊,在彈出的菜單中選擇"Properties",找到Java Compiler,確保Compiler compliance level設置為1.6,否則的話處理器將不起作用
4.然后設置項目屬性:右鍵-Properties-Java Compiler-Annotation Processing 在該頁面選中Enable project specific settings。
5.轉到Java Compiler 中的 Annotation Processing 下邊的 Factory Path,在此將androidannotations-3.0.1.jar添加到其中。
注解1:@ViewById 與findViewById功能相似,如果ViewById后沒有設置資源ID的話,就是自動查找與變量名稱相同的id資源。
注解2:@Click 點擊事件處理的注解。
注解3:@UiThread 后臺Ui線程的注解,省去了Handler等等。
注解4:@EActivity 提示Activity的注解,注意,該注解將Activity編譯成Activity_,注意,多一個下劃線“_”,因此在AndroidManifest.xml文件中需要將其添加下滑線
注解5:@AfterViews 是指View類注入完畢之后執行的代碼。
1.項目設置
在開始暢游Android Studio的世界之前,大家首先需要點擊此處下載并進行安裝。請注意,各位必須事先安裝好JDK 6或者更高版本。如果是在Windows系統環境下,先啟動.exe文件、而后按照安裝向導的指示一步步完成。如果大家使用的是OS X系統,則首先雙擊啟動磁盤鏡像,然后將Android Studio拖拽到自己的應用程序文件夾當中。
在成功完成了以上各項步驟后,那么大家的開發環境應該已經得到了正確設置。接下來,我們可以準備好利用Android Studio創建自己的第一款Android應用程序了。當大家第一次啟動Android Studio時,應該會看到該軟件的歡迎屏幕,其中還提供一些選項、指導我們以此為起點邁出Android應用開發的第一步。
在今天的教程中,我們將選擇“New Project(新項目)”選項。不過如果大家希望把Eclipse等其它環境中的現有項目轉化為Android Studio項目,也可以選擇“Import Project(導入項目)”。Android Studio能夠將Eclipse項目轉換為Android Studio項目,并在項目中為用戶提供必要的配置文件。
如果大家在選項列表中點擊了“Open Project(打開項目)”,則可以開啟已經利用Android Studio或者IntelliJ IDEA創建出的項目。而選擇“Check out from Version Control(版本控制檢查)”的話,大家能夠對處于版本控制之下的項目副本進行檢查。通過這種方式,我們可以將現有項目作為基礎、快速構建起新的針對性版本。
由于我們需要從零開始,因此這里選擇“新項目”。這時大家會看到一份選項列表,旨在對我們的新項目作出配置。在今天的教程中,我們將創建一款簡單的應用程序,主要目的是為大家演示Android Studio中最為重要的一部分功能特性。相信大家也和我一樣,會認為“HelloWorld”這個名稱最適合本次開發出的新項目。
正如大家在上面這幅截圖中所看到,我把自己的應用程序命名為HelloWorld,并為其設定了模塊名稱。如果大家對IntelliJ IDEA不太熟悉,可能不知道模塊這東西到底是什么。模塊實際上就是一個可以進行編譯、運行、測試以及調試的獨立功能單元。模塊當中包含有源代碼、編譯腳本以及用于特定任務的其它組成部分。
在創建新項目時,大家還可以為該項目設定軟件包名稱。在默認情況下,Android Studio會將項目包名稱的最后一項元素設置為模塊名稱,但只要愿意、大家可以隨意對其作出變更。
其它設定內容還包括項目在設備上的保存位置、最低與推薦SDK、項目編譯需要使用的SDK以及項目主題等等。大家也可以要求Android Studio創建一個Activity類、為其自定義一個啟動圖標,或者設定該項目是否支持GridLayout、Fragments、Navigation Drawer或者Action Bar等。
這里我們不會為自己的應用程序創建自定義圖標,因此大家可以取消“Create custom launch icon(創建自定義啟動圖標)”項目前的勾選框。點擊“Next(下一步)”繼續進行其它項目設置步驟。
由于我們在之前的步驟中勾選了“Create activity(創建activity)”項目的勾選框,因此這里導航會要求大家對Android Studio將為我們創建的Activity類進行配置。
由于我們將從空白Activity類開始進行配置,因此大家可以點擊“Next”執行設置流程的下面幾個步驟。這里大家需要對該Activity類、主布局以及片段布局進行命名。大家也可以設置導航類型,在今天的示例項目中我們將其設置為“None”。下面這幅截圖顯示的是我們的設置方案看起來是什么樣子。
在點擊“Finish”之后,大家會看到如下圖所示的Android Studio用戶界面。其中窗口左側為項目資源管理器,右側則為工作區。在Android Studio中對項目進行設置之后,現在我們可以逐一查看Android Studio當中的各項關鍵功能。
2. Android虛擬設備
所謂Android虛擬設備——或者簡稱AVD——是一套模擬器配置方案,它允許大家設定出與實際情況相符的Android設備型號。這就讓開發者在多種多樣的設備平臺上運行并測試應用程序變得更為輕松。在Android虛擬設備功能的支持下,大家可以為Android模擬器指定需要模擬的硬件與軟件組合。
創建Android虛擬設備的首選方式是通過AVD Manager。大家可以在Android Studio用戶界面的Tools菜單中依次選擇Android〉AVD Manager。
如果大家之前對開發環境的設置工作正確無誤,那么Android虛擬設備管理器的界面應該如下圖所示。
要創建新的AVD,我們需要點擊右側的“New…”、為AVD設定名稱并如下圖所示對虛擬設備進行配置。最后點擊“OK”以創建自己的第一套AVD。
要使用我們剛剛創建好的AVD,首先需要在AVD管理器的列表中將其選中,然后點擊窗口右側的“Start…”。如果大家的AVD設置過程正確無誤,那么Android模擬器在啟動后應該如下圖所示。
既然Android模擬器已經成功啟動并開始運行,現在是時候啟動我們的應用程序了。在“Run”菜單中選擇“Run ‘helloworld’”——沒錯,在Android模擬器中運行應用程序就是這么簡單。
3.實時布局(Live Layout)
Android Studio中的實時布局功能允許大家在無需將應用程序運行在設備或者模擬器中的前提下,直接預覽應用的用戶界面。實時布局是一款極為強大的工具,能夠幫助開發者節約大量時間。在實時布局的幫助下,查看應用程序用戶界面的任務變得輕松而且快捷。
要使用實時布局,我們需要雙擊對應XML布局文件并選擇工作區下方的“Text”標簽。接下來選擇工作區右側的“Preview”標簽來預覽當前布局。我們對XML布局作出的任何變更都會直接反映在右側的預覽窗口當中。大家可以查看下面這幅截圖來深入理解這項功能。
實時布局功能為我們帶來了諸多值得稱道的顯著優勢。舉例來說,大家可以在Preview面板的第一項菜單中選擇選項,從而對當前正在使用的XML布局隨意作出調整。譬如說,大家可以分別創建不同的縱向與橫向顯示視圖,Android Studio會承擔起創建必要文件夾及文件的任務。
Preview面板中的第二項菜單允許大家變更顯示在Preview面板內的設備大小。第三項菜單的作用則是調整設備在Preview面板中的朝向,這樣我們就能更輕松地查看同一套布局方案在不同顯示模式(縱向與橫向)下的效果與主題。
Preview面板中的第四項菜單允許我們輕松訪問Activity或者布局所使用的個別片段。Preview面板還允許大家變更在實時布局中使用的語言,從而輕松預覽不同語言在布局方案中的顯示效果。最右邊的菜單的作用則是調整API版本。
Preview面板中還包含多項控制機制,例如對布局進行縮放、重新Preview面板或者截取當前屏幕。
4.模板
Android Studio還為開發人員提供多種模板選項,從而大大提升開發速度。這些模板能自動創建Activity以及必要的XML文件。大家還可以利用這些模板創建出較為基礎的Android應用程序,并將其運行在實體設備或者模擬器當中。
在Android Studio當中,我們可以在創建新的Activity時一同創建出對應模板。右鍵點擊窗口左側項目瀏覽器中的“package name”并在菜單中選擇“New”,而后從選項列表中點選“Activity”。Android Studio隨后會為開發者列出模板清單,其中包括Blank Activity、Fullscreen Activity以及Tabbed Activity。
大家還可以從菜單中選擇“Image Asset”,接下來的向導會指引我們一步步完成創建流程。下面讓我們一起來看看如何以Login Activity模板為基礎創建一套新的Activity。首先在Acivity模板列表中選擇Login Activity選項以啟動創建向導。
如大家在上面的截圖中所見,我已經將新建的Activity命名為LoginActivity——也就是為activity login設定Layout Name——并為該Activity添加了一個名為Sign In的標題。在默認情況下,對話框中的Include Google+ sign in項目已經被勾選。由于我們不打算在今天的示例中使用Google+登錄功能,因此取消該勾選項。
大家可以選擇為這套新的Activity設定Hierarchical Parent(分層結構)。這樣當我們點擊設備上的后退按鈕時,應用就將通過導航返回至上一界面。我們將這一字段留空。在點擊“Finish”之后,Android Studio會為我們創建出必要的文件及文件夾。如果一切進展順利,我們將在項目當中看到新的Activity與Layout。
下一布工作是在manifest文件中對新Activity進行設置,這樣它就能在應用程序啟動時作為主Activity加以使用了。請大家一起來看下面的manifest文件內容,其中LoginActivity類擁有自己的活動節點。
application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
activity
android:name="com.tuts.HelloWorld.MainActivity"
android:label="@string/app_name"
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
activity
android:name="com.tuts.HelloWorld.LoginActivity"
android:label="@string/title_activity_login"
android:windowSoftInputMode="adjustResize|stateVisible"
/activity
/application
為了在應用程序當中啟動我們剛剛創建的LoginActivity,首先需要移除原有LoginActivity類的活動節點,然后利用com.tuts.HelloWorld.LoginActivity代替先前的com.tuts.HelloWorld.MainActivity。這樣一來,應用程序現在就將使用LoginActivity類作為其主Activity。
application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
activity
android:name="za.co.helloworld.LoginActivity"
android:label="@string/app_name"
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
/application
當我們在模擬器當中創建并運行自己的應用程序時,首先應該會看到如下圖所示的顯示內容。這意味著我們已經成功利用剛剛創建的LoginActivity類取代了原有的空白Activity類。
5.Lint工具
對代碼進行測試是一回事,但同樣重要的是、我們還需要在編寫代碼的同時引入各種最佳實踐。這不僅能夠顯著改進性能表現,也能增加應用程序的整體穩定性。另外,經過合理結構調整的項目在維護方面也更為輕松。
Android Studio中提供的Android Lint是一款靜態分析工具,它負責對項目源代碼加以分析。它能夠檢測出應用程序中的潛在漏洞以及其它可能被編譯器所忽略的其它代碼問題。
就以下面這幅截圖為例,大家可以看到該布局中的LinearLayout并未得到實際使用。Android Lint的優勢在于,它能幫助我們重視警告或報錯信息的出現原因,從而更輕松地修復或者解決這些問題。
請大家養成重復使用Android Studio Lint工具的好習慣,這能幫助我們準確檢測到項目當中存在的潛在問題。Lint工具甚至能告訴我們應用程序中是否存在重復的圖片或者編譯內容。
要運行Lint工具,大家首先需要在Android Studio的“Analyze”菜單中選擇“Inspect Code…”。當Android Studio完成了對項目的檢測之后,它會在窗口底部顯示出分析結果。請注意,除了Android Lint之外,Android Studio還提供一系列其它檢查功能。只需雙擊某個已經發現的問題,系統就會幫助大家定位到對應文件中存在問題的位置。
6.富布局編輯器
Android Studio提供一套富布局編輯器,大家可以在其中隨意拖拽各類用戶界面組件。大家還可以在多屏幕配置中同時查看多種布局的顯示效果,這一點我們在前文中已經提到過。
這款富布局編輯器在使用方面非常直觀簡單。我們首先需要一套要處理的布局方案。瀏覽到項目中res文件夾下的layout文件夾,右鍵點擊layout文件夾,然后在彈出的菜單中選擇NewLayout resource file。
下面為新布局設定一個名稱與root元素,而后點擊“OK”。Android Studio會自動在窗口右側的編輯器當中打開該布局。
在編輯器的底部,大家會看到兩個標簽,分別是Design與Text。點擊Text標簽后編輯器將被激活,這樣我們就能對當前選定的布局方案作出變更。
點擊Design標簽則會激活另一套編輯器內容,其中顯示出布局的預覽效果。要向布局當中添加其它功能性組件,我們只需將其從布局左側的組件列表中拖出并放入布局內即可。是的,就這么簡單。