Android Weekly Notes Issue #231

来源:http://www.cnblogs.com/mengdd/archive/2016/11/17/6075009.html
-Advertisement-
Play Games

Android Weekly閱讀筆記, Issue #231, 本期內容包括: MVP中的View做成passive響應式的, 返回Observable; Android Studio使用技巧; `BottomNavigationView`的使用; App tracking; Kotlin; 用Ko... ...


Android Weekly Issue #231

November 13th, 2016
Android Weekly Issue #231

Android Weekly閱讀筆記, Issue #231, 本期內容包括: MVP中的View做成passive響應式的, 返回Observable; Android Studio使用技巧; BottomNavigationView的使用; App tracking; Kotlin; 用Kotlin實現的Filter Animation效果; Dagger2的ScopeSubcomponent使用; Espresso測試中mock dagger註入; Android和Java中的Reference和記憶體泄露; MVVM + RxJava構架實際使用的經驗分享; 還有TV以及Audio相關的內容等.

ARTICLES & TUTORIALS

Reactive Views: retrying errors

作者他們的app近來重構採用了RxJava和Clean Architecture, 進而想要使用passive view, 然後他們就發現了關於Reactive Views的一系列文章, 尤其是這一篇: RxUi: Talking to Android View layer in a Reactive way.

他們的主要工作就是把View也改成響應式的, 即View返回Observable. 在Presenter初始化的時候和View的Observable綁定, 所以事件發生的時候會trigger到presenter.

這項工作主要需要依賴於RxBinding, 由於RxBinding沒有提供長按RecyclerView item的bind, 所以他們自己寫了一個.
Snackbar也是: SnackbarActionOnSubscribe.

作者採用這種方式重構了他們的代碼, 使得view變成完全passive的.

並且其中還有一個retryWhen()使用的解釋: RxJava's repeatWhen and retryWhen, explained.

50 Android Studio Tips, Tricks & Resources

設置Logcat的顏色; 使用Live Templates; 快捷鍵使用; Android Studio的插件; 還有一些資源分享.

BottomNavigationView

Design support library 25.0.0推出了BottomNavigationView, 本文介紹其使用.

The key concepts of app tracking for developers

這篇文章主要講移動應用數據追蹤和分析的幾個原則:

  • 為什麼你需要tracking;
  • 什麼時候需要收集數據;
  • 用什麼Analytics tool;
  • 用戶隱私相關;
  • 代碼設計模式以及挑戰;
  • 如何debug和測試輸出;
  • 如何分析數據;

Why You Must Try Kotlin For Android Development?

為什麼要使用Kotlin來做Android開發? 簡潔, 安全, 靈活, 和Java可互相操作.

文中介紹了Null Safety, Smart Casting, Default Arguments, Named Arguments, Functional Programming, Concise Code.

Implementing Filter Animation in Kotlin

作者他們搞了一個應用FIT, 為女性IT工作者提供社區和交流平臺, 想要成為Quora加上Linkedin.

為了讓用戶選擇分類和過濾器tag進行搜索, 他們開發了一個組件: SearchFilter.

文中討論了這種設計的動畫實現, 庫是用Kotlin寫的.

DI 101 — Part 3

本文講什麼是Scope, 如何定義Scope, 如何使用Scope和@Subcomponent.

Subcomponent會繼承父類的所有bindings.

作者定義了一個Activity的Scope, 然後定義了一個Subcomponent專門給這個Activity用, 這個Subcomponent只在這個Activity的生命周期里存活. 代碼例子比較簡潔易懂.

How Dagger 2 Helps In Android Espresso Tests

這篇文章介紹瞭如何在寫Espresso測試的時候, 使用一個測試用的Dagger Component.

Finally understanding how references work in Android and Java

這篇文章講了Java中的引用類型和Android中的記憶體泄露.

Java中的引用類型:

  • Strong reference
  • WeakReference
  • SoftReference
  • PhantomReference

作者詳細介紹了每一種引用並用例子說明瞭使用場景.

MVVM + RxJava: Learnings

作者他們的新聞應用採用MVVM + RxJava架構, 本文總結了他們遇到的問題和學到的兩點:

  1. 暴露狀態, 而不是事件;
  2. 所有的事情都應該通過ViewModel.

Adding TV Channels to Your App with the TIF Companion Library

TV Input Framework(TIF)和Android TV讓第三方應用開發者可以很容易地創建自己的電視頻道.

Background Audio in Android With MediaSessionCompat

Android support library中的MediaSessionCompat使用, 以及如何用它來做一個背景音樂.

LIBRARIES & CODE

FirebaseUI-Android

FirebaseUI for Android — UI Bindings for Firebase.

ChipsLayoutManager

一個自定義的RecyclerView的layout manager, 流式地顯示很多小塊的TextView.


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 關於Turtle Online Turtle online 是Turtle框架的PC前端架構,包括組件和API兩大部分,可以快速的搭建PC前端開發環境。組件包括日曆、分頁、圖片輪播/圖片瀏覽、各類提示彈框/自定義彈層、氣泡提示、圖標icon、表單等。API包括常用JS方法封裝(cookie操作、aj ...
  • 1、tortoisegit Git下載地址: https://tortoisegit.org/download/ SVN下載地址: https://tortoisesvn.net/downloads.html 2、sourcetree https://www.sourcetreeapp.com/ ...
  • AysncTask相信大家都不陌生,它是為了簡化非同步請求、更新UI操作而誕生的。使用它不僅可以完成我們的網路耗時操作,而且還可以在完成耗時操作後直接的更新我們所需要的UI組件。這使得它在android開發中成為炙手可熱的網路請求工具類。 ...
  • //通過NSNumberFormatter,同樣可以設置NSNumber輸出的格式。例如如下代碼: NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; formatter.numberStyle = NSNumberFor ...
  • 前面兩篇分別介紹了通過腳本和C代碼讀寫/sys/class/gpio以控制GPIO。實際項目調試時經常還需要在Java代碼里控制GPIO,其實現與C代碼類似,唯一不同是Android許可權。本文重點介紹Android6.0許可權的配置並對在Java層控制GPIO的耗時做簡單分析。 以高通平臺為例,許可權配 ...
  • 向下傳遞活動很簡單,可以我採用putExtra()方法的重載,把我們想要傳遞的數據暫時放在intent中,啟動活動時從這裡取就可以了。 首先我們在MainActivity(主活動)顯式聲明intent的方式來啟動SecondActivity,通過PutExtra()方法來傳遞數據。 ...
  • 一、前言: 安卓(Android):是一種基於Linux的自由及開放源代碼的操作系統,主要用在移動設備上,如手機、平板電腦。其他的設備也有使用安卓操作系統,比如:電視機,游戲機、數位相機等等。 二、具體: 1、首先需要有開發安卓的環境,安卓SDK。在此本人提供Android4.4的版本下載鏈接:ht ...
  • 前言 學習本系列內容需要具備一定 HTML 開發基礎,沒有基礎的朋友可以先轉至 "HTML快速入門(一)" 學習 本人接觸 React Native 時間並不是特別長,所以對其中的內容和性質瞭解可能會有所偏差,在學習中如果有錯會及時修改內容,也歡迎萬能的朋友們批評指出,謝謝 文章第一版出自簡書,如果 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...