原创 自定義View二篇,如何自定義一個規範的ViewGroup

前言 在自定義View開篇,必須跨過的一道坎兒 中,我們介紹了自定義View的幾種方式,以及如何實現一個規範的自定義View,上文中也說了,實現一個規範的自定義ViewGroup是一件比較困難的事情,因爲要考慮的情況包含 本身的paddi

原创 字符串匹配算法從indexOf函數講起

前言 相信每個學習過Java的人都使用過indexOf函數,indexOf函數我們可以查找一個字符串(模式串)是否在另一個字符串(主串)出現過,返回結果表示出現位置的下標,如果返回-1,表示模式串在主串中不存在,那麼,你可曾想過這些查找函

原创 自定義View開篇,必須跨過的一道坎兒

前言 對於許多Android開發者而言,無論工作的方向是什麼,自定義View是不得不跨過去的一道坎兒,相信很多夥伴有這樣的感受,關於自定義View的知識都看的明白,甚至滾瓜爛熟,但是遇到自定義View實戰的時候,還是感覺無從下手,其實想學

原创 Android Gradle 多渠道打包

前言  什麼是多渠道打包以及多渠道打包可以做什麼,這裏就不做介紹了,相信看到這篇文章的你已經瞭解了,多渠道打包的方式比較多,這裏我們用Gradle多渠道打包方式。 和其他文章有什麼不同 網上看到的大多數文章都只講解了 1.如何修改包名 2

原创 Android自定義View之繪製圓形頭像功能

這篇文章主要介紹了Android自定義View之繪製圓形頭像功能,本文給大家介紹的非常詳細,具有一定的參考借鑑價值,需要的朋友可以參考下 前言 做APP應用開發的時候,用戶頭像肯定是必不可少的,但是90%以上的需求

原创 Android自定義View之繪製圓形頭像

前言 做APP應用開發的時候,用戶頭像肯定是必不可少的,但是90%以上的需求頭像都是圓形的。那麼,如何通過自定義View的方式實現圓形頭像呢,那麼,本片博文會告訴你不僅僅是實現過程。一定會有意想不到的收穫哦! 最終效果 國際慣例,我們先來

原创 Android 實現懸浮窗功能

這篇文章主要介紹了Android 實現懸浮窗功能,非常不錯,具有一定的參考借鑑價值,需要的朋友可以參考下 前言 我們大多數在兩種情況下可以看到懸浮窗,一個是視頻通話時的懸浮窗,另一個是360衛士的懸浮球,實現此功能

原创 Android 懸浮窗功能的實現

前言 我們大多數在兩種情況下可以看到懸浮窗,一個是視頻通話時的懸浮窗,另一個是360衛士的懸浮球,實現此功能的方式比較多,這裏以視頻通話懸浮窗中的需求爲例。編碼實現使用Kotlin。Java版本留言郵箱即可。 業務場景 以微信視頻通話爲例

原创 Android 在應用圖標上設置未讀消息數量

* 針對國內支持的Launcher分別開發,支持爲: * ** 常見機型及是否支持 * *** 華爲 支持 * 小米 支持 * OPPO 可以支持但需要申請 * VIVO 不支持 * SAMSUNG 支持 * MEIZU 不支持 * g

原创 Android Hook告訴你 如何啓動未註冊的Activity

前言 Android Hook 插件化其實已經不是什麼新鮮的技術了,不知你有沒有想過,支付寶中那麼多小軟件:淘票票 ,火車票等軟件,難道是支付寶這個軟件自己編寫的嗎?那不得寫個十年,軟件達到幾十G,但是並沒有,玩遊戲時那麼多的皮膚包肯定時

原创 讓JNI告訴你 你的應用爲什麼被卸載

前言 Android Jni開發相信多數Android開發者都有所瞭解,但是網上很多教程分爲兩種,一種是告訴你如何配置NDK環境變量,建個helloWorld的Demo,另一種就是太過於高端,C語言一大片,雲裏霧裏,雖然很多公司開發都會有

原创 APP啓動流程解析

前言 當我們點擊手機屏幕上的軟件圖標時,就可以打開這個軟件,看似很簡單的過程其實包含了許多的底層交互,看了還不明白,歡迎來打我。 一 . 啓動流程簡介 首先要知道的是,手機屏幕其實就是一個Activity,我們專業點將其稱爲Launche

原创 最詳細的Java反射詳解

前言   相信很多人都知道反射可以說是Java中最強大的技術了,它可以做的事情太多太多,很多優秀的開源框架都是通過反射完成的,比如最初的很多註解框架,後來因爲java反射影響性能,所以被運行時註解APT替代了,java反射有個開源框架jO

原创 數據結構開篇-做一個有思想的程序員

前言 按照原計劃,今天開始數據結構專欄的博文,數據結構系列博文是我在學習數據結構時總結所得的。不知道是否有人和當初的一樣,出去面試的時候,不管面試的什麼崗位,尤其是在bat,特別喜歡問一些數據結構或者操作系統方面的知識,可能你所在職位的技

原创 深入理解Android消息機制

前言    Android的消息機制主要說的是Handler的運行機制,相信大家對Handler已經非常熟悉了,Handler可以輕鬆的將一個任務切換到Handler所在的線程中去執行。最熟悉的就是我們只能在UI線程中更新UI,所以我們經