原创 AndroidStudio使用小技巧

1.自動導包 打開File->Settings->Editor->General->Auto Import,勾選:(如下圖) Add unambiguous imports on the fly    Optimize imports o

原创 Android音視頻開發(二)SurfaceView

簡介 官方API文檔介紹:SurfaceView是View的子類,它內嵌了一個專門用於繪製的Surface,你可以控制這個Surface的格式和尺寸,Surfaceview控制這個Surface的繪製位置。 surface是縱深排

原创 安卓代碼混淆指南

混淆代碼能有效防止項目被反編譯,同時還可以適當減少apk的大小,在實際開發過程中尤爲重要,經過長時間的摸索,對代碼混淆有了一定的瞭解,下面寫下個人心得: 1. 代碼混淆的重要文件:proguard-rules.pro,如果你不小心刪掉了,

原创 使用Kotlin+MVP+AndroidX搭建安卓項目框架

最近深入學習了下kotlin,發現還是挺不錯的,特別是其中的協程,改變了以往我對安卓開發使用線程的習慣,這東西用起來方便,省去了使用java而產生的各種回調和主子線程通訊的麻煩,當然如果你習慣了Java,要轉kotlin並使用協程改造你的

原创 垃圾代碼是如何寫出來的

自我參加工作已經有幾年了,接手過的項目也不少,包括安卓端和web前端的,在做這些項目的過程中,相當一部分的項目到最後都出現了一個現象:代碼越寫越亂,維護性越來越差。究其原因,我認爲有如下幾點: 1.程序員自身能力 出現問題,首先得從自己身

原创 Android音視頻開發(五)AudioRecord錄製音頻

簡介 AudioRecord是安卓多媒體框架中用於錄製音頻的工具。它支持錄製原始音頻數據,即PCM數據,PCM數據不能被播放器直接播放,需要編碼壓縮成常見音頻格式才能被播放器識別。而原生api也提供了AudioTrack播放PCM

原创 安卓MVVM—kotlin協程與Retrofit

本文將給大家演示如何在安卓項目使用協程+Retrofit進行網絡請求,項目使用MVVM架構,引用了架構組件ViewModel和LiveData,包含了異常的封裝處理,可以用在一個商用產品架構上。 1.引入依賴 //使用協程 implem

原创 關於安卓開發者未來何去何從的思考

發展現狀 Android系統最早正式發佈在2008年,但正式開始興起大概是在2009年,到了2012年左右,安卓已經發展迅猛,湧現一大批安卓開發者,然而隨着市場的飽和態逐漸呈現,加上各種跨平臺技術的出現,到了今天,很多安卓開發者的擔憂也出

原创 kotlin代替findViewById的方法

  在安卓項目使用了Kotlin之後,發現Kotlin一個相當強大的地方,可以不用findViewById,引入佈局,直接使用控件 方式一:使用kotlin插件自動生成 引入kotlin擴展插件 apply plugin: ‘kotli

原创 Android音視頻開發(九)MediaCodec解碼播放視頻

簡介 MediaCodec是Android提供的用於對音視頻進行編解碼的類,即編碼器/解碼器組件。它通過訪問底層的Codec來實現編解碼的功能。是Android media基礎框架的一部分,通常和 MediaExtractor,

原创 安卓架構組件實戰——ViewModel+LiveData

在谷歌官方提供的安卓架構組件中,有ViewModel、LiveData、Lifecycle、DataBinding等,他們共同組成了一個完整的MVVM架構,實現了視圖與業務邏輯分離,並且提供友好的生命週期管理。本文不會涉及到這些組件的原理

原创 Android 7.0應用間文件共享

最近在開發過程中遇到了這樣一個錯誤,android.os.FileUriExposedException: file:///storage/emulated/0/xxx/xxx.doc exposed beyond app thr

原创 安卓架構組件實戰——Lifecycle

注:本文涉及代碼請看:項目源碼 Lifecycle是谷歌推出的一個架構組件,用於感知組件生命週期,並賦予了非組件對象感知生命週期的能力 Lifecycle組件用來響應另一個組件的生命週期狀態變化,例如Activity和Fragment,可

原创 Android音視頻開發(六)MediaRecorder錄製視頻

簡介 安卓api提供了Camera類控制相機捕獲圖像,在api21以後,安卓也提供了Camera2,Camera變得過時了,但爲了兼容性,這裏還是使用Camera。 對於錄製視頻,可以使用MediaRecorder,這個可看安卓官

原创 Kotlin與DataBinding使用注意事項

在使用kotlin開發的安卓項目中,開啓DataBinding步驟如下: 1.在app的build.gradle的android配置項下添加如下: dataBinding{ enabled = true } 2.在app的bu