《Android經驗分享》週刊第10期

《Android經驗分享》收錄國內外最近一週熱門的技術博客以及優秀的類庫,星期一傍晚將準時更新給你們html

微信公衆號:Android經驗分享
QQ討論羣:386067289

本文已受權微信公衆號:Android經驗分享,在微信公衆號平臺原創首發。java

熱點新聞
1.谷歌爲Play商店推全新廣告模式:遊戲試玩
在近期舉辦的GDC2017(遊戲開發者大會)上,谷歌公佈了一項Google Play商店的新功能——Playables,這個新功能其實是一種全新的廣告模式:用戶在看中一個遊戲以前,能夠先玩一下該遊戲的「精簡版「,而後再決定是否購買。linux

2.1月中國智能手機市場:蘋果iPhone微增,小米大跌
數據研究機構賽諾發佈了2017年1月中國智能手機市場報告,其中OPPO和vivo再次成爲贏家,銷售量分別增加12.9%和13.7%,奪得冠亞軍的頭銜。此外,iPhone的銷售量也微增1.8%,排名第三,並且其銷售額達到269億元,佔據總體市場29.4%的份額,目前佔時無人能撼動。android

熱門博客
1.Android架構那些事之第三方庫的隔離
咱們在開發的過程當中會不可避免的引用一些第三方庫,好比網絡請求庫、圖片加載庫等等。就拿圖片加載庫來講,程序中不會只有一個地方來引用到此庫,可能有N個類會用到此庫來顯示圖片。這種狀況下,就能夠經過一箇中間層來引用「第三方圖片加載庫」。這樣作的好處是無論第三方圖片加載庫換成Picasso仍是Glide,只需改變中間層,其餘的一行代碼都不須要改動。閱讀文章,瞭解詳細方案。git

2.Android LayoutInflater源碼解析
你們對LayoutInflater必定不陌生,LayoutInflater是一個用於將xml佈局文件加載爲View或者ViewGroup對象的工具,咱們能夠稱之爲佈局加載器。在Fragment的onCreateView方法、ListView Adapter的getView方法等許多地方均可以見到它的身影。本文詳細介紹了LayoutInflater的用法以及加載佈局的工做原理。github

3.Android 組件化之通訊(多模塊,多進程)
以前寫過一篇Android組件化開發實踐,組件化最直接的表現形式就是工程中包含了多個業務Module,代碼要解耦,可是業務間要解耦幾乎是不可能的,因而就要涉及到業務間的通訊,表如今代碼上就是Module間通訊。小程序

4.高效編寫微信小程序
微信小程序是一個工程,就和蓋房子同樣,打好了地基,才能保證後續工程師創建在可靠牢固的基礎上。微信小程序

5.常見排序的java實現
包括插入排序(二分插入排序)、希爾排序、快速排序(三數中值快排)、冒泡排序、選擇排序、堆排序、歸併排序、基數排序、計數排序、桶排序、睡眠排序緩存

6.Android 系統中,那些能大幅提升工做效率的 API 彙總(持續更新中...)
「條條大路通羅馬。」工做中,實現某個需求的方式每每不是惟一的,這些不一樣實現方式不只表如今代碼質量上,還影響着咱們的工做效率。就像,在 Android 系統中,總有那麼一些不爲人知的 API 可以減小咱們不少零碎的工做量。因而,就想憑着一些經驗,整理一些經常使用的,找個地方概括總結,也供往後翻閱。安全

7.Android開發時,那些相見恨晚的工具或網站!
在實際Android開發過程確實會有不少相見恨晚的工具或網站出現,下面是我本身的一些分享。

8.最全面的 Material Design 學習資料
Material Design 是之後 Android 的主流設計風格,如今已經愈來愈多的APP遵循 Material Design 的設計規範來進 行開發,是每一個 Android 開發者必學的基礎技術。

9.細細品讀!深刻淺出,官方文檔看ConstraintLayout
ConstraintLayout是一個Support庫,意味着向前兼容,它能夠兼容至API 9,也就是Android 2.3,鑑於如今市場上手機基本都是2.3及以上的,因此若是不是特殊狀況,開發者能夠不用考慮版本問題。

10.Android 7.0應用冷啓動流程分析
所謂冷啓動就是啓動應用時,後臺沒有該應用的進程,此時系統會建立一個進程分配給它(AMS經過Socket和Zygote通訊,Zygote經過forkAndSpecialize()方法向Linux內核申請新進程),以後會建立和初始化Application,而後經過反射執行ActivityThread中的main方法。本文結合源碼,詳細分析了應用冷啓動的過程。

受歡迎的類庫
1.RefreshLayout
項目特色 支持 RecycView、Listview、ScrollView、各類佈局控件實現下拉刷新和上拉加載; 該項目的設計結構和總體業務邏輯清晰,各細節功能點的處理考慮全面; 對項目的總體開發步驟以及全部晦澀難懂的點,都有詳細註釋,很是適合中高端工程師學習並進行二次開發

2.AppUpdate
Android 檢測更新庫

3.Android-Router
高性能,靈活,簡單易用的輕量級 Android 組件化協議框架,用來解決複雜工程的互相依賴,解耦出的單個模塊有利於獨立開發和維護。

4.HtmlCompat
Compatibility library for Android's Html class.

5.FadingTextView
A textview that changes its content automatically every few seconds

6.MarkdownView
Android library to display markdown text.

7.materialChipView
Material Chip view. Can be used as tags for categories, contacts or creating text clouds

8.dexknife-wj
Android Studio 下的 apk 加固插件,支持簽名校驗和 dex 加密

9.LeonEasyPermissions
android6.0+權限請求工具類的簡單封裝

10.ShortcutBadger
An Android library supports badge notification like iOS in Samsung, LG, Sony and HTC launchers.

完整項目
1.ListenerMusicPlayer
一款優雅的遵循 Material Design 的開源音樂播放器,UI參考 騰訊輕聽 音樂播放器,使用 Lastfm Api 與 酷狗歌詞Api。項目架構採用 mvp-clean,基於 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。
技術要點:

  • 遵循 Material Design 規範,界面清新,交互優雅。
  • 基於 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide
  • 功能模塊: 個人歌曲、個人歌單、文件夾、我喜歡、最近播放、最- 近添加、播放排行、本地搜索等。
  • 支持顯示歌詞及緩存
  • 支持耳機線控播放,耳機拔出自動暫停
  • 動態刷新媒體庫,及時獲知媒體文件變動
  • 日夜間模式切換,支持動態換膚

效果預覽圖:

週刊外話
1.阿里聚安全 2016 年報
《阿里聚安全2016年報》發佈,本報告重點聚焦在2016年阿里聚安全所關注的移動安全及數據風控上呈現出來的安全風險,在移動安全方面重點分析了病毒、仿冒、漏洞三部分,幫助用戶瞭解業務安全端安全方面應該注意的風險,以後會描述阿里聚安全在業務安全防控方面作的一些努力和觀點,幫助企業在建設互聯網業務安全時,考慮安全策略和防禦應該往哪部分傾斜。 

更多精彩文章請關注微信公衆號"Android經驗分享":這裏將長期爲您分享Android高手經驗、中外開源項目、源碼解析、框架設計和Android好文推薦!

掃一掃加我哦
相關文章
相關標籤/搜索