原创 使用AsyncTask實現圖片加載進度監聽

AsyncTask可以用來處理一些後臺較耗時的任務,查看源碼發現其內部就是一個Handler和線程池的封裝,因此可以幫助我們處理耗時任務的同時去更新UI。 本次內容就利用了AsyncTask去實現完成了一個簡單的對圖片加載進度監聽的Dem

原创 Android交互實現——圖片共享元素轉場及手勢拖動返回

最近需要在Android上實現一個iOS上很常見的交互效果,在界面的轉場之間共享圖片,比較常見的場景就是當需要在一個列表中查看某個圖片大圖的時候,列表頁和詳情頁之間圖片的移動共享,彷彿兩個界面中的圖片都是共享同一張,同時圖片詳情頁面支持手

原创 Android動效實現——底部向上彈出滑動式彈幕

 最近新需求有一個熱評列表需要做成輪流從屏幕底部向上彈出的動畫效果,看了效果圖第一時間就想到了彈幕實現,但是思考一番後又否定了這個想法,首先這個熱評列表不像彈幕需要實時獲取播放,第二屏幕上展示的評論條數有限,固定最多就幾條,再有新的彈出就

原创 Kotlin與Java互操作要注意的問題

個人使用Kotlin開發也有一年了,一直想總結一下Kotlin和Java互相操作要注意的問題,偶然看到一篇總結不錯的文章就直接搬運過來了。 前言 目前kotlin是谷歌首推的開發Android的語言,但由於歷史原因,我們絕大部分項目依舊還

原创 WebView適配問題彙總(持續更新)

1、網頁圖片寬高過大 有些時候,我們用WebView加載的網頁沒有對移動端進行適配,導致網頁中的圖片超出屏幕大小,影響顯示效果,這時我們就需要對WebView進行設置使網頁中的圖片大小適配移動端。 通過js腳本,重置img標籤中圖片的寬度

原创 Android與JS通信

Android調用Js loadUrl() 通過WebView的loadUrl()方法調用Js方法。 mWebView.loadUrl("javascript:callJsDefault()"); //在android調用js有參的

原创 Android WebVIew緩存機制詳解

前言 由於H5具備 開發週期短、靈活性好 的特點,所以現在Android App大多嵌入了Android Webview組件進行Hybrid開發 但我知道你一定在煩惱Android Webview的性能問題,特別突出的是:加載速度慢 &

原创 Glide實現圖片預加載,提前緩存

當下很多App都有開屏廣告,App打開的同時廣告圖片立馬就顯示出來了,可能有些人就有疑問了”這些廣告圖片是在應用打包的時候一起打包進去的嗎?不然要是通過網絡現加載的話怎麼可能這麼快,現在5G又沒普及,而且在沒網或者網絡不好的情況下也沒有影

原创 Android利用數據庫實現頁面搜索記錄

前言 數據庫作爲軟件開發過程中必不可少的一門語言,一直深受廣大後端程序員的關注和喜愛,作爲移動開發來講,雖然有着更多的其他存儲方式可以使用,但是其也是並不可少的存在,特別是在某些特殊的應用場景下,因此掌握數據庫的使用在移動開發也格外重要。

原创 App網絡請求接口緩存

本次博文並不貼具體實現代碼,只講方案和流程,因爲涉及的SQL、SP查詢和文件緩存都是一些基本操作,只是額外結合了一點Http協議的東西,具體還請結合自身項目框架實現。 爲了提高App的網絡請求響應速度和減輕服務器的請求壓力,比如某些接口的

原创 OKHTTP利用攔截器打印網絡請求、響應日誌信息

OKhttp的攔截器有很多用處,今天分享一個利用它實現對請求響應信息的一個日誌信息打印的封裝。 效果圖 public class MyInterceptor implements Interceptor { @Override

原创 Kotlin協程學習指南

Kotlin自2016年發佈1.0版本發展到現在的1.3版本也已經有三年了,其中更是在2017年被Google認定支持爲Android官方開發語言,相信絕大多數Android開發者都曾關注過kotlin並已使用它,我大概是在1.2版本的時

原创 Git版本管理之修改最近一次提交

修改最近一次提交 改變最近一次提交也許是Git操作中最常見的行爲。有時可能是想修改一下日誌,或者有些文件本應該在這次提交中一起提交、刪除卻忘記了,如果想要修改最近一次提交可以使用amend命令。 $ git commit --amend

原创 解決git push報錯error: failed to push some refs to 的問題

最近自己加的開發交流羣裏有不少問git push遠程倉庫報錯的問題,報錯內容基本都是error: failed to push some refs to‘[email protected]:xxx.git’。看到這裏,又想起當年被git所支配的

原创 當有人問你HandlerThread是什麼時,請這樣告訴他

HandlerThread是什麼? 一個自帶Handler的Thread? 字面意思上這麼理解是沒錯,但是更確切的講是一個內含有Looper的Thread,這點從HandlerThread的源碼註釋就可以得知。 /** * Handy