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

世鋒日上發表於2016-09-26

《Android經驗分享》收錄國內外最近一週熱門的技術部落格以及優秀的類庫,星期一傍晚將準時更新給大家

微信公眾號:Android經驗分享 QQ討論群:386067289

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

熱點新聞

1.微信推出小程式應用號,移動網際網路第二春會來嗎?

官方介紹:微信小程式是一種全新的連線使用者與服務的方式,可以在微信內被便捷地獲取和傳播,同時具有出色的使用體驗。這意味著移動網際網路第二春會來嗎?

2.10月4日見面!安卓7.1將隨新裝置釋出

安卓7.0才剛剛沒推送多久,現在安卓7.1又要來了。Google透露,10月4日將舉行新品釋出會,而從配圖的輪廓上看,這應該是新一代的Google旗下的手機。而按照之前的訊息,新的裝置將會首發搭載安卓7.1新系統,屆時新系統可能也會一併推送給其他Google裝置。

熱門部落格

1.微信小程式開發資源 Awesome 大搜集

本週最熱門的話題無疑是微信小程式了,這篇部落格收集了微信小程式最新開源專案、文件、教程、知乎討論、媒體報導和相關文章。

2.詳談高大上的圖片載入框架Glide -原始碼篇

如果有人問你它是如何載入,工作原理是怎樣的?為什麼自定義GlideModule只需要在Manifest檔案中加入meta-data即可?等等很多載入流程以及使用的注意事項。想搞明白這些問題,就需要我們對Glide原始碼有個大致的認識,去剖析原始碼深處的奧祕。

3.EventBus 原始碼解析

EventBus 是一個 Android 事件釋出/訂閱框架,通過解耦釋出者和訂閱者簡化 Android 事件傳遞,這裡的事件可以理解為訊息,本文中統一稱為事件。事件傳遞既可用於 Android 四大元件間通訊,也可以使用者非同步執行緒和主執行緒間通訊等等。

4.Android混淆從入門到精通

作為Android開發者,如果你不想開源你的應用,那麼在應用釋出前,就需要對程式碼進行混淆處理,從而讓我們程式碼即使被反編譯,也難以閱讀。混淆概念雖然容易,但很多初學者也只是網上搜一些成型的混淆規則貼上進自己專案,並沒有對混淆有個深入的理解。

5.基於Retrofit、OkHttp、Gson封裝通用網路框架

android開發過程中網路請求作為最重要的組成部分之一,然而對於大部分android開發者在網路請求上有太多疑惑,不知道如何去選型?筆者以為採用廣泛被使用的第三方網路框架再封裝為上策,因為這些網路框架如retrofit、okhttp、volley等是被全球android開發者維護著,無論在功能上、效能上、還是程式碼簡潔性都相對於自己通過原生實現的給力。

6.ListView、RecyclerView、ScrollView裡巢狀ListView 相對優雅的解決方案:NestFullListView

crollView裡巢狀ListView,一直是Android開發者(反正至少是我們組)最討厭的設計之一,完美打破ListView(RecyclerView)的複用機制,成功的將Native頁面變成一個又臭又長的H5網頁效果,但由於這種設計需求在我司專案實在太多見,無奈之下,封裝。

7.擁抱SVG:苦惱於圖片適配 in Android?

不管是開發 Android 已久的老司機,還是剛剛上車的新司機,都肯定會對一件事情深惡痛絕:圖片適配(尤其是在美工不給力的條件下)!為什麼 Android 手機要有這麼多不同的解析度? 為什麼我的圖片在這臺手機上顯示地好好的完全符合設計圖的要求結果換到另一臺手機上就變形了?Oh my god !

8.RxJava常用操作符

RxJava常用操作符。

9.[譯]Android記憶體洩漏的八種可能(上)

Java是垃圾回收語言的一種,其優點是開發者無需特意管理記憶體分配,降低了應用由於區域性故障(segmentation fault)導致崩潰,同時防止未釋放的記憶體把堆疊(heap)擠爆的可能,所以寫出來的程式碼更為安全。

10.View 的工作原理上 View 繪製流程梳理及 Measure 過程詳解(Android 開發藝術探索筆記)

View 的工作原理主要包含 View 的三大流程 onMeasure()、onLayout()和onDraw() ,而由於一次性全部寫完內容會有點長,所以本次主要先介紹關於 View 的工作流程的整體梳理和 Measure 過程相關知識,而下一篇筆記會把剩下的部分寫完。

受歡迎的類庫

1.GeneratePicture

Select the page content generated picture.仿簡書選取頁面內容生成分享圖片。

2.Forcelayout

Forcelayout is library for android. You can drawing graph with spring-like attractive forces.

3.K-Sonic

一個基於 Sonic(聲音處理演算法)的,音訊 Speed,Pitch,Rate 調節 Demo該 Demo 含兩種媒體引擎,都支援音訊的變速功能.一個是,基於 Exo 和 Sonic Java 演算法。

4.wechat-lightapp

微信小程式(應用號)開發工具+破解+Demo+教程。

5.SpinMenu

輪盤樣式的 Fragment 選擇選單,可轉動輪盤切換 Fragment。

6.TelegramGallery

世界級相簿選擇器,快速,低耗,響應快速,無依賴。抽取自 Telegram,擴充套件了 QQ 相簿選擇風格。

7.ProgressLayout

An extension of RelativeLayout that helps show loading, empty and error layout.

8.CouponView

半圓鋸齒背景虛線邊框組合實現簡單優惠券效果,可實現一些簡單組合。

9.android-page-transition

viewPager 左右滑動時的錯位視差,以及內部 Fragment Item 上下拖拽和進入新的 Activity 的 transition 動畫,滑動流暢。

10.FaceDetect

基於 face++的人臉檢測,解決了 camera 預覽變形,影象方向不對等問題。

完整專案

1.ZhihuDaily

仿知乎日報,基於 MVP + RxJava + Retrofit2 + Dagger2 . 本應用是個人的實踐專案,目的在於總結歸納近來學習到的新技術,融會貫通。本應用基本涵蓋了Android開發最常用的主流框架,介面清新簡潔,實現了知乎日報的主要功能。

2.DesignResCollection

一個android專案搞定所有主流框架,提供同一個App的不同架構實現,對其進行對比分析,方便大家選取使用。

週刊外話

1.微信應用號正式公開,一個開放的微信已經上路?

微信官方公佈完“小程式”之後,有不少人指出,小程式將會對大量的APP產生威脅。但從目前所公佈的這些細節當中,我們可以看到微信其實正在給開發者更多在使用者面前“露臉”的可能性。重點是,微信也並非自身涉足新功能,而是將自身的能力給予更多的開發者。

2.一文讀懂微信小程式(應用號)是什麼,創業者是否值得投入進來做?

張小龍在朋友圈裡這樣解釋道:小程式是一種不需要下載安裝即可使用的應用,它實現了應用「觸手可及」的夢想,使用者掃一掃或搜一下即可開啟應用。也體現了「用完即走」的理念,使用者不用關心是否安裝太多應用的問題。應用將無處不在,隨時可用,但又無需安裝解除安裝。

更多精彩文章請關注微信公眾號"Android經驗分享":這裡將長期為您分享Android高手經驗、中外開源專案、原始碼解析、框架設計和Android好文推薦!

掃一掃加我哦

相關文章