原创 實現retrofit Post緩存攔截器

—我是華麗的分割線------- 昨晚合代碼合太晚了 耽誤了,今天繼續。 今天就聊聊retrofit 中使用自定義的緩存攔截器來實現POST的緩存策略吧。 帶着這幾個疑問吧: 1.retrofit 不是可以直接使用緩存攔截器嗎?爲

原创 深入理解Java泛型的用法 征服Java面試

Java泛型 相信看到這篇文章的人都是來爲面試做準備的,這篇文章就帶你徹底征服面試官對Java泛型的考察。 我們首先帶着幾個問題去了解。 一.泛型是什麼,你爲什麼要使用泛型 1.泛型是java中的一種形式參數,可以理解爲Java的

原创 合併兩個有序鏈表

將兩個有序鏈表合併爲一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 實現: 這裏我們用遞歸去實現 如果 l1 或者

原创 判斷鏈表是否有環

1.解題思路 判斷一個鏈表是否存在環行結構,一般看這個題目就會想到暴力解法,從頭遍歷到尾,看頭是否與尾相等。但面試官肯定不會想要這種答案的。這種暴力解法也是存在bug的,如果鏈表尾部是和鏈表中間某個元素形成環,這種暴力解法就判斷不

原创 刪除鏈表的節點。

1.題目: 請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 示例 1: 輸入: head = [4,5,1,9], node = 5 輸出: [4,1,9] 解釋: 給定你鏈表中值爲 5

原创 retrofit okHttp攔截器執行順序

配置retrofit的時候爲OkHttpClient通過addInterceptor()配置攔截器 攔截器的執行順序是根據添加順序來執行,誰先添加,先執行哪個攔截器 .addInterceptor(new BaseIntercepto

原创 動態註冊監聽網絡狀態改變廣播,首次註冊就接受到廣播

今天遇到一個很奇怪的現象,記錄一下~~ 我動態註冊了一個網絡狀態改變的廣播,然後註冊完就接受到網絡狀態改變的廣播,而我的手機實際上是沒有網絡狀態變化的。 private val mNetWorkChangeReceiver = Ne

原创 android ZxingCode根據Url 生成二維碼

生成二維碼 ZXingUtils.java package com.hp.supermath.utils; import android.content.Context; import android.graphics.Bitmap

原创 android名企面試題總結及解析

1.下面異常是屬於Runtime Exception 的是(abcd)(多選) A、ArithmeticException   B、IllegalArgumentException   C、NullPointerException  

原创 android 一張圖片實現 ImageView 實現 點擊效果 圖片明度變化

一般實現點擊效果我們都是使用drawable下的selector來實現,這樣UI會給我們兩張圖,一張normal的,一張press的,我們實現起來很簡單。但這樣增加了我們編譯出來的Apk體積,一張圖可以實現的效果,用兩張圖。UI在做按

原创 kotlin 線程管理工具類 ThreadPoolManager

線程工具類 /** * Created on 2019/1/3 * @author lyj * Function */ class ThreadPoolManager { companion object {

原创 android 設置全屏,導航欄透明

在onCreate()中 setContentView之後 if (Build.VERSION.SDK_INT >= 21) { val decorView = window.decorView

原创 新建GIt倉庫,關聯服務器地址。

1.設置用戶名和郵箱 git config --global user.email "[email protected]" git config --global user.name “Your Name” 查看用戶名和郵箱 git co

原创 關於room的那些事

Room是一個數據持久化庫,它是 Architecture Component的一部分。封裝了sqlite。它讓SQLiteDatabase的使用變得簡單,大大減少了重複的代碼,並且把SQL查詢的檢查放在了編譯時。 先介紹下基本的使用

原创 setResult(int resultCode, Intent data)與finish的關係

記錄下坑 setResult(int resultCode, Intent data)方法需要在finish之前調用。在onActivityResult方法才能接受到resultCode。 如果在finish中調用setResult(