Android Weekly Notes Issue #242

Android Weekly Issue #242

January 29th, 2017
Android Weekly Issue #242
本期內(nèi)容包括: Android中常用的設計模式; 基于NoSQL的移動對象數(shù)據(jù)庫--ObjectBox; MVC, MVP和MVVM模式的討論; 一個Google Actions的Java SDK; 一個帶黏性動畫的FAB的實現(xiàn); Kotlin 1.1的新功能; Firebase的實時數(shù)據(jù)庫討論; Model-View-Intent模式應用的實現(xiàn); 關于實現(xiàn)gradient時透明顏色的使用.

ARTICLES & TUTORIALS

Common Design Patterns for Android

Creational Patterns

  • Builder
  • 依賴注入: 舉例: Dagger
  • Singleton

Structural Patterns

  • Adapter
  • Facade: 舉例: Retrofit

Behavioral Patterns

  • Command: 舉例: EventBus
  • Observer: 舉例: RxAndroid
  • Model View Controller
  • Model View ViewModel

ObjectBox - The new Mobile Database

ObjectBox是greenrobot發(fā)布的一個新的mobile對象數(shù)據(jù)庫, 主要關注于性能, 據(jù)說superfast.

在ObjectBox中, 主要是把NoSQL技術遷移到mobile端使用. 之前他們創(chuàng)建的greenDAO, 據(jù)說是最快的Object/Relational Mapper (ORM) for Android and SQLite.

ObjectBox的5大特性:

  • Superfast.
  • Object API.
  • Instant unit testing.
  • Simple threading.
  • No manual schema migrations.

文檔
Demo

MVC vs. MVP vs. MVVM on Android

MVC, MVP, MVVM模式的介紹.

Building Google Actions with Java

非官方的Google Actions Java SDK, 本文為開發(fā)者介紹其如何使用.

Android Gooey FAB is EASY

實現(xiàn)一個膠黏的FAB.
首先作者展示了效果, 點擊FAB, 從中逐漸分離中一個新的小按鈕. 作者討論了這種效果可能的實現(xiàn)方法:

  • 用bitmap的mesh transformation, 這是能高度自定義的.
  • 創(chuàng)建自定義View, 自己繪制Path.
  • 最簡單的辦法: 用Animated Vector Drawable, 即本文所介紹的方法.

源碼在這里: Android-Animations

What Comes in Kotlin 1.1 for Android Developers?

Kotlin 1.1的新features.

  • Coroutines. 改善Kotlin中的異步編程.
  • Type Aliases. 可以為類型起別名.
  • Inlining Property Accessors.
  • Less Restrictive Inheritance. sealed類的子類不用再放在同一個類中; 非final的類現(xiàn)在也可以繼承data類了.
  • Destructuring and Underscores.
  • Methods Count. 作者對比了一個sample程序, 用kotlin的不同版本, 發(fā)現(xiàn)用最新版kotlin確實會增加一些方法數(shù), 但它仍然算是一個很輕量的庫.

Understanding the Power of Firebase Security Rules

作者要寫關于Firebase的一系列文章: 第一和第二篇主要介紹實時數(shù)據(jù)庫的規(guī)則, 第三篇介紹Storage的規(guī)則.

關于實時數(shù)據(jù)庫規(guī)則的主要內(nèi)容包括:

  • 識別你的用戶.
  • 控制數(shù)據(jù)訪問權(quán)限.
  • 驗證創(chuàng)建, 更新和刪除操作.

Reactive apps with Model-View-Intent - Part 3

上一篇中介紹了用Model-View-Intent模式來構(gòu)建一個單相數(shù)據(jù)流的簡單屏. 這篇文章接著講如何用MVI和state reducer來構(gòu)建一個復雜屏.

(感覺太復雜了我沒仔細看).

Android Dev Tip #3: A gotcha with color/transparent

如果你要在xml中用gradient寫一個漸變色, 對于透明色@android:color/transparent.的使用一定要注意.

透明色@android:color/transparent.的色值是#00000000, 所以它實際上代表的是一個透明的黑色.

在gradient進行插值的時候, 會對ARGB每一個通道的色值都分別進行插值然后疊加.

所以如果你想要保持顏色不變, 只改變透明度, 也即Alpha通道的值, 你就應該把透明色中RGB顏色設置為和原來的顏色一樣.

LIBRARIES & CODE

PreviewSeekBar

一個帶Preview的SeekBar.

AndroidTestingBox

一個Android項目, 用于實驗各種測試工具.

FunctionalRx2

a collection of constructs to simplify a functional programming approach to Java and Android.

gradle-completion

gradle的tab補全, for bash and zsh.

ObjectBox

超快的移動平臺對象數(shù)據(jù)庫.

superlightstack

一個輕量級的庫, 用于創(chuàng)建View的stack, 并處理轉(zhuǎn)換和狀態(tài)維持.

PicassoFaceDetectionTransformation

一個配合picasso使用的圖像轉(zhuǎn)換庫, 可以根據(jù)人臉檢測自動確定范圍而切圖.

(Readme中附有配合Glide和Fresco使用的版本.)

cwac-netsecurity

This library contains a backport of the Android 7.0 network security configuration subsystem.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,909評論 25 709
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,857評論 2 45
  • 原文鏈接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影閱讀 33,149評論 6 472
  • 心路難走過, 情相伴、生也蹉跎。 隨性又如何? 若不是為名利, 做什么? 醒著也是夢, 昏沉沉、誰與說破。 覓風流...
    曹煥甫閱讀 181評論 0 3
  • 幾年前就迷戀上了攝影,并且一直神往有自己的單反。工作兩年后,咬了咬牙,入手了一部。 剛拿到手時,一股新鮮感讓我不舍...
    木蔭閱讀 218評論 0 0

友情鏈接更多精彩內(nèi)容