原创 Android 23種設計模式全面解析

一、設計模式的分類 總體來說設計模式分爲三大類: 創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。 結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。 行爲型模式

原创 Android 中 Parcelable和Serializable的區別

本文主要介紹Parcelable和Serializable的作用、效率、區別及選擇。 1、作用 Serializable的作用是爲了保存對象的屬性到本地文件、數據庫、網絡流、rmi以方 便數據傳輸,當然這種傳輸可以是程序內的也可以是兩個程

原创 Android Flutter 混合開發高仿大廠App

這篇文章將概述 Android組件化的架構搭建 及 Flutter 和 Android 如何混合開發 (整個App只有首頁是用原生Android完成,其他頁面都是引入之前的做好的Flutter頁面) ,主宿主程序由 Android 搭建,

原创 面試官:聽說你做過自動化埋點,那麼我們聊聊view的曝光監控吧。

去年面試餓了麼的時候吧,被問到了個技術問題。 面試官:聽說你做過自動化埋點,那麼我們聊聊view的曝光監控吧。 我:之前我是把我們廣告的曝光監控放在廣告的模型層,然後在bindview的時候做一次曝光的,然後內部做了一次曝光防抖動,避

原创 DataBinding從基本使用到核心源碼解析,看不懂的兄弟跟我一起去擺攤

DataBinding是谷歌發佈的jetpack庫裏的重要一員,通過使用DataBinding來實現MVVM架構,可以有效避免了MVP架構裏新建文件過多的繁雜問題,並且每次數據源更新時不再需要開發人員來調用控件的set方法更新數據了,同時

原创 Jetpack 之 LiveData 源碼分析

LiveData LiveData 是一個可以感知 LifecycleOwner 生命週期的可被觀察的數據容器。 接下來,我們從 3 個角度來分析 LiveData 。 數據容器; 可被觀察; 感知生命週期 數據容器 LiveDat

原创 阿里架構師最新 Android 面試點梳理,我收藏了你呢?

目錄: 網絡:分層模型、TCP、UDP、HTTP、HTTPS 算法:數據結構、常用算法 Java 基礎:StringBuilder、泛型擦除、Exception、IO、容器 Java 同步:volatile、wait、synchroniz

原创 終於明白了Handler怎麼線程間通信的

一直對handler似懂非懂,這次看了別的文章加上自己的理解,終於明白Handler到底是如何實現線程間的通信了.大家共同探討研究. 首先得明白,一個線程只有一個Looper和MessageQueue.調用本線程的Handler只能發送M

原创 Android程序員是如何使用 Kotlin 連接 MQTT的?

MQTT 是一種輕量級的、靈活的物聯網消息交換和數據傳遞協議,致力於爲 IoT 開發人員實現靈活性與硬件/網絡資源的平衡。 Kotlin 是一門由 JetBrains 公司開發的編程語言,Kotlin 是基於 JVM 的,所以開發者可以很

原创 動作編輯器實時佈局,佈局實時驗證,Kotlin 實時模板,構建數據實時分析,AndroidStudio 4值得更新

2020年5月28日,Android Studio 發佈了4.0,其中的一些亮點包括: 新的動作編輯器,可真正實現拖拽式編程; 構建分析器,可分析出是什麼原因導致了應用構建變得緩慢; Java 8語言的API,無論APP的最低API級別

原创 Android開發之熱修復

一、前言   任何程序都無法保證上線後不會出現緊急bug,選擇的修復方式不同,其代價也大不相同。所謂熱修復,是相對於正常的版本迭代修復而言的,它可以及時在應用內下載補丁更新程序邏輯,修復bug;而不需要等到下一個版本發佈。舉個簡單的例子,

原创 爲什麼爲數不多的人知道的 Kotlin 技巧以及 原理解析呢?

Google 引入 Kotlin 的目的就是爲了讓 Android 開發更加方便,自從官宣 Kotlin 成爲了 Android 開發的首選語言之後,已經有越來越多的人開始使用 Kotlin。 結合着 Kotlin 的高級函數的特性可以讓

原创 看Android架構師如何帶你,巧用ViewBinding+Kotlin擴展函數替換自定義View!

公司剛來了一個小夥伴,名叫小白,剛畢業的小夥子,這天茶餘飯後,聊天聊起了代碼複用的問題。確實,代碼複用,可以說是我們每一個有理想的程序員的追求。於是想借機考考他。 我:說到代碼複用,那!Android開發中,佈局該如何複用呢? 比如,像下

原创 Android工程師社招面經,最終斬獲(百度)offer

前言 在阿里快工作一年後,想出來參加社會招聘,一是看看自己的水平到底如何,二也是對現狀有些不太滿意,想出來看看新的機會。 下面是百度的面試經歷(部門:手機百度),百度一共三面,一面二面主要是技術面試,三面主要是大boss面。   2020

原创 Android中的View(控件)樹結構

有個小夥伴面試時碰到了一個問題:不給Activity的根視圖添加id,怎麼獲取到這個View? 沒聽明白這個問題不要緊,我再給大家解釋一下 Activity的佈局文件如下 <?xml version="1.0" encoding="