国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu)

這篇具有很好參考價(jià)值的文章主要介紹了新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

}

通過 @BindViewModel 注解viewModel 變量,KtArmor-MVVM 通過反射,自動(dòng)創(chuàng)建 LoginViewModel實(shí)例, 并賦值給 viewModel 變量。直接使用即可!

@BaseUrl

@BaseUrl(API.BASE_URL) // 看這里!!
interface ApiService {
@POST(API.LOGIN)
suspend fun login(@Query(“username”) username: String,
@Query(“password”) password: String): BaseResponse
}

我們通常使用Retrofit 的時(shí)候,都會(huì)創(chuàng)建對(duì)應(yīng) Service 接口類, 通過在 Service 上 標(biāo)識(shí) @BaseUrl 注解,并傳入 對(duì)應(yīng) baseUrl,KtArmor-MVVM 就會(huì)將 baseUrl “注入” 到 Retrfit 中。目前只是針對(duì)單個(gè) baseUrl, 后續(xù)將考慮多個(gè) baseUrl 動(dòng)態(tài)切換的相關(guān)處理。

KtArmor-MVVM框架引入

注意!

  • 由于采用了Androidx, 所以如果不是Androidx的話, 引入會(huì)有兼容性問題(會(huì)報(bào)錯(cuò)!).
  • 版本: minSdkVersion 19

以下默認(rèn)是Androidx 項(xiàng)目下引入

先在 build.gradle(Project:XXXX) 的 repositories 添加:

allprojects {
repositories {

maven { url “https://jitpack.io” }
}
}

然后在 build.gradle(Module:app) 的 dependencies 添加:

implementation ‘com.github.hyzhan43:KtArmor-MVVM:1.0.7’ //最新版本

快速上手

我們先從一個(gè) 簡(jiǎn)單登錄功能來熟悉一下 KtArmor-MVVM 使用流程。

LoginActivity

class LoginActivity : AppCompatActivity(), IMvmActivity {

@BindViewModel
lateinit var viewModel: LoginViewModel

override fun getLayoutId(): Int = R.layout.activity_login

override fun initListener() {
mBtnLogin.setOnClickListener {
viewModel.login(mEtAccount.str(), mEtPassword.str())
}
}

override fun dataObserver() {
viewModel.loginData.observe(this, Observer {
toast(“登錄成功”)
})
}
}

  • 1、新建一個(gè) LoginActivity 類,并實(shí)現(xiàn) IMvmActivity “接口”。

  • 2、然后使用 @BindViewModel 綁定一個(gè) ViewModel,KtArmor-MVVM 會(huì)自動(dòng)注入賦值。

  • 3、getLayoutId()方法,返回一個(gè) R.layout.activity_login (布局id)

  • 4、initListener()方法中設(shè)置 登錄按鈕事件 (mBtnLogin),通過 viewModel 來發(fā)起網(wǎng)絡(luò)請(qǐng)求。

  • 5、然后 在dataObserver()監(jiān)聽回調(diào)的結(jié)果即可。

然后我們?cè)賮砜纯矗?VM 層如何實(shí)現(xiàn),也就是 LoginViewModel。

LoginViewModel

class LoginViewModel : BaseViewModel() {

val loginData = MutableLiveData()

fun login(account: String, password: String) {

// 校驗(yàn)參數(shù)
if (TextUtils.isEmpty(account) || TextUtils.isEmpty(password)) {
showToast(R.string.account_or_password_empty)
return
}

// DSL 方式發(fā)起 網(wǎng)絡(luò)請(qǐng)求
quickLaunch {

onStart { showLoading() }

request { repository.login(account, password) }

onSuccess { loginData.value = it }
}
}
}

  • 需創(chuàng)建 LoginViewModel類,繼承BaseViewModel,并傳入 LoginRepository,自動(dòng)注入 LoginRepositoy 實(shí)例。
  • quickLaunch<XXX> 方法是使用 DSL 方式發(fā)起網(wǎng)絡(luò)請(qǐng)求
  • repository login 方法真正發(fā)起網(wǎng)絡(luò)請(qǐng)求
  • onSuccess() 方法 監(jiān)聽回調(diào)結(jié)果,并設(shè)置給 LoginData

最后,我們來看看 Repository 的處理。

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)Android工程師,想要提升技能,往往是自己摸索成長(zhǎng)或者是報(bào)班學(xué)習(xí),但對(duì)于培訓(xùn)機(jī)構(gòu)動(dòng)則幾千的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長(zhǎng),而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年Android移動(dòng)開發(fā)全套學(xué)習(xí)資料》,初衷也很簡(jiǎn)單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Android開發(fā)知識(shí)點(diǎn),真正體系化!

由于文件比較大,這里只是將部分目錄大綱截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會(huì)持續(xù)更新

如果你覺得這些內(nèi)容對(duì)你有幫助,可以添加V獲?。簐ip204888 (備注Android)
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展

總結(jié)

作為一名從事Android的開發(fā)者,很多人最近都在和我吐槽Android是不是快要涼了?而在我看來這正是市場(chǎng)成熟的表現(xiàn),所有的市場(chǎng)都是溫水煮青蛙,永遠(yuǎn)會(huì)淘汰掉不愿意學(xué)習(xí)改變,安于現(xiàn)狀的那批人,希望所有的人能在大浪淘沙中留下來,因?yàn)閷?duì)于市場(chǎng)的逐漸成熟,平凡并不是我們唯一的答案!

新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展
新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu),2024年程序員學(xué)習(xí),面試,android,職場(chǎng)和發(fā)展

遠(yuǎn)會(huì)淘汰掉不愿意學(xué)習(xí)改變,安于現(xiàn)狀的那批人,希望所有的人能在大浪淘沙中留下來,因?yàn)閷?duì)于市場(chǎng)的逐漸成熟,平凡并不是我們唯一的答案!

[外鏈圖片轉(zhuǎn)存中…(img-vmXZfSd0-1711874432523)]
[外鏈圖片轉(zhuǎn)存中…(img-nERTV93D-1711874432523)]

本文已被CODING開源項(xiàng)目:《Android學(xué)習(xí)筆記總結(jié)+移動(dòng)架構(gòu)視頻+大廠面試真題+項(xiàng)目實(shí)戰(zhàn)源碼》收錄文章來源地址http://www.zghlxwxcb.cn/news/detail-845998.html

到了這里,關(guān)于新鮮出爐的 MVVM 腳手架 —— KtArmor-MVVM,面試安卓系統(tǒng)架構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 安裝Node(腳手架)

    安裝Node(腳手架)

    從官網(wǎng)直接下載安裝即可,自帶npm包管理工具。https://nodejs.org/en 安裝之后在終端里查看查看node版本 安裝webpack 安裝vue-cli3.x以上 注意 要先在盤服中創(chuàng)建好文件夾,然后訪問 創(chuàng)建好之后創(chuàng)建工程名字然后選擇最后一個(gè),最后一個(gè)是自定義項(xiàng)目 我就不選擇Y了,我選的是N 創(chuàng)建項(xiàng)

    2024年02月11日
    瀏覽(41)
  • React 腳手架

    React 腳手架(React boilerplate)是一種預(yù)先設(shè)置好的、可以快速啟動(dòng) React 項(xiàng)目的工具。腳手架已經(jīng)包含了 React、Webpack、Babel、ESLint、Jest 等一些常用的工具和庫(kù),并已經(jīng)配置好了這些工具的參數(shù),可以直接使用和自定義修改。使用 React 腳手架可以大大加快項(xiàng)目的啟動(dòng)和開發(fā),同

    2024年02月13日
    瀏覽(29)
  • 腳手架開發(fā)流程詳解

    創(chuàng)建npm項(xiàng)目 創(chuàng)建腳手架入口文件,最上方添加 配置package.json,添加bin屬性 編寫腳手架代碼 將腳手架發(fā)布到npm 安裝腳手架 使用腳手架 分包:將復(fù)雜的系統(tǒng)拆分成若干個(gè)模塊 命令注冊(cè): 參數(shù)解析 options全稱:–version、–help options簡(jiǎn)寫:-V、-h 帶params的options: --path /Users/sam/D

    2024年02月07日
    瀏覽(24)
  • 使用Vue腳手架

    使用Vue腳手架

    (193條消息) 第 3 章 使用 Vue 腳手架_qq_40832034的博客-CSDN博客 說明 1.Vue腳手架是Vue官方提供的標(biāo)準(zhǔn)化開發(fā)工具(開發(fā)平臺(tái)) 2.最新的版本是4.x 3.文檔Vue CLI腳手架(命令行接口) 具體步驟 1.如果下載緩慢請(qǐng)配置npm淘寶鏡像 npm config set registry http://registry.npm.taobao.org 2.全局安裝 @v

    2024年02月13日
    瀏覽(35)
  • Vue 腳手架

    ├── node_modules ├── public │ ├── favicon.ico: 頁(yè)簽圖標(biāo) │ └── index.html: 主頁(yè)面 ├── src │ ├── assets: 存放靜態(tài)資源 │ │ └── logo.png │ │── component: 存放組件 │ │ └── HelloWorld.vue │ │── App.vue: 匯總所有組件 │ │── main.js: 入口文件 ├── .gi

    2024年03月24日
    瀏覽(19)
  • Vue(Vue腳手架)

    Vue(Vue腳手架)

    Vue官方提供腳手架平臺(tái)選擇最新版本: 可以相加兼容的標(biāo)準(zhǔn)化開發(fā)工具(開發(fā)平臺(tái)) 禁止:最新的開發(fā)技術(shù)版本和比較舊版本的開發(fā)平臺(tái) ? Vue CLI ??? Vue.js 開發(fā)的標(biāo)準(zhǔn)工具 https://cli.vuejs.org/zh/ c:cmmand l:line i:interface 命令行接口工具? ?在cmd中查看vue是否存在cli ?全局安

    2024年02月01日
    瀏覽(20)
  • 【React】腳手架創(chuàng)建項(xiàng)目

    【React】腳手架創(chuàng)建項(xiàng)目

    ? 創(chuàng)建React項(xiàng)目的命令如下: ? ? 注意:項(xiàng)目名稱 不能包含大寫字母 ? ? 另外還有更多創(chuàng)建項(xiàng)目的方式,可以參考GitHub的readme 命令: create-react-app 你的項(xiàng)目名稱 ? 創(chuàng)建完成后,進(jìn)入對(duì)應(yīng)的目錄,就可以將項(xiàng)目跑起來: yarn start ? 我們可以通過VSCode打開項(xiàng)目: 注意 se

    2024年01月19日
    瀏覽(159)
  • Vue腳手架搭建項(xiàng)目

    Vue腳手架搭建項(xiàng)目

    一、 安裝Node.js (一) 注意事項(xiàng) 1. 注意電腦系統(tǒng)版本以及位數(shù),按照自己電腦的環(huán)境下載相應(yīng)的Node.js安裝包 2. 確定運(yùn)行項(xiàng)目的Node.js版本和npm版本,避免后期因?yàn)榘姹静煌a(chǎn)生的一些差異問題 3. 在官網(wǎng)下載Node安裝包時(shí)請(qǐng)下載穩(wěn)定版(或不同版本的穩(wěn)定版),正確區(qū)分穩(wěn)定版

    2024年02月09日
    瀏覽(37)
  • 如何搭建vue腳手架

    使用 create-vue 腳手架創(chuàng)建項(xiàng)目 create-vue參考地址:GitHub - vuejs/create-vue: ??? The recommended way to start a Vite-powered Vue project 步驟: 執(zhí)行創(chuàng)建命令 2.選擇項(xiàng)目依賴類容 安裝:項(xiàng)目開發(fā)需要的一些插件 必裝: Vue Language Features (Volar) ?vue3語法支持 TypeScript Vue Plugin (Volar) ?vue3中更好的

    2023年04月14日
    瀏覽(26)
  • vue腳手架創(chuàng)建項(xiàng)目

    vue腳手架創(chuàng)建項(xiàng)目

    npm install -g @vue/cli 如果報(bào)錯(cuò)可以嘗試使用cnpm vue -V vue create 項(xiàng)目名稱 輸入y 上下選中選項(xiàng) Manually select features (自由選擇),回車 vue 版本的選擇 其他按需要選擇

    2024年02月05日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包