為了賬號安全,請及時綁定郵箱和手機立即綁定

從源碼看 Jetpack(5)-Startup源碼詳解 原創

最近,Google Jetpack 官網上新增了一個名為 App Startup 的組件,鏈接:App Startup。根據官方文檔的介紹,App Startup 提供了一種直接、高效的方式用來在應用程序啟動時對多個組件進行初始化,開發者可以依靠它來顯式地設置多個組件間的初始化順序并優化應用的啟動時間 本文內容均基于App Startup當前最新的 alpha 版本: implementation "androidx.startup:startup-runtime:1.0.0-alpha01" 一、App Startup 的意義 App Startup 允許 Library 開發者和 App 開發者共享

60瀏覽
0推薦
0評論

從源碼看 Jetpack(4)-LiveData衍生 原創

上篇文章介紹了關于 LiveData 類的源碼解析,本篇文章再來介紹下 LiveData 的一系列衍生類及衍生方法 本文所講的的源代碼基于以下依賴庫當前最新的 release 版本: compileSdkVersion 29 implementation "androidx.lifecycle:lifecycle-livedata:2.2.0" implementation "androidx.lifecycle:lifecycle-livedata-core:2.2.0" 一、LiveData 的子類 先來介紹下 LiveData 的幾個子類 LiveData 的 setValue()...

26瀏覽
0推薦
0評論

從源碼看 Jetpack(3)-LiveData源碼解析 原創

更多文章請看這里:AndroidAllGuide LiveData 是 Jetpack 的基礎組件之一,在很多模塊中都可以看到其身影。LiveData 可以和生命周期綁定,當 Lifecycle(例如 Activity、Fragment 等)處于活躍狀態時才進行數據回調,并在 Lifecycle 處于無效狀態(DESTROYED)時自動移除數據監聽行為,從而避免常見的內存泄露和 NPE 問題 本文就來介紹下 LiveData 的內部實現邏輯,從而讓讀者在知道其使用方法之外,還可以了解到其實現原理以及以下幾點比較容易忽略的重要特性: 一個 Observer

42瀏覽
0推薦
0評論

從源碼看 Jetpack(2) -Lifecycle衍生 首發

上篇文章詳細講述了 Lifecycle 的整個事件分發邏輯,本篇文章再來介紹下 Lifecycle 的幾個開發者比較容易忽略的衍生產物 本文所講的的源代碼基于以下依賴庫當前最新的 release 版本: compileSdkVersion 29 implementation "androidx.lifecycle:lifecycle-service:2.2.0" implementation "androidx.lifecycle:lifecycle-process:2.2.0" 一、LifecycleService 之前的文章有介紹過,LifecycleOwner...

149瀏覽
1推薦
0評論

從源碼看 Jetpack(1)-Lifecycle源碼解析 首發

Lifecycle 是 Jetpack 整個家族體系內最為基礎的內容之一,正是因為有了 Lifecycle 的存在,使得如今開發者搭建依賴于生命周期變化的業務邏輯變得簡單且高效了許多,且大大減少了業務代碼發生內存泄漏和 NPE 的風險。本文的內容就是對 Lifecycle 進行了一次全面的源碼講解,希望對你有所幫助 本文所講的的源代碼基于以下依賴庫當前最新的 release 版本: compileSdkVersion 29 implementation 'androidx.appcompat:appcompat:1.1.0' implementation...

89瀏覽
0推薦
0評論

【譯】kotlin 協程官方文檔(9)-選擇表達式(實驗階段)(Select Expression (experimental)) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] select 表達式可以同時等待多個掛起函數,并選擇第一個可用的函數來執行 選擇表達式是 kotlinx.c

254瀏覽
0推薦
0評論

【譯】kotlin 協程官方文檔(8)-共享可變狀態和并發性(Shared mutable state and concurrency) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] 可以使用多線程調度器(如 Dispatchers.Default)并發執行協程,它呈現了所有常見的并發問題。主要

306瀏覽
0推薦
0評論

【譯】kotlin 協程官方文檔(7)-異常處理(Exception Handling) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] 本節討論協程關于異常的處理和取消異常。我們已經知道,取消協程會使得在掛起點拋出 CancellationE

579瀏覽
0推薦
0評論

【譯】kotlin 協程官方文檔(6)-通道(Channels) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] Deferred 值提供了在協程之間傳遞單個值的方便方法,而通道(Channels)提供了一種傳輸值流的方法

316瀏覽
0推薦
0評論

【譯】kotlin 協程官方文檔(5)-異步流(Asynchronous Flow) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] 掛起函數可以異步返回單個值,但如何返回多個異步計算值呢?這就是 kotlin Flows(流) 的用處了

319瀏覽
0推薦
0評論

kotlin 協程官方文檔(4)-協程上下文和調度器(Coroutine Context and Dispatchers) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] 協程總是在由 Kotlin 標準庫中定義的 CoroutineContext 表示的某個上下文中執行 協程上下文包

400瀏覽
0推薦
0評論

kotlin 協程官方文檔(3)-組合掛起函數(Coroutine Context and Dispatchers) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] 本節來介紹構成掛起函數的各種方法 一、默認順序(Sequential by default) 假設我們有兩個定義

309瀏覽
0推薦
0評論

kotlin 協程官方文檔(2)-取消和超時(Cancellation and Timeouts) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] 本節討論協程的取消和超時 一、取消協程執行(Cancelling coroutine execution) 在一個長時間

704瀏覽
0推薦
0評論

kotlin 協程官方文檔(1)-協程基礎(Coroutine Basics) 首發

最近一直在了解關于kotlin協程的知識,那最好的學習資料自然是官方提供的學習文檔了,看了看后我就萌生了翻譯官方文檔的想法。前后花了要接近一個月時間,一共九篇文章,在這里也分享出來,希望對讀者有所幫助。個人知識所限,有些翻譯得不是太順暢,也希望讀者能提出意見 協程官方文檔:coroutines-guide 協程官方文檔中文翻譯:coroutines-cn-guide 協程官方文檔中文譯者:leavesC [TOC] 此章節涵蓋了協程的基本概念 一、你的第一個協程程序(Your first coroutine) 運行以下代碼: i

343瀏覽
0推薦
0評論

kotlin入門中文教程(2) 首發

本文已收錄至學習筆記大全:JavaKotlinAndroidGuide 作者:leavesC [TOC] 十五、擴展函數和擴展屬性 15.1、擴展函數 擴展函數用于為一個類增加一種新的行為,這是為缺少有用函數的類進行擴展的途徑。擴展函數的用途就類似于在 Java 中實現的靜態工具方法。而在 kotlin 中使用擴展函數的一個優勢就是我們不需要在調用方法的時候把整個對象當作參數傳入,擴展函數表現得就像是屬于這個類本身的一樣,可以使用 this 關鍵字并直接調用其所有 public 方法 擴展函數并不允許你打破它的封

1018瀏覽
0推薦
0評論

kotlin入門中文教程(1) 首發

本文已收錄至學習筆記大全:JavaKotlinAndroidGuide 作者:leavesC [TOC] 一、Hello World 按照國際慣例,學習一門新的語言通常都是從 Hello World 開始的,在這里也不例外 package main fun main(args: Array<String>) { println("Hello World") } 從這個簡單的函數就可以列出 kotlin 和 Java 的幾點不同 函數可以定義在文件的最外層,不需要把它放在類中 用關鍵字 fun 來聲明一個函數 參數類型寫在變量名之后,這有助于在類型自動推導時省略類型聲明 數組就是類。

854瀏覽
0推薦
0評論

用于在無網絡環境下傳輸文件的開源庫 首發

在 2018年2月份 的時候,我先后發布了兩個可用于在無網絡環境下傳輸文件的開源庫,支持兩臺 Android 設備通過 Wiif 熱點或者 Wifi Direct 的方式進行點對點連接,兩端通過 Socket 的方式來傳輸文件。而隨著現在 Android 系統版本的升級,當時寫的項目也出現了一些不兼容的地方,因此這兩天我也修復了幾個 bug,優化了傳輸文件的流程,希望對你有所幫助 WifiP2P:https://github.com/leavesC/WifiP2P WifiFileTransfer:https://github.com/leavesC/WifiFileTransfer 這里也再分

1011瀏覽
0推薦
0評論

Flutter 實戰 - 用貝塞爾曲線畫一個帶文本的波浪球 Widget 首發

Flutter 實戰 - 用貝塞爾曲線畫一個帶文本的波浪球 Widget flutter 中的自定義 Widget 算作是 flutter 體系中比較高階的知識點之一了,相當于原生開發中的自定義 View,以我個人的感受來說,自定義 widget 的難度要低于自定義 View,不過由于當前 flutter 的開源庫還不算多豐富,所以有些效果還是需要開發者自己動手來實現,而本篇文章就來介紹如何用 flutter 來實現一個帶文本的波浪球 Widget,實現的的效果如下所示: 源代碼點擊這里下載:https://github.com/leavesC/flu

923瀏覽
0推薦
0評論

一個包含了多個 Demo 示例的 flutter 項目 原創

flutter_do Basic Flutter apps, for flutter devs. 一個幫助開發者加深了解 Flutter 的項目,提供了 N 多個常用 Widget 和自定義 Widget 的使用及實現方法,涵蓋了系統 Widget 、布局容器、動畫、高階功能、自定義 Widget 等內容,即包含如下幾個大分類: widget container animation fun customWidget 項目主頁:flutter do 點擊下載 apk 體驗:flutter_do 或者掃碼下載: 正在密集更新中……

1087瀏覽
0推薦
0評論

Android Service使用詳解 原創

Service是Android系統中的四大組件之一,主要有兩個應用場景:后臺運行和跨進程訪問。Service可以在后臺執行長時間運行操作而不提供用戶界面,除非系統必須回收內存資源,否則系統不會停止或銷毀服務。服務可由其他應用組件啟動,而且即使用戶切換到其他應用,服務仍將在后臺繼續運行。 此外,組件可以綁定到服務,以與之進行交互,甚至是執行進程間通信 (IPC) 需要注意的是,Service是在主線程里執行操作的,可能會因為執行耗時操作而導致ANR 一、基礎知識 Service可以分為以下三種形式:

918瀏覽
0推薦
0評論
首頁上一頁12345下一頁尾頁
意見反饋 幫助中心 APP下載
官方微信
lpl竞猜