Android博客周刊第70期

新聞

1.不用甜品用動物?Android O或名“Octopus”(章魚)

Google的開發團隊素來偏好使用甜點來命名Android系統,而此前推測即將上線的Andorid O系統極有可能命名為“Oreo”(奧利奧)或者“Oatmeal Cookie”(燕麥餅干),不過通過今天發布的Android O最后一個開發者預覽版,Android O可能叫做“Octopus”(章魚)。

2.Android O接近完成:最后一個開發者預覽版DP4發布

谷歌的Android移動系統從未停止前進的腳步,公司于今天發布了Android O系統的第四個開發者預覽版,這也是Android 8.0最終版上線之前的最后一個預覽版。夏季官方結束日期為9月22日,因此推測Android O有望在此之前亮相發布。

國外博客

1.How to animate on Android

Previously I have described how to create animations for both native Android and React Native applications using OpenGL. This time I’d like to tell about different tools which could be useful for Android animations of any difficulty and their pros and cons.

2.RxJava Anatomy: What is RxJava, how RxJava is designed, and how RxJava works.

RxJava has become the single most important skill for Android development. Most of you must have worked with it in some form, either in your own codebase or through other third party libraries, like Fast Android Networking and Retrofit.

3.ViewModels: Persistence, onSaveInstanceState(), Restoring UI State and Loaders

In the last blog post I explored a simple use case with the new ViewModel class for saving basketball score data during a configuration change. ViewModels are designed to hold and manage UI-related data in a life-cycle conscious way

4.MVI on Android

I have been using Cycle.js for a couple of small hobby projects and I really like the observables only approach. Having used reactive patterns on Android to some extent as well

5.Android: Working with themes and styles

One of the most important elements to a successful app is its design. Many developers have a natural tendency to focus on the functionality of their app and leave its appearance as an afterthought.

國內博客

1.Android遠程調試的探索與實現

作為程序員,查bug一般使用下面幾種方式:閱讀源碼、記錄日志或調試程序。一般本地無法復現的問題通過閱讀源碼很難找到原因,而且大多數情況都和用戶本地環境有關。記錄日志的缺點之前講過了,同樣不予考慮,那能否像調試本地程序一樣調試已經發布出去的程序呢?我們對此做了一些嘗試和探索。

2.AOP技術在網易新聞中的應用

在軟件業,AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程,通過預編譯方式和運行期動態代理實現程序功能的統一維護的一種技術。AOP是OOP的延續,是軟件開發中的一個熱點,也是Spring框架中的一個重要內容,是函數式編程的一種衍生范型。利用AOP可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低

3.Android源碼完全解析——View的Measure過程

在Android中,Veiw從內存中到呈現在UI界面上需要經過measure(測量)、layout(布局)、draw(繪制)這樣一個過程。為什么需要measure過程?因為在Android中View有自適應尺寸的機制,在用自適應尺寸來定義View大小的時候,View的真實尺寸還不能確定,這時候就需要根據View的寬高匹配規則,經過計算,得到具體的像素值,measure過程就是干這件事。

4.Android全面插件化RePlugin流程與源碼解析

RePlugin,360開源的全面插件化框架,按照官網說的,其目的是“盡可能多的讓模塊變成插件”,并在很穩定的前提下,盡可能像開發普通App那樣靈活。那么下面就讓我們一起深入♂了解它吧。

5.JVM層對jar包字節碼加密

拿到的需求是要對某特定的jar包實現加密保護,jar包需要提供給外部使用,但核心邏輯部分需要保護以免被簡單反編譯即能看到。 混淆器,將jar包混淆后反編譯出來的東西看起來就很眼花,但如果耐心一點也是可以看出來的。

6.Android 高級混淆和代碼保護技術

這是一篇關于 Android 代碼保護的文章,旨在介紹代碼混淆、防止逆向工程的各種高級技巧。大家都很忙,我也趕著回去繼續開發我的新應用,因此話不多說,越干(gan, 一聲)越好。 開始之前,值得一說的是,本文完全由我開發的「純純寫作」書寫而成,純純寫作主打安全、寫作體驗和永不丟失內容,于是本著珍愛生命,我用純純寫作來寫這篇文章。

7.Android 中的多進程,你值得了解的一些知識

不知道大家在平時的開發中有沒有遇到這樣一個問題:自定義的 Application 類在應用啟動的時候被多次創建,或者在使用到某個功能的時候 Application 再次被創建。換句話說,Application 的 onCreate() 方法被調用了兩次或者更多次。

8.體驗飛一般的感覺,將Android 構建速度提升10倍以上

相信很多Android開發者每天都會被Android的構建速度影響到,很多人說我只改了一行代碼,又要編譯2分鐘,還是有人說我什么都沒動,卻還要等待這么久,嚴重影響工作效率。好消息是Google IO大會上Android 推出了插件3.0.0版本,并且專門做了一次分享,介紹了新的插件特色

9.Java的泛型解析

類型安全:泛型的主要目標是提高 Java 程序的類型安全。通過知道使用泛型定義的變量的類型限制,編譯器可以在一個高得多的程度上驗證類型假設。沒有泛型,這些假設就只存在于程序員的頭腦中(或者如果幸運的話,還存在于代碼注釋中)。

10.HenCoder Android 開發進階:自定義 View 1-3 文字的繪制

和上期一樣,這期講的是細節,其中有一部分內容并不是很常用,所以這期你不必要求自己把內容全部背會,而只要做到全部理解,知道都有什么東西,大概怎么用就好,到你真正需要用的時候再拐回來看就是

11.組織優秀代碼的四原則

代碼寫了5年,必然會產生審丑疲勞,代碼混亂不堪,無法維護,可閱讀性基本沒有。面對種種的問題,如何使代碼更優雅,更具可讀性便成了迫切需要解決的問題。下面我從實戰中總結了四項基本原則

類庫

1.SuperCalendar

android 自定義日歷控件 支持左右無限滑動 周月切換 標記日期顯示 自定義顯示效果跳轉到指定日期

2.Orin

一個音樂播放器APP

3.DropDownView

一個下拉菜單動畫類庫

4.ShimmerLayout

一個閃光的layout,類似非死book的效果

5.SeparateShapesView

一個靈活帶動畫的圓角button

6.material-searchview

Library to create a material search view similar to one used in apps developed by Google Inc.

7.FileListerDialog

文件選擇器

8.YuuPlayer

基于 Webview 實現的 油Tube Player

9.HexagonRecyclerView

一個正六邊形的RecyclerView

10.android-player-tv

The Android TV version of LUSH Player

11.RxLifecycle

以非侵入性的方式綁定Activity或Fragment的生命周期。

12.RxRedux

使用Rxjva關閉狀態的類庫

13.AppManager

如何優雅的退出應用和處理崩潰異常自動重啟

面試題

1.這可能不只是一篇面經

5月份一個很偶然的機會,加了葉神的微信,還收到了祝福。一激動就承諾說寫篇最詳細的面經分享給大家,畢竟用了這么久的牛客網,收獲真的很大。校招真的是段勞心傷神的經歷,我把這一路的體會,寫在秋招前,也許能給那些和我一樣迷茫過,懷疑過,失落過的人一些幫助。

博外話

1.從輟學到名企資深開發工程師,一名 Android 開發者逆襲血淚史

我今年 26 歲,作為一名資深 Android 開發者,同時也是一位大學輟學者,我以犧牲正規教育為代價換取了實踐經驗,目前就職于丹麥最大的電信和寬帶公司-并不是因為我有很好的教育背景,而是因為我有大量的實踐經驗。接下來是我的故事。

2.想提高團隊技術,來試試這個套路!

什么是場域?你可以把場域理解為游戲背景故事,魔獸世界、夢幻西游都有一個特別打動人心的背景故事,大家接受這個故事,才會接受你的游戲規則,起碼是不排斥你的游戲規則。所以針對你的受眾,投其所好設計場域非常重要,這決定了大家的參與度。

 

來自:http://www.androidblog.cn/index.php/Index/detail/id/80

 

 本文由用戶 Jua9820 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!