原创 數據結構特性解析 (三) 鏈表

前言 鏈表是一種比較簡單的數據結構,你可以在編程環境下輕鬆寫出一個鏈表,甚至生活中也有很多鏈表的提現,比如鐵鏈,文章底部的下一篇上一篇都可以稱作鏈表數據結構 描述 鏈表像鐵鏈一樣,一個鏈節點連着另一個或另兩個節點. 在計算機中,一般是每一

原创 超級封裝RecyclerView的適配器Adapter 只需二三十行代碼

前言 android開發中,RecyclerView是很常用的控件,而且功能也很強大,並且各種三方封裝或者擴展庫也是非常多,如:BaseQuickAdapter,XRecyclerview,當然還有我以前封裝的LtRecyclerView

原创 選擇手機號前綴控件

前言 前幾天做了個選擇控件,雖然挺簡單的,但是就想給封裝一下,封裝完之後發現靈活性不高,牽扯資源比較多,於是就單拎出來,重新封裝了下,靈活性大大提高,雖然很簡單(源碼就二百行,再加上一些xml文件和資源) Github地址:https:/

原创 寫一個測試工具類,只在debug時運行,而release時自動移除代碼,適用於gradle項目(idea,android studio等)

前言 平時開發有很多測試期間需要寫的代碼(比如日誌),如何不讓其在正式環境下運行呢?或者不讓其在正式環境下存在(防止反編譯查到重要信息) 實現方法 1.通過混淆 工具類示例: 這是一個打印當前堆棧信息的方法,可以用來跟蹤調用棧,測試環境下

原创 從0到1模仿Retrofit封裝網絡請求

前言 想封裝一套網絡請求,不想直接上來就用別人寫好的,或者說對項目可以更好的掌控,所以自己模仿着Retrofit來寫一套. 想要有如下實現: 快捷的網絡請求調用 聲明式的定義網絡請求函數 可以很靈活的變更網絡請求的方式(http,http

原创 數據結構特性解析 (一) 數組

前言 數組是java中最基本的數據結構,有很多更高級的數據接口實現方式都是使用的數組,所以瞭解數組是很重要的 描述 數組是一個對象,內部有一塊連續的內存,自身只佔用很小的內存,其他位置都是根據長度和類型而分配的值對象或者引用值對象 特點

原创 查看ndk崩潰

前言 有一個項目,n多地方使用了ndk,但是之前沒怎麼搞過,遇到了幾次崩潰,卻無從下手,在百度上搜了良久,要麼是重複的,要麼是過時的,要麼講的不清楚自己試了不管用,於是科學搜索了下,並記錄下來,怕自己再找不到了 正文 首先把ndk更新到最

原创 安卓UI圖分離器(支持ios@2x3x圖轉成安卓xhdpi,xxhdpi圖,最新支持拖入並自動解壓.zip圖片壓縮包)

如果UI是個ios粉的話,可能給的切圖可能只會給ios分類,而不會給安卓分類,這樣安卓用圖片資源的話就苦逼了,,,如下圖... 人生苦啊... 思來想去,這種搬磚的活應該交給程序來做,於是花了點時間寫了個小軟件,爲廣大被坑的安卓開發者做

原创 手動實現kt(java)同步工作流和異步工作流

前言 項目開發中可能會出現需要多個同步任務串行執行,或者多個異步任務都執行完畢再執行下一步的 其實如果用kotlin的協程的話,可以很方便的完成,但如果不想用kt寫或者引入協程庫的話,就可以用下面兩個工具類 正文 同步串行執行任務,使用鏈

原创 Android Q適配

Android Q Beta出來了,看着隱藏的需要適配的坑還是挺多的,先佔個坑吧,下文是轉載的需要注意的坑的列表: https://mp.weixin.qq.com/s/eTJXAWLjGkSQ9kGTCJdzHA 下面是適配需要注意的地

原创 Android Studio 點擊運行總是debug

今天遇見個奇葩問題,Android studio一點擊運行程序按鈕,就會安裝並進入debug模式,還巨卡 後來發現,先把手機的開發者模式,關了再打開就行了,服了 在在後來發現,原來是開發者選項的等待調試打開了,關閉掉就行了      

原创 安卓三方登錄趟坑,QQ,微信,微博,Twitter,Facebook,Instagram

前言 最近給app加入三方登錄,由於比較多,所以就用的友盟統一登錄,會比一個一個配置方便點 正文 先說QQ,微信,微博: 國內QQ,微信,微博三方登錄其實還行,並沒有太多坑,文檔也挺完善的. 但是需要注意的就是你後臺配置的簽名和當前的簽名

原创 三方庫報錯真的就沒有辦法了嗎?

前言 項目最近適配了安卓10,而安卓10廢棄了某些api,導致調用後就報錯,比如: val var5: TelephonyManager = getSystemService("phone") as TelephonyManager v

原创 數據結構特性解析 (二) ArrayList

前言 ArrayList可能是Java中使用次數最多的數據結構了,因此瞭解其特性能比較重要 描述 ArrayList是一個數組隊列,相當於動態數組.與Java中的數組相比,它的容量能動態增長. 並且ArrayList還有一些添加,遍歷和移

原创 安卓修改動畫效果--動畫差值器TimeInterpolator

前一段時間讓實現一個類似彈幕的效果,從右到左飄過去,時間八秒,嗯,很好做,一個動畫就ok了 佈局代碼: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android