原创 搭建IPC通信框架(RPC)

Android進程通訊方式有很多,如Socket、ContentProvider、共享文件(這種方式的缺點是不支持併發寫,同時需要手動操作IO)、AIDL、Messenger(底層實現也是AIDL)等。關於AIDL和Messeng

原创 OverScroller的一些重要方法和屬性

OverScroll與Scroll類類似,都是實現彈性滑動、慣性滑動的輔助類,只不過OverScroll出現的比較晚,功能更全面一些,可以實現邊界回彈等。 之所以說它是一個輔助類,是因爲它本身並不能移動View,真正移動View的

原创 關於手動添加RecyclerView列表項導致Item裏的EditText數據混亂的問題

如果沒有手動添加Item這個功能,比較好處理一些,最簡單的方法禁止複用holder.setIsRecyclable(false);,但如果有手動添加Item,或者要監聽EditText的addTextChangedListener

原创 sourceinsight安裝、查看android源碼

下載安裝破解版 https://pan.baidu.com/s/1-OdZf2gmkUn7_P2loLabXg 提取密碼:fy3s 安裝sourceinsight_4.0.86.0-setup.exe 用sourceinsigh

原创 Android知識點總結(五)進程間通信之Binder連接池

Android知識點總結(四)進程間通信 上一篇文章記錄了Messenger及AIDL的使用。其中AIDL的使用是最廣泛的,其大致流程: 首先創建一個Service和一個AIDL接口 接着創建一個類繼承自AIDL接口中的Stub類並

原创 Android知識點總結(四)進程間通信

進程間通訊方式 Android進程通訊方式有很多,如Socket、ContentProvider、共享文件(這種方式的缺點是不支持併發寫,同時需要手動操作IO)、AIDL、Messenger(底層實現也是AIDL)等。 Messeng

原创 從零開始手寫一個組件化demo

根據上篇Android組件化學習文章,編寫一個組件化demo,github地址https://github.com/chaoyangsun/MyComponentDemo。項目結構如下: APP:主module Login:登錄組

原创 Java函數式編程四

Java函數式編程三 並行和併發 併發和並行是兩個不同的概念,它們的作用也不一樣。併發是兩個任務共享時間段,並行則是兩個任務在同一時間發生,比如運行在多核 CPU 上。如果一個程序要運行兩個任務,並且只有一個 CPU 給它們分配了不同

原创 Java函數式編程二

Java函數式編程一 函數式開發旨在幫助程序員寫出更好的代碼,如Java8新引入的流(Stream)使程序員得以站在更高的抽象層次對集合進行操作!Stream 是用函數式編程方式在集合類上進行復雜操作的工具。 傳統循環操作有很多弊端如

原创 Java函數式編程三

Java函數式編程二 方法引用 Lambda 表達式有一個常見的用法:Lambda 表達式經常調用參數,如: student -> student.getName() java8提供了一個簡寫語法,叫做方法引用,用方法引用重寫上面的

原创 Java函數式編程

簡介 Java8之前面對大型數據集合,Java 還欠缺高效的並行操作,爲了編寫 這類處理批量數據的並行類庫庫,同時也是爲了更好的支持函數式編程,在語言層面上修改了現有的 Java:增加 Lambda 表達式。 Lambda Lambd

原创 Gradle相關知識總結

Gradle簡介 Gradle,是一個基於 JVM 的富有突破性構建工具,基於 groovy,其 build 腳本使用 groovy dsl 編寫! 任何一個 Gradle 構建都是由一個或多個 project組成。每個 projec

原创 Java深入解析筆記一

關鍵字與標識符 goto、const、true、false、null goto是Java裏的保留字(不使用的關鍵字),在java裏使用標籤實現跳轉: public class Test1{ public static void

原创 AndroidStudio出現的問題總結

1、AndroidStudio出現Read Timed out 去項目外層的build.gradle中 repositories添加 mavenCentral() maven { url 'https://maven.google.c

原创 Android的Drawable

Android開發藝術探索讀書筆記系列 Drawable是一個抽象類,它有衆多子類如ShapeDrawable BitmapDrawable等. 它有一個重要的參數是內部寬高,通過getIntrinsicWidth和getIntrinsi