原创 用Rxjava來實現RxBus

前言   Android開發中,我們使用MVP模式開發的時候,涉及到Model層和Presenter層的通信的時候,我們一般都需要使用Handler 來實現,因爲Model層我們一般處理具體的業務邏輯,不可避免的需要進行進行網絡請求,由於A

原创 Android中實現跨進程通信(IPC)的幾種方式(二)

Android中實現跨進程通信(IPC)的幾種方式(二)     在上一篇文章中介紹了什麼是多進程,爲什麼需要多進程,多進程的優缺點等。這篇我們將會使用AIDL來實現跨進程通信。 1.什麼是AIDL     AIDL全稱是Android接口

原创 Android中實現跨進程通信(IPC)的方式(三)之觀察者模式

Android中實現跨進程通信(IPC)的方式(三)之觀察者模式 前言     在Android中實現跨進程通信(IPC)的幾種方式(一)中介紹了什麼是多進程,爲什麼需要多進程,多進程的優缺點等。這篇我們將會使用AIDL來實現跨進程通信 在

原创 TCP協議的三次握手和四次揮手

  TCP(傳輸控制協議)是一種面向連接,確保數據在端到端之間可靠傳輸的協議,面向連接指的是在發送數據前,需要先建立一條虛擬的鏈路,然後讓數據在這條鏈路上傳輸,爲了確保數據的可靠傳輸,不僅需要對發出的每個字節進行編號確認,檢驗每一個數據包的

原创 Rxjava 2學習筆記(一)

  Rxjava 在這些年在android開發中非常的火爆,它和Retrofit 的結合堪稱完美,他們可以把我們從以前我們進行網絡請求中各種線程切換,各種接口回掉中解放出來了。可以讓我們的邏輯變的非常清晰,便於代碼維護。我們公司的項目目前使

原创 Http請求中常用請求頭字段講解

前言   在Android開發中我們需要時時的與服務器進行數據交換。但是我們都是使用的java或者Android或者第三方提供的Http請求框架來進行Http請求,基本不關心我們向服務器發起請求的Http請求頭中的字段到底是什麼意思。

原创 深入理解Android中的消息機制,理解Hander MessageQueue Looper三者之間的關係

前言   Handler在Android開發中經常使用,比我我們在子線程中完成從服務端獲取數據,因爲Android系統是不允許我們在非主線程中去訪問UI,這個時候我們需要用Handler把更新UI的操作切換到主線程中去操作。這裏有一個誤區就

原创 解決retrofit2.adapter.rxjava.HttpException: HTTP 400 錯誤

解決retrofit2.adapter.rxjava.HttpException: HTTP 400 錯誤 前言   最近項目中遇到一件怪事,在get請求中發現沒有數據,在debug時候發現居然爆了一個retrofit2.adapter.r

原创 關於Java多線程編程學習筆記之volatile

Java內存模型   java中的堆內存是用來存儲實例化的對象,它在虛擬機啓動的時候創建,在Java虛擬機規範中規定堆內存是所有對象實例以及數組都在堆內存中進行分配內存。堆內存是被所有的線程共享的內存區域,因此存在內存可見性的問題,但是局部

原创 ThreadLocal使用分析

前言   ThreadLocal從名字上直譯爲本地線程,看上去像是線程的一種子類,如果你這樣理解說明你理解錯了。   在上一篇深入理解Android中的消息機制,理解Hander MessageQueue Looper三者之間的關係中提到了