原创 一步步封裝實現自己的網絡請求框架 2.0

一、前言在今年的二月份,我在發佈本 Repo:基於 ViewModel + LiveData + Retrofit + RxJava 封裝的網絡請求框架 的同時,也寫了一篇博客介紹了項目特色以及實現思路:ViewModel_Retrofit

原创 Android APT 實例講解

APT(Annotation Processing Tool) 即註解處理器,是一種註解處理工具,用來在編譯期掃描和處理註解,通過註解來生成 Java 文件。即以註解作爲橋樑,通過預先規定好的代碼生成規則來自動生成 Java 文件。此類註解

原创 Dart 入門教程

[TOC]一、開篇dart 語言具有如下特性一切變量皆是對象,每個對象都是類的實例。int、double、函數、 null 等都是對象,所有對象都繼承自 Object 類dart 是強類型語言,但由於具備類型推導功能所以類型聲明是可選的da

原创 SparseArray 源碼解析

使用 Android Studio 作爲 IDE 的開發者可能會遇到一個現象,就是在代碼中如果聲明瞭 Map<Integer, Object> 類型的變量的話,Android Studio 會提示:Use new SparseArray<

原创 我的博客

我的博客即將入駐“雲棲社區”,誠邀技術同仁一同入駐。

原创 RxJava2 入門詳細筆記

一、概述 在 RxJava 中,一個實現了 Observer 接口的對象可以訂閱一個 Observable 類的實例。訂閱者對 Observable 發射的任何數據或數據序列作出響應。這種模式簡化了併發操作,因爲它不需要阻塞等待 Obser

原创 RxJava2 入門詳細筆記(2)

六、過濾操作符 6.1、filter() 通過一定邏輯來過濾被觀察者發送的事件,如果返回 true 則會發送事件,否則不會發送 Observable.just(1, 2, 3, 4).filter(new Predicate

原创 RxJava2 入門詳細筆記(1)

一、概述 在 RxJava 中,一個實現了 Observer 接口的對象可以訂閱一個 Observable 類的實例。訂閱者對 Observable 發射的任何數據或數據序列作出響應。這種模式簡化了併發操作,因爲它不需要阻塞等待 Obser

原创 [開源應用]-一個Android平臺的 IM 應用

這是一個簡單的 IM 應用,寫這個應用的本意只是想練練手,暫且實現了私聊和羣聊功能,後邊再根據用戶反饋情況再來更新吧~ 應用完全是以 MVVM 的思想來實現的,使用的是 Google 的 LiveData + ViewModel 框架,使用

原创 在 Android 設備上搭建 Web 服務器

一般而言,Android 應用在請求數據時都是以 Get 或 Post 等方式向遠程服務器發起請求,那你有沒有想過其實我們也可以在 Android 設備上搭建一個小型 Web 服務器,並且實現常規的下載圖片、下載文件、提交表單等功能呢?

原创 重拾Java(7)-泛型

以下內容是我對 Java 8 編程參考官方教程(第9版) 該書的讀書筆記 一、概述泛型是在 JDK 1.5 引入的,泛型的意思是參數化類型,通過泛型可以創建以類型安全的方法使用各種類型數據的類、接口以及方法,能夠使一份算法獨立於特定的數

原创 Android多線程之IntentService源碼解析

想要了解 IntentService 的工作原理需要先對 Android 系統中以 Handler、Looper、MessageQueue 組成的異步消息處理機制以及 HandlerThread 有所瞭解,如果你還沒有這方面的知識,可以先

原创 Android 解決 View 的滑動衝突

關於 Android 的 TouchEvent 事件分發機制可以看這裏:Java_Android_Learn,本文講解的是如何去解決 View 之間的滑動衝突 當父容器與子 View 都可以滑動時,就會產生滑動衝突。例如 ViewPager

原创 Android多線程之AsyncTask源碼解析

AsyncTask 是一個較爲輕量級的異步任務類,在底層通過封裝 ThreadPool 和 Handler ,實現了線程的複用,後臺任務執行順序的控制、子線程和 UI 線程的切換,使得開發者可以以簡單的方法來執行一些耗時任務 此篇文章就基於

原创 Java集合框架源碼解析之LinkedHashSet

閱讀本節內容需要讀者對 HashMap 、HashSet 和 LinkedHashMap 的源碼有所瞭解,因爲 LinkedHashSet 的內部實現都是來自於這三個容器類,其內部源碼十分簡單,簡單到它只有一個成員變量、四個構造函數、一個