Android博客周刊第69期
新聞
1.外媒評選的各項最佳Android Wear智能手表
隨著越來越多的 Android Wear 智能手表進入市場,要想從中選出一款最佳手表可不是一件容易的事。不過,我們可以來看看外媒 Wareable 評選出的各項最佳產品。 2017 年最佳 Android Wear 手表:LG Watch Sport
2.Google介紹Peer Grouping技術細節:如何篩選惡意Android應用
Android系統的開放固然贏得了眾多開發者和用戶的青睞,但同時安全也成為擺在Google面前的重大挑戰。近年來,Google不斷借助機器學習和人工智能技術來甄別危險應用,從而在用戶安裝之前扼殺和打擊惡意程序和漏洞。
國外博客
1.Designing Adaptive Icons
Android O introduces a new app icon format: adaptive icons. Adaptive icons can make devices more coherent by unifying the shape of all app icons and opening the door to interesting visual effects.
2.Surfacing Hidden Change to Pull Requests
Programming frequently deals in visible changes: the logic in your code, the dependencies you declare, the API you expose. There is, however, quite a bit of associated hidden change
3.I’m an Android developer
I’m 26 years old and work as a senior Android developer at the biggest telecommunications and broadband company in Denmark — not because I have a fancy education, but rather a ton of practical experience. Here’s my story.
4.A Primer on Android navigation
As soon as you link two screens together in an app, you have navigation. That link—whatever it may be—is the vehicle that carries users between those screens.
5.Android UI and unit tests coverage report with Jacoco and SonarQube
Nowadays writing code without tests is a sign of poor tone. So everybody in our team is trying to improve one’s skills in this field. Writing tests became a competition for us (approaches, libs etc.).
國內博客
1.深入Java核心
在JRE中,類加載器主要分為以下幾種:引導類加載器(Bootstrap)它本身使用C/C++語言實現的,負責加載Java的核心類庫,在jre\lib目錄中,當中包括如rt.jar,這些都是Java自帶的核心類庫,必須由它來完成加載。拓展/擴展類加載器(Extension)這個加載器就是由Java語言實現.
2.理解 Android 新的依賴方式
簡評:Android 團隊在 Android Studio 3.0 中給我們帶來了非常多的改變,其中一點就是對項目依賴方式的改進。這篇文章就將詳細介紹下這項改進。一個 App 工程往往是由許多互相依賴的 module 所組成,對于處于最底層、最基礎的 module,有兩種可能的變化:
3.陸奇最新演講:如何成為一個優秀的工程師
一位工程師,如何才能稱得上優秀?除了寫得一手好Code,什么樣的工作態度和方法才是一個優秀工程師的必備? 7月11日,陸奇出席百度內部Engineering Leadership Talk。作為計算機科學博士及優秀的管理者,他提出的五點要求,對每一位百度工程師都適用。
4.Android 應用背景加載系統動態壁紙
客戶的需求總是那么讓人摸不著頭腦,我們的應用和系統的launcher是共同存在的雙桌面形式,客戶要求應用必須支持系統桌面的壁紙,針對這個需求,靜態壁紙很容易實現,但是動態壁紙就很麻煩了,畢竟我們的只是一個應用偽launcher,并不是在真正的launcher源碼上進行更改的桌面程序。
5.Android App性能優化[譯]
開發Android系統的應用程序,開發人員獲得了很多的自由,App的擁有者也見證了用戶的不斷增長。不過,在此過程中開發者也面對著很多應用開發的挑戰。 開發人員發現很多Android os版本很難跟進開發。 運行Android系統的設備類型有170+種,這也是Android開發一個巨大的挑戰。每種設備有不同的屏幕尺寸、攝像頭按鈕、鍵盤形式等等,使得開發成為一個噩夢。
6.Android 平臺 Native 代碼的崩潰捕獲機制及實現
在Android平臺,native crash一直是crash里的大頭。native crash具有上下文不全、出錯信息模糊、難以捕捉等特點,比java crash更難修復。所以一個合格的異常捕獲組件也要能達到以下目的
7.使用 Gradle 對應用進行個性化定制
一般的應用基本上都有正式服和測試服,這個就不需要多說了。但是有些應用可能還有超管服務器專供運營人員使用,對應用內的一些內容進行監管,具有一些管理員才有的操作權限。 開發過程中發布測試服務器的安裝包需要在版本號后面增加版本序號,超管服務器的包在版本號后面增加管理員文字,線上包則正常顯示版本號。
8.深入Android源碼系列(二) HOOK技術大作戰
本文講解內容有 hook技術原理探究 hook本進程方法 hook跨進程的系統調用,方法 so注入 GOT完成so方法hook ELF文件頭信息 00 簡單描述下原理,當我們想去監聽func方法,如果我們按照代碼去編寫,則會是如下格式
9.Android仿百度貼吧客戶端Loading小球
使用百度貼吧客戶端的時候發發現加載的小動畫挺有意思的,于是自己動手寫寫看。想學習自定義View以及自定義動畫的小伙伴一定不要錯過哦。 讀者朋友需要有最基本的canvas繪圖功底,比如畫筆Paint的簡單使用、Path如何畫直線等簡單的操作,不熟悉也沒關系,下文帶大家擼代碼的時候會簡單的講一下。
10.詳談java內存模型
我們寫的java代碼,自己看得懂,然而虛擬機是看不懂的,更不用說直接在機器上跑起來了。要讓java代碼按照我們的意圖跑起來的話,需要以下幾個過程。java代碼會經過javac編譯器編譯,轉化成class文件,也就是常說的字節碼。然后再經過jvm把字節碼轉化成機器可以識別的機器碼,才能跑起來。
11.startActivity探索
使用startActivity可以很輕易的啟動一個Activity,可以在Activity中使用,可以在Service中使用,也就是只要是Context的子類都可以使用。那么從Context說起。首先看下Context的繼承關系。Mac快捷鍵Control+H可以看見,這里用一個圖來說明
12.實用性MAX!像普通View一樣自由使用的粒子組件
之前作過一篇螢火蟲飛舞粒子效果,當時看還不錯。無論是性能還是UI都滿足了當時的設計效果,但實際應用到項目中,卻發現由于SurfaceView 其本身是繪制在window層面上的,對View本身的屬性有很多的限制,用起來卻不是很實在,還存在著很多不足。
類庫
1.Spotlight
一款可用于做新功能引導
2.SmartRefreshLayout
下拉刷新,RefreshLayout,OverScroll,Android智能下拉刷新框架,支持越界回彈,集成了幾十種炫酷的Header和 Footer。
3.RichPath
自定義動畫draw svg,pathData
4.PaletteImageView
懂得智能配色的ImageView,還能給自己設置多彩的陰影哦。
5.SlidingUpPanelLayout
一個豎直方向的SlidingPanelLayout,支持加載多個Panel,可以靈活地實現漂亮的的交互效果。
6.CustomProgress
一款常見的進度條加載框架
7.AndroidControl
可以實時查看和控制安卓手機的安卓遠程控制軟件,致力于完成一個高端的安卓群控軟件 可以群控,錄制運行腳本等等功能......
8.sketch
Sketch是Android上一個強大且全面的圖片加載器,支持GIF,手勢縮放以及分塊顯示超大圖片。
9.AdaptiveIconPlayground
一款調試桌面上的icons工具
10.Fish
靈動的紅鯉魚(繪制部分)
11.CustomRippleView
自定義波紋效果,速度、顏色、粗細可自定義,效果見效果圖
面試題
1.程序員,為什么寫不好一份簡歷?
工作十余年下來,參與過很多次招聘,看過很多程序員的簡歷,卻發現少有讓人滿意的。回顧自己,上次投簡歷已是六、七年前,再一想當年的簡歷卻也是不禁搖頭嘆息。如今,站在求職的另一端,終于開始明白什么樣的簡歷算是好簡歷了。
博外話
1.生活的智慧
我曾經寫過一篇文章,叫『編程的智慧』。再加上我總寫一些技術性的文章,不認識我的人可能還以為我是個技術狂人,只知道談論技術,不會生活。其實跟我接觸緊密的人都知道,我是一個很會生活的人。
2.如何成為快樂高產的程序員
書上說的那些好習慣:早起、冥想、瑜伽、讀書,總是堅持不下來。 每天總會有亂七八糟的事情打亂規劃,而這些亂入的工作由于涉及上層的訴求,優先級都挺高,更可怕的是,自己也逐漸習慣或適應了這種工作習慣。 工作中越來越發現欠缺的知識太多,所以潛意識里面壓力很大。
來自:http://www.androidblog.cn/index.php/Index/detail/id/79