原创 Gradle之Project,Task

gradle基本概念 百度百科:Gradle是一個基於Apache Ant和Apache Maven概念的項目自動化構建開源工具。它使用一種基於Groovy的特定領域語言(DSL)來聲明項目設置,目前也增加了基於Kotlin語言的

原创 Android Jetpack之Navigation

1 前言 Android Jetpack 的導航組件Navigation可以很方便的管理fragment/activity的導航。 注意:如果您要在 Android Studio 中使用 Navigation 組件,則必須使用

原创 Jetpack之自定義Navigation輕鬆實現路由導航

之前的一篇文章Android Jetpack之Navigation對Navigation的使用進行了練習,並且看了一下Navigation的源碼。雖然Navigation的功能很強大,不過在xml中配置感覺還是不夠靈活,隨着項目的

原创 JetPack之使用CameraX完成拍照和拍視頻

前段時間CameraX的Beta版發佈了,這幾天有時間也來嘗試一下。Beta版本是對外測試版本,意味着它已經走出實驗室走向生產,API的調用基本穩定不會大改了,bug也會更少可以用於生成環境。 之前使用Camera1和Camera

原创 Android自動化測試入門(四)單元測試

單元測試一般分兩類: 本地測試:運行在本地的計算機上,這些測試編譯之後可以直接運行在本地的Java虛擬機上(JVM)。可以最大限度的縮短執行的時間。如果測試中用到了Android框架中的對象,那麼谷歌推薦使用Robolectri

原创 Flutter 動畫

Flutter動畫中用到的基本概念 Flutter動畫中有4個比較重要的角色:Animation、Controller、Curve、Tween,先來了解一下這四個角色 1.1 Animation Animation是Flutter

原创 shell語法練習

變量的定義和使用 編寫shell腳本,第一行是#!/bin/bash代表是個shell腳本 輸入參數: 形式 說明 $0 當前程序的名稱 $n 程序的輸入參數n=1 第一個參數n2 第二個參數1…n $* 所

原创 Jetpack之自定義Navigation

之前的一篇文章Android Jetpack之Navigation對Navigation的使用進行了練習,並且看了一下Navigation的源碼。雖然Navigation的功能很強大,不過在xml中配置感覺還是不夠靈活,隨着項目的

原创 Android自動化測試入門(一)Monkey和MonkeyRunner

測試是應用開發中不可或缺的一部分。測試所做的工作,雖然不能讓用戶看到效果,但是想要保證一個有一定用戶基礎的應用的穩定性,測試是必須做的,否則嚴重的崩潰率肯定會導致用戶的差評或者流失。 ADB工具使用 ADB的使用Android開發

原创 Android自動化測試入門(三)Espresso

Espresso是谷歌力推的一個UI自動化測試框架,新建一個Andrdoid工程的時候默認就引入了Espresso的核心依賴,所以作爲Android開發者,非常有必要學習這個框架。 之前使用UI Automator的時候,我們經常

原创 Android自動化測試入門(二)UI Automator

UI Automator是一個界面測試框架,支持跨進程,幾乎可以模擬所有的人工操作。需要運行在4.3或者更高的系統版本上。它的測試代碼的編寫不依賴於目標應用的內部實現細節,非常適用編寫黑盒自動化測試。 官方文檔 UI Automa

原创 Android Jetpack之Paging

Jetpack中的Paging組件可以輕鬆的給RecyclerView增加分頁加載的功能,通過預加載實現無限滑動的效果。 先說一下這無限滑動效果,項目中的分頁加載一般分兩大種情況: 一種是滑到底部上拉鬆手後加載或者滑到底部後自動

原创 Gradle之Groovy

作爲一名Android開發者,每天使用AndroidStudio,對於項目中build.gradle文件肯定不陌生,裏面有各種各樣的配置。對於一些常用的配置我們肯定爛熟於心,不過有時候去看一些大廠的代碼的時候,經常會發現他們的項目

原创 APP瘦身優化

1 爲什麼要瘦身優化 1.1 瘦身優化的好處 提高下載轉化率 大型APP都有Lite版本 渠道合作商要求,降低推廣成本 應用市場比如 Google Play 要求超過 100MB 的應用只能使用APK 擴展文件方式上傳,由此可見

原创 Gradle之自定義插件

前面兩篇瞭解了Gradle的基礎知識,最終目的就是爲了自己能寫出Gradle插件來解決現實項目中的問題。現在Gradle自定義插件用的越來越廣泛,插件化,熱修復,性能優化,指標檢測,多渠道打包等等都會用到Gradle插件。 自定義