從零開始的Android新項目8 - Data Binding高級篇php
承接上篇,本篇繼續講解一些Data Binding更加進階的內容,包括:列表綁定、自定義屬性、雙向綁定、表達式鏈、Lambda表達式、動畫、Component注入(測試)等。android
深刻理解 ButterKnife,讓你的程序學會寫代碼git
咱們今天要介紹的 ButterKnife 其實就是一個依託 Java 的註解機制來實現輔助代碼生成的框架,讀完本文,你將可以瞭解到 Java 的註解處理器的強大之處,你也會對 Dagger2 和 AndroidAnnotations 這樣相似的框架有必定的認識。github
鎖屏做爲一種黑白屏時代就存在的手機功能,至今仍發揮着巨大做用,特別是觸屏時代的到來,鎖屏的功用被髮揮到了極致。多少人曾經在無聊的時候每隔幾分鐘劃開鎖屏再關上,孜孜不倦,其酸爽程度不亞於捏氣泡膜。確實,一款漂亮的鎖屏能爲手機增色很多,但鎖屏存在的核心目的主要是三個:保護本身手機的隱私,防止誤操做,在不關閉系統軟件的狀況下節省電量。app
咱們都能詳細地說出Android的四大組件:Activity,Service,ContentProvider和BoardcastReceiver,可是四大組件以外,咱們用到也不少的是什麼,其中確定包括View,View是用戶跟程序溝通的入口,也是程序展示給用戶信息的窗口。關於View,一些基礎屬性仍是要了解的,left,top,right,bottom,分別表明了view的左上角和右下角分別相對x軸,y軸的座標,並且view的getWidth和getHeight的值都是經過這四個值算得,並且在Android3.0中還增長了x,y,translationX和translationY這幾個屬性,便於咱們對view的平移操做,x、y表明了當前view左上角的xy座標,而translationX和translationY表明了view相對它的父容器的偏移量,默認值是0。less
Android插件化原理解析—ContentProvider的插件化dom
目前爲止咱們已經完成了Android四大組件中Activity,Service以及BroadcastReceiver的插件化,這幾個組件各不相同,咱們根據它們的特色定製了不一樣的插件化方案;那麼對於ContentProvider,它又有什麼特色?應該如何實現它的插件化?與Activity,BroadcastReceiver等頻繁被使用的組件不一樣,咱們接觸和使用ContentProvider的機會要少得多;可是,ContentProvider這個組件對於Android系統有着特別重要的做用——做爲一種極其方便的數據共享的手段,ContentProvider使得廣大第三方App可以在壁壘森嚴的系統中自由呼吸。ide
動起來!動起來!- Android Transitions 轉場動畫
做爲 Andorid 開發者咱們都知道,Google 在最近的設計理念中引入了 Material Design.能夠說開啓了 Android 動畫交互的新篇章。在 Material Deisgn 中有一個概念: Material Motion,概念提的那是很是有內涵,也吸引了大批設計者和開發者追捧。可是回到現實,在 Andorid 寫起動畫來並非那麼容易。
安卓開發領域,不少重要的問題都有了很好的開源解決方案,例如網絡請求 OkHttp + Retrofit 簡直就是不二之選。「咱們不重複造輪子不表示咱們不須要知道輪子該怎麼造及如何更好的造!」,在用了這些好輪子將近兩年以後,如今是時候拆開輪子一探究竟了。本文基於 OkHttp 截至 2016.7.11 的最新源碼對其進行了詳細分析。
譯者序:有關是否要讓Presenter實現接口這個問題並無不少討論。antoiolg曾在GitHub上發過一個MVP實踐,最先的提交是在2014年四月,能夠說是最先的優秀範例了。他讓全部的Presenter都實現了接口,並在View層中堅持使用接口而不是實現類。而幾個月前Google竟發佈了官方MVP實踐。此碼一放,衆神退讓。
爲何Android開發者應該使用FlatBuffers替代JSON?
你可能會問,既然咱們已經有很標準的JSON以及轉換庫好比GSON和Jackson,爲何還要使用新的工具呢?不妨先試一下FlatBuffers,而後你就會發現它比JSON快得多。FlatBuffers是一個高效的跨平臺序列化類庫,能夠在C++、C#、C、Go、Java、JavaScript、PHP和Python中使用。是Google開發的,是爲了應用在遊戲開發,以及其餘注重性能的應用上。
咱們都知道以View爲父類來自定義視圖須要重載一系列函數,下面咱們就來按照調用順序來介紹一下這些函數。須要重載的函數列表以下:onMeasure、onSizeChanged、onDraw、onTouchEvent、onSaveInstanceState、onRestoreInstanceState,首先就是onMeasure函數,用於肯定自定義視圖的長和高。對於本文的Switch,咱們讓其高爲寬的固定比例大小就能夠了,因此重構函數實現得十分簡單。這個函數肯定的只是測量的長和高,並非最終視圖所顯示的長和高。
Maoni is a lightweight library for integrating a way to collect in-app user feedbacks from within Android applications.
An Android library that enables snappy smooth scrolling in RecyclerView.
Android and Java library for mocking and testing networking layers with built-in support for Retrofit.
ViewPager with dynamic height support and smooth animations
Android PopupWindow that can be easily located relative to anchor View.
一個可以在任何控件之上執行漂浮效果動畫的控件
FogView is a android library that can show fog on any layout and the fog removes when user rubs it.
A slider that allows a user to select a value at one of the specified tickmarks
簡單易用的安卓進程間通訊IPC框架
HermesEventBus (By 進擊的小羊)
一個基於EventBus的、能在進程間發送和接收event的庫,在IPC或者插件開發中很是有用
Simple and fantastic wheel view in realistic effect for android.
This is a better android-tv-launcher,it can running on the tv box.Build with gradle.
A lightweight OkHttp interceptor
Simple RxJava library for requesting and observing Android runtime permissions
Fun to use Floating Action Button (FAB) for Android
仿餓了麼點擊購物效果
Android Studio 自動生成佈局代碼插件