你是否厭倦了這種寫法? 亦或是這樣的代碼? 那么今天,我將帶你實(shí)現(xiàn)不一樣的渠道最住、rom差異摄悯。 廢話不多职恳,先看效果~ 我們這里隨便舉個(gè)例子诬垂,不同平臺(tái)打印不同的log撮执,可以看到薄翅,...
你是否厭倦了這種寫法? 亦或是這樣的代碼? 那么今天,我將帶你實(shí)現(xiàn)不一樣的渠道最住、rom差異摄悯。 廢話不多职恳,先看效果~ 我們這里隨便舉個(gè)例子诬垂,不同平臺(tái)打印不同的log撮执,可以看到薄翅,...
原來(lái)今天才是周六~那就今天水 自定義view怎么實(shí)現(xiàn)沙兰,我今天不想多說(shuō),畢竟也不是給新人看的翘魄。 那么今天直接講一些實(shí)現(xiàn)自定義view的小技巧吧鼎天。 本期舉例的自定義view只是拋...
今天周六~水一天。 之前的路由篇[http://www.reibang.com/p/ce659c9c703a]我們大概講了一個(gè)簡(jiǎn)單的模塊化路由的實(shí)現(xiàn)思路暑竟,但是用起來(lái)比較麻煩...
我們的app開發(fā)時(shí)斋射,都會(huì)有一個(gè)splash頁(yè)面,用于提升用戶體驗(yàn)但荤。 原因是android app在啟動(dòng)時(shí)罗岖,由于application初始化等原因會(huì)有一個(gè)短暫的延遲,導(dǎo)致點(diǎn)擊l...
如果有本方案不適用的業(yè)務(wù)場(chǎng)景腹躁,請(qǐng)留言指出~筆者將視情況擴(kuò)展或給出解決思路~
手把手教你搭建android模塊化項(xiàng)目框架(九)小試牛刀——優(yōu)雅的登錄方案你是否厭倦了這種寫法桑包? 亦或是這種寫法? 那么今天纺非,我將給你一個(gè)優(yōu)雅的登錄實(shí)現(xiàn)方案~ 說(shuō)到登錄哑了,我們不得不聊到一個(gè)設(shè)計(jì)模式——狀態(tài)模式,顧名思義烧颖,他是專門用來(lái)處理不同狀態(tài)的不...
你是否厭倦了這種寫法弱左? 亦或是這種寫法? 那么今天炕淮,我將給你一個(gè)優(yōu)雅的登錄實(shí)現(xiàn)方案~ 說(shuō)到登錄拆火,我們不得不聊到一個(gè)設(shè)計(jì)模式——狀態(tài)模式,顧名思義,他是專門用來(lái)處理不同狀態(tài)的不...
經(jīng)過(guò)幾期的基礎(chǔ)封裝们镜,我們的模塊化項(xiàng)目基本已經(jīng)達(dá)到了可用的狀態(tài)币叹,那么今天就來(lái)試試開發(fā)一個(gè)帶搜索的列表頁(yè)面開發(fā)吧~ 好吧,我承認(rèn)偷懶了憎账,中間漏掉了mvvm套硼、paging的基礎(chǔ)封裝...
在andriod項(xiàng)目開發(fā)過(guò)程中,我們時(shí)常有這樣的需求胞皱,例如:動(dòng)態(tài)切換域名邪意,動(dòng)態(tài)切換abtest,動(dòng)態(tài)切換服務(wù)器配置項(xiàng)等反砌,但是開發(fā)過(guò)程中總是讓服務(wù)器配合修改或者每次都修改代碼后...
在androidx.lifecycle:lifecycle-common:2.6.1中雾鬼,lifecycleScope.launchWhenResumed 標(biāo)記了Depreca...
上期我們聊到room,本期就來(lái)簡(jiǎn)單說(shuō)一下room的用法宴树。常規(guī)room我們不聊怎么用了策菜,跟著官方文檔一步一步使用即可。 傳送門[https://developer.androi...
本來(lái)想連room一起封裝好的酒贬,但是臨時(shí)有事又憨,就先發(fā)個(gè)mmkv,下期我們研究room廢話不多锭吨,先看效果 要達(dá)到這樣的封裝效果蠢莺,我們先簡(jiǎn)單了解一個(gè)類,ReadWritePrope...
廢話不多說(shuō)零如,先看效果 android6.0以上需要?jiǎng)討B(tài)請(qǐng)求權(quán)限躏将,這里不多廢話了,想達(dá)到一個(gè)簡(jiǎn)單高效的權(quán)限使用方式考蕾,就跟我一步一步去封裝祸憋。之前比較好用的權(quán)限庫(kù)是rxPermis...
前面我們說(shuō)到,目前網(wǎng)絡(luò)框架選擇基本都為retrofit肖卧,目前算是最好用的android網(wǎng)絡(luò)框架之一了蚯窥。今天我們來(lái)封裝一下retorit,讓他更加好用塞帐。 以下代碼使用的life...
前兩節(jié)我們了解了android框架搭建的基礎(chǔ)沟沙,這期我們來(lái)補(bǔ)充之前留下的坑:模塊間通訊。模塊間由于互相隔離壁榕,導(dǎo)致我們不能直接調(diào)用到其他模塊間的方法、activity及fragm...
模塊化的目的: 保證項(xiàng)目的可維護(hù)性赎瞎。 加快編譯速度牌里,提升開發(fā)效率。 有一定的復(fù)用性,新項(xiàng)目可復(fù)用模塊牡辽,節(jié)省開發(fā)資源喳篇。 android項(xiàng)目目前已經(jīng)成熟了很多,官方也在尋找合適的...
本系列旨在幫助android新人搭建屬于自己的項(xiàng)目框架态辛。由于篇幅較長(zhǎng)麸澜,本人時(shí)間有限,因此更新系列可能周期較長(zhǎng)奏黑。本篇搭建框架適用于中大型項(xiàng)目炊邦。 經(jīng)典框架選取 總模式:mvvm-...
在維護(hù)老項(xiàng)目中,由于項(xiàng)目使用了rxjava熟史,但是新代碼又大多數(shù)使用Kotlin而不想使用rxjava時(shí)馁害,尤其是使用flow想做線程同步時(shí)可以將rxjava轉(zhuǎn)換為flow進(jìn)行使...
最近突發(fā)奇想編譯一下ffmpeg最新版本,使用以前的腳本竟然失敗了蹂匹,想在網(wǎng)上找個(gè)現(xiàn)成的用用碘菜,居然也沒有,折騰半天所以寫個(gè)文章記錄一下限寞。環(huán)境 :ubuntu 21.10,ndk...
使用paging3開發(fā)時(shí)忍啸,官方demo只有包含LinearLayout的部分代碼,當(dāng)我們需要配合GridLayoutManager(spanCount=2)時(shí)履植,發(fā)現(xiàn)foote...
如何解決Can not perform this action after onSaveInstanceState 先分析問(wèn)題發(fā)生原因 通過(guò)分析源碼我們找到计雌,當(dāng)activit...