国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用工具來提升Android開發(fā)效率

標簽:

正所謂工欲善其事,必先利其器。學習并應用優(yōu)秀的輪子,可以讓我們跑的更快,走的更遠。這里所指的工具是廣義的,泛指能幫助我們開發(fā)的東西,或者能提高我們效率的東西,包括:開發(fā)工具,監(jiān)測工具,第三方代碼庫等。 

優(yōu)質的第三方開源類庫

圖片加載與緩存

現代的應用程序難免會有圖片顯示給用戶,對于資訊類,旅游類,購物類等應用程序而言,圖片的展示更是應用里面關鍵的一環(huán)。而圖片從加載,到緩存再到顯示是一個比較復雜的過程,中間還要處理網絡異常,解析異常等。圖片又是極其耗費內存的,稍不注意就會出現OutOfMemory(OOM)的錯誤。如果你的圖片在你的應用中不是主要的東西,僅是偶爾顯示個Icon和圖標之類的,那還好,普通的異步加載和解析(BitmapFactory)就好。但如果要在應用中展示大量的圖片時,甚至應用的主要內容就是圖片時,這時就要借助于優(yōu)秀的開源庫了:

  • Universal Image Loader

    這個庫非常強大,從加載,到解析到顯示,你只配置參數,告訴它如何做,再給它一個ImageView就可以了,然后你就可以去喝茶去了。

  • Picasso

EventBus完全解耦模塊

觀察者模式,或者生產者消費者模型在開發(fā)中是很常見的,比如說異步加載數據,之類的都會用到類似的結構。通常的做法就是創(chuàng)建一個Listener用于回調,以返回數據。如果有一個二個還好,但如果多了,應用需要獲取大量的不同的數據,就會出現大量的線程和Listener,到處是addListener和implements Listener,這會造成大量的代碼和依賴,程序會變得混亂,業(yè)務邏輯會迷失在Listener之中,而且還要及時的unregisterListener,以防不該被回調到時能取消。這還會造成代碼和模塊之間的強耦合,也就是寫代碼的時候必要在有另一方,否則不會編譯過。這時就可以用EventBus來解耦了,它是一個框架能讓雙方很容易的進行通訊,而不必知道彼此的存在與否:

  • EventBus 這個庫非常的高效與方便,它完全不依賴于注解。
  • Otto 這個要使用注解,所以在效率上可能會略差一些。
  • Guava 這個是Google Java增加庫Guava中的一個

這些的庫的基思想和目的都是一致的,都是以總線的方式,讓強耦合的雙方解耦,不妨在你的應用中使用一下,體驗一下。

CirclImageView

這似乎是一個比較小型的庫,它只是一個特殊的ImageView用圓形的方式來顯示圖片。

XListView

這是一個支持下拉刷新(PulltoRefresh)和上拉加載更多(Load more)的定制ListView。

ViewPageIndicator

這個是要與官方的ViewPager一起使用的,為ViewPager添加indicator的類庫,非常的有名,很多應用都在使用。

ActionbarSherlock

這個庫非常的有名,很多優(yōu)秀的應用都基于此。ActionBar是一個不錯的用戶體驗,它能集導航,操作和信息于一體的導航欄,Google也極力推薦使用它。但是有一個問題就是它是HoneyCombe(API 11)才引及的一個組件,而對于大多數開發(fā)者來說,GingerBread(2.3)還是不能放棄的肉,所以這個類庫應運而生。這個庫易于使用,根據手機版本來選擇實現方式,如果是3.0以上就直接使用系統(tǒng)的Actionbar。其中的代碼也是值得所有開發(fā)者去拜讀。

DragSortListView

用過iOS設備的人可能會注意到iOS里面的所有列表都有一個非??岬墓δ埽蔷褪窃诰庉嬆J较?,可以任意對列表進行重新排庫。但是令開發(fā)沮喪的是,這是iOS中UITableView的標準內嵌功能。而Android的ListView只提供最基本的功能。因此就有了此類庫的出現。其實除了此庫,還有很多其他的庫的出現也都是為了實現類似iOS體驗而做的。 當然這個類庫有一個小問題需要注意,就是它內部會創(chuàng)建一個ItemView來Wrapper客戶代碼提供的ItemView,而在Wrapper時,它會使用WRAP_CONTENT做為高和寬,所以,用了這個類庫會發(fā)現寬度不會Match整個屏幕。解決的辦法就是在創(chuàng)建Adapter#getView時再用代碼指定一扁LayoutParams,把寬設為MatchParent就好了。

NineOldAndroid

這個庫也是解決低版本之痛的。從3.0開始,Google引入了新的動畫庫,稱作Property動畫,使實現動畫不但變得非常簡單,同時也能實現更加復雜的動畫。只要對對象的屬性進行計算,就能讓這個對象動起來。但是同樣,對于2.3以前就只能用舊的補間動畫(Tween Animation),這種動畫復雜,需要寫大量的代碼。這個庫就能統(tǒng)一操作,讓動畫變得簡單 這里介紹的,只是一些比較常用的也是比較有名的類庫。這些庫不但優(yōu)秀,好用,而且最重要的是還開源,你可以去學習,去研究,甚至去改進。那么,這些還遠遠不夠,我們的應用日益復雜,各種需求,怎么辦呢?

如何獲取更多的類庫

學習編程的第一天起,前輩們就說,不要重復制造輪子,老手與新手的區(qū)別也在于,老手善于利用已有的東西,而不是一起都從0開始,無數的優(yōu)秀的類庫已經能幫忙解決很多問題,它們健壯,方便,好用,所以為什么還要自己費勁去重新造輪子呢?

二個開發(fā)者必備之神器

現在的開源類庫非常之多,有些我們可能不知道,即使看到一個類庫的主頁或者源碼,也要花時間研究下,它究竟能干什么,適合干什么,以及能否解決我們遇到的問題,這是介紹三款神器:

這三款都是Android應用,只是它們的內容是介紹眾多優(yōu)質的開源類庫,它會列出每個類庫的信息,如作者,源友位置,簡要說明。最最重要的是它把類庫的例子也集成起來了,你可以立馬運行類庫的Demo以體驗這個類庫到底是干啥的,這真的是良心之作。等什么呢,趕快去下載安裝吧。

Github

提起開源,Github當然是首屆一指的,其上托管著無數的優(yōu)秀的開源庫,沒事常去逛逛總會有好處,甚至是驚喜的。唯一麻煩的就是,里面的內容太多了,容易看花眼和找不到想要的東西。所以還是上面的應用來的干脆直接。

優(yōu)質的聚合平臺

除此之外,還有一些優(yōu)秀的網絡社區(qū)和博客會收集和整理優(yōu)秀的開源類庫,這也是我們需要關注的,比如:

  • 伯樂 這里面羅列了大量的優(yōu)秀的庫和工具,這里不僅有庫還有工具。此外這個網站也值得所有開發(fā)者收藏,里面會聚合優(yōu)秀的博客和資源。
  • CodePath

每個應用程序必不可少的組件

現在的應用程序有一些東西是必要的,比如分享功能,比如推送消息,比如應用程序統(tǒng)計和崩潰報告等,如果你是一個大型公司,擁有大團隊,或者已經發(fā)現成為行業(yè)領頭羊,那么這些東西最好自己實現,以達到更好的控制和運營,也防止數據外泄。但對于小團隊,或者個人開發(fā)者,來說,還是利用現成的解決方案比如靠譜。

分享到社交平臺

ShareSDK友盟都提供了免費的SDK用以實現分享到各大社交平臺。 其實每個社交平臺都有提供了SDK,但是有些麻煩的是開發(fā)者必須要一一去注冊,以獲取APP_KEY,同時還要處理用戶授權以獲得訪問社交數據,不同的SDK,雖然基本思想是一致的,但是具體開發(fā)過程難免會有坑。ShareSDK就是幫助開發(fā)者解決了這些問題,它在各個媒體平臺上都注冊了,也封裝處理了授權過程,但是帶來方便的同時,它有缺點: * 分享到社交媒體上的信息會顯示“來自ShareSDK”,而非你的應用。這個通常是顯示開發(fā)者在社交媒體上注冊的信息。 * ShareSDK的授權方式是通過網頁形式,而非API,過于簡單且授權信息不容易持久化,也就是用戶可能會經常(甚至每次)分享時都需要授權。而如果直接使用媒體授權API,可以直接獲取APP_SECRETE,在未過期(一般Expiration會比較長)之前都可以直接分享,無需授權。

所以你看所有的用戶量超大的應用,各大新聞客戶端等,都是自己集成和綁定社交媒體,不會通過第三方的庫。

推送消息

現在的應用程序基本上都會有后臺服務提供數據,也會增加推送消息,這個是運營的重要手段,能保持應用的活躍,雖然我不喜歡推送消息,因為早上一打開手機,全都是推送消息。但是推送還是必要的,也有現成的方案可以用:

這二個也都非常好用,它包括客戶端SDK和Server端后臺,是全套的,非常方便實用。 除此之外,如果是面向海外用戶,可以用Google提供的,Google Clould Messaging,它也非常好用,因為畢竟是官方的,可以與Apple的推送服務媲美。但是它的最大的缺點在于,Google Services都依賴于Google Play,也就是說運行時手機上必須要有Google Play Services,也即必須要安裝有GMS才可以。但中國大陸的手機全部沒有GMS,因此GCM也用不了。所以個推和友盟也才有機會。

應用統(tǒng)計信息

移動開發(fā)不單單只有開發(fā)出一個出色的APP這么簡單,開發(fā)完了還要運營,而應用的統(tǒng)計絕對是運營的一個重要手段,后期的新功能,以及發(fā)展方向要取決于應用的統(tǒng)計數據,統(tǒng)計能看出用戶的特征,分布,使用習慣等。當然了,在統(tǒng)計方面友盟絕對是最好的,它開始的最好,現在也是做的最好的,使用也非常的簡單。

應用崩潰報告

現在的Android手機種類極其之多,各種奇葩的設備都有,在標準的手機和模擬器上運行沒有問題,但是在某些定制ROM的手機上可能就會掛。另外,程序也會有你想不到Bug導致崩潰。因此我們需要收集應用的崩潰信息,以后期改進。如果你集成了友盟統(tǒng)計,它會自動收集崩潰信息,但是它只能收集Java層的,且信息比較簡單,只有一個StackTrace。如果想要收集Native層的,以及獲得更多的信息的話,就要使用其他庫,或者自己實現。自己實現也不難,就是要處理unhandledException,然后把客戶端的信息,如版本,配置,再把手機的信息收集一下,發(fā)到后臺,后臺再做個報表,能查看錯誤信息就可以了。但如果不想自己做,可以使用Application Crash Reports for Android這個庫可以解決客戶端的問題,也就是說它能在發(fā)生Crash時,收集足夠的信息(哪配置要收集哪些信息),然后發(fā)送,它可以配置成發(fā)送到Server后臺,也可以發(fā)送到開發(fā)者的郵箱,很方便和實用,特別是對于個人開發(fā)者來說。需要注意的是,要想能發(fā)送到郵箱,手機用戶必須配置了Email帳戶,國內用戶貌似沒有這習慣,因為國內用戶不習慣用郵件,更不要說給手機配置郵件帳戶。但是對于國外用戶,這是沒有問題的,國外用戶習慣電子郵件,而且手機上都會配置。

使用工具來提升Android開發(fā)效率

標簽:

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《近匠》第05期:個推--有節(jié)操的push
隨著Android N第4個預覽版的推送,SDK和API已經趨于完善
Android記錄17
一個千萬量級的APP使用的一些第三方庫
Google 的Web App “復仇記”
Android SDK鏡像的介紹使用
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服