Android學習

概念

Build Variants

AAB(Android App Bundle)Android App Bundle是一種發布格式,它允許Google Play動態地為用戶的設備生成和提供優化的APK。AAB包含了應用的所有代碼和資源,但Google Play會根據用戶的設備配置(如屏幕尺寸、分辨率和語言)來生成和分發最合適的APK。因此,“devAab”可能指的是為開發或測試目的而創建的Android App Bundle版本

APK(Android Package):APK是Android應用的標準發布格式,包含了應用的代碼、資源和必要的元數據。在Android開發中,通常會為不同的環境(如debug和release)創建不同的APK版本?!癲evApk”可能指的是為開發或測試目的而創建的APK版本

devAab

文件格式:AAB(Android App Bundle)是一種新的發布格式

使用場景:AAB文件主要用于在Google Play發布應用。它包含了應用的所有資源和代碼,但不會直接被用戶安裝,而是由Google Play在用戶下載時根據設備的配置動態生成APK

優點:使用AAB可以減少應用的下載和安裝包大小,提高安裝效率

devApk

文件格式:APK(Android Package)是傳統的應用安裝包格式

使用場景:APK文件可以直接安裝到設備上,適合開發階段的測試和分發

優點:APK文件可以方便地分享和安裝,適合于本地測試和非Play Store的分發

總結來說,devAab更適合用于發布和優化用戶體驗,而devApk則更適合于開發和測試階段

ABI

ABI,全稱為Application Binary Interface,即應用程序二進制接口。它定義了應用程序與操作系統之間進行交互的方式和規范,確保不同的軟件組件能夠正確地協同工作。ABI包括了函數調用約定、寄存器的使用、參數傳遞方式、系統調用接口等內容,為軟件開發者提供了一個穩定和一致的編程接口。

不同的硬件平臺和操作系統版本可能支持不同的ABI類型。例如,ARM架構的設備可能支持armeabi-v7a、arm64-v8a等ABI類型,而x86架構的設備則可能支持x86、x86_64等ABI類型

安卓各版本和API級別對應關系

簡書—Android SDK對應API級別以及版本說明

簡書—Android版本和Api對照表

Android各版本及API對應關系,持續更新! - 走看看

定位

來看看Android獲取定位到底有幾種方式? - 掘金

Android手機app三種方法定位地址(自帶API,外接SDK,外網IP)

安卓智能手機gps定位算法在安卓系統下還是在芯片里? - 知乎

安卓和GMS

安卓和GMS 是什么關系?安卓和MIUI、Flyme、EMUI、ColorOS 等系統有什么關聯? - 知乎

UI

繪制流程

一文徹底搞懂Android View的繪制流程

Android中UI的繪制流程- 簡書

Android查看UI布局

簡書—Android查看UI布局相關工具

layout、layout-land、layout-port

一般把UI 布局文件放在layout文件夾下,如果要支持橫屏,就會取同名的layout放在layout-land文件夾下

-res/layout 默認

-res/layout-land 橫屏

-res/layout-port 豎屏

layout-finger, layout-land-finger, finger使用在對手指觸摸支持很好的屏幕( finger-friendly touchscree)

Android視圖高度和陰影

https://juejin.cn/post/6844903465374744589

控件隱藏

使TextView消失的10種方法

Rect和RectF

Rect類和RectF類(記錄用,待編輯) - 簡書

Rect和RectF函數 - LoaderMan - 博客園

Path

Android知識總結——Path常用方法解析- 簡書

Android Path類_假裝你是大灰狼的博客

android中path的arcTo方法的使用 原創

onDraw()和dispatchDraw()

Android 更新視圖函數ondraw() 和dispatchdraw()的區別- 成步堂龍一

自定義系列:視圖繪制

視圖陰影

Paint的setShadowLayer參數說明及使用 原創

Android Paint ShadowLayer 設置陰影效果

TextView自定義字體

Android 設置TextView的字體- 楓未晚- 簡書

工具

AutoValue

簡書—AutoValue介紹

Android 使用AutoValue和Gson進行JSON序列化/反序列化

view.post()

知乎—那些你不得不懂的View.post() 原理

LiveData

CSDN—Lifecycle、LiveData、ViewModel講解之LiveData

簡書—Jetpack(一)Lifecycle和LiveData

知乎—Android開發:官方推薦 Flow 取代 LiveData,真的有必要嗎?

AsyncTask

博客園—AsyncTask doinbackground onProgressUpdate onCancelled onPostExecute的基本使用

簡書—八、AsyncTask解析

CSDN—AsyncTask使用及解析

動態申請權限

Android studio (java) - Access storage permissions denied? - Stack Overflow

Kotlin終章:動態權限申請 - CSDN

模擬器訪問外部存儲SDCard受限

Android studio:關于訪問模擬器本地文件遇到的幾個問題

1.手動打開app權限

Android Studio自帶模擬器讀SDcard失敗的解決方法

2.靜態申請權限

Android studio File Explorer sdcard文件怎么訪問

3.動態申請權限

Android studio (java) - Access storage permissions denied? - Stack Overflow

4.其他

https://www.likecs.com/show-923885.html#sc=273

android模擬器查看sd卡,android模擬器使用SD卡(1) - CSDN

Timber

Android Timber log - 知乎

如何設計Log 工具類—— timber 解析 - 簡書

OOM

java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Out of memory - 簡書

java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Try again - 空白的泡的博客

文件IO路徑

貌似Android能讀取的文件路徑位于模擬器中

讀取當前工作空間的路徑或者本地路徑都很困難

框架

Jetpack

簡書—JetPack到底是什么?帶你認識JetPack

簡書—Jetpack系列全解析

MVC框架發展

CSDN—MVC、MVP、MVVM三種區別

CSDN—三種架構模式——MVC、MVP、MVVM

Retrofit2

簡書—Retrofit2 簡介

CSDN—Retrofit2 詳解和使用(一)

OkHttp

Overview - OkHttp

OKHttp詳解_-Sloth-的博客

Okhttp總結_songzi1228的博客

OkHttp 源碼分析系列(一)- Okhttp同步請求、異步請求過程- 瓊珶和予- 簡書

其他

混淆

Android混淆 - 簡書

Android開發實戰——代碼混淆解決方案,適配AndroidX - 金大人的夢- 博客園

Android混淆

Build.VERSION

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.....) - 博客園


AAB(Android App Bundle):Android App Bundle是一種發布格式,它允許Google Play動態地為用戶的設備生成和提供優化的APK。AAB包含了應用的所有代碼和資源,但Google Play會根據用戶的設備配置(如屏幕尺寸、分辨率和語言)來生成和分發最合適的APK。因此,“devAab”可能指的是為開發或測試目的而創建的Android App Bundle版本。

APK(Android Package):APK是Android應用的標準發布格式,包含了應用的代碼、資源和必要的元數據。在Android開發中,通常會為不同的環境(如debug和release)創建不同的APK版本?!癲evApk”可能指的是為開發或測試目的而創建的APK版本。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容