Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Quyunshuo/AndroidBaseFrameMVVM

Repository files navigation

AndroidBaseFrameMVVM

AndroidBaseFrameMVVM Shi Yi Ge AndroidGong Cheng Kuang Jia ,Suo Shi Yong Ji Zhu Zhan Wei :Zu Jian Hua , Kotlin, MVVM, Jetpack, Repository, Kotlin-Coroutine-Flow,Ben Kuang Jia Ji Shi Yi Ge Ke Yi Kai Xiang Ji Yong De Gong Cheng Kuang Jia Ji Chu Ceng ,Ye Shi Yi Ge Hen Hao De Xue Xi Zi Yuan ,Wen Dang Xia Mian Hui Dui Kuang Jia Zhong Suo Shi Yong De Yi Xie He Xin Ji Zhu Jin Xing Chan Shu . Gai Kuang Jia Zuo Wei Ge Ren Ji Zhu Ji Lei De Chan Wu ,Hui Yi Zhi Geng Xin Wei Hu ,Ru Guo You Ji Zhu Fang Mian De Tan Lun Huo Zhe Kuang Jia Zhong De Cuo Wu Dian ,Ke Yi Zai GitHub Shang Ti Issues,Wo Hui Ji Shi Jin Xing Hui Ying . Xi Wang Zhe Ge Kuang Jia Xiang Mu Neng Gei Da Jia Dai Lai Bang Zhu ,Xi Huan Ke Yi Start.

Xiang Mu Di Zhi :AndroidBaseFrameMVVM

Demo

Yi Hong Yang Da Shen De Wan An Zhuo Kai Fang ApiZuo Liao Jian Dan De Ye Mian Shi Li ,Cang Ku Di Zhi :WanAndroidMVVM

Kuang Jia Tu Shi

Gu Ge Android Tuan Dui Jetpack Shi Tu Mo Xing :

Mo Kuai

  • app:

    appKe Gong Cheng ,Shi Yi Lai Suo You Zu Jian De Ke ,Gai Mo Kuai Bu Ying Gai Bao Han Ren He Dai Ma ,Ta Zhi Zuo Wei Yi Ge Kong Ke Cun Zai ,You Yu Xiang Mu Zhong Shi Yong Liao EventBusAPTJi Zhu ,Xu Yao Suo Yin Dao Ge Ye Wu Zu Jian De Dui Ying De APTSheng Cheng Lei ,Suo Yi Zai appKe Nei You Zhe Yi Bu Fen De Dai Ma .

  • buildSrc:

    Zhe Shi Yi Ge Te Shu De Wen Jian Jia ,Fu Ze Xiang Mu De Gou Jian ,Li Mian Cun Fang Zhao Yi Xie Xiang Mu Gou Jian Shi Yong Dao De Dong Xi ,Bi Ru Xiang Mu Pei Zhi ,Yi Lai . Zhe Li Mian Huan Shi Cun Fang Gradle Cha Jian De Di Fang ,Yi Xie Zi Ding Yi De Gradle De Cha Jian Du Xu Yao Fang Zai Ci Chu .

  • lib_base:

    Xiang Mu De Ji Chu Gong Gong Mo Kuai ,Cun Fang Zhao Ge Chong Ji Lei Feng Zhuang , Dui Yuan Cheng Ku De Yi Lai , Yi Ji Gong Ju Lei , San Fang Ku Feng Zhuang ,Gai Zu Jian Shi He Xiang Mu Ye Wu Wu Guan De ,He Xiang Mu Ye Wu Xiang Guan De Gong Gong Bu Fen Xu Yao Fang Zai lib_common Zhong .

  • lib_common:

    Xiang Mu De Ye Wu Gong Gong Mo Kuai ,Zhe Li Mian Cun Fang Zhao Xiang Mu Li Ge Ge Ye Wu Zu Jian De Gong Gong Bu Fen ,Huan You Yi Xie Xiang Mu Te Ding Xu Yao De Yi Xie Wen Jian Deng ,Gai Zu Jian Shi He Xiang Mu Ye Wu You Guan Xi De .

Zu Jian Hua Xiang Guan

Zu Jian Chu Shi Hua

Wei Liao Geng Hao De Dai Ma Ge Chi Yu Jie Ou ,Zai Te Ding Zu Jian Nei Shi Yong De SDKJi San Fang Ku ,Ying Gai Zhi Zai Gai Zu Jian Nei Yi Lai ,Bu Ying Gai Rang Gai Zu Jian De Te Ding SDKJi San Fang Ku De APIBao Lu Gei Qi Ta Bu Xu Yao Yong De Zu Jian . You Yi Ge Wen Ti Jiu Chu Xian Liao ,SDKJi San Fang Ku Chang Chang Xu Yao Shou Dong Qu Chu Shi Hua ,Er Qie Yi Ban Du Xu Yao Zai Xiang Mu Yi Qi Dong (Ji Application Zhong )Chu Shi Hua ,Dan Shi Yi Ge Xiang Mu Ken Ding Zhi Neng You Yi Ge Zi Ding Yi De Application,Gai Xiang Mu Zhong De Zi Ding Yi Application Zai lib_base Mo Kuai Zhong ,Bing Qie Ye Shi Zai lib_base Mo Kuai Zhong De Qing Dan Wen Jian Zhong Sheng Ming De ,Na Qi Ta Zu Jian Gai Ru He Chu Shi Hua Ni ?Dai Zhao Zhe Ge Wen Ti Wo Men Yi Qi Lai Shen Ru Yan Jiu Xia .

Chang Jian De Zu Jian Chu Shi Hua Jie Jue Fang An :

Zai Wo De Liao Jie Fan Wei Nei ,Mu Qian You Liang Chong Zui Wei Chang Jian De Jie Jue Fang An :

  • Mian Xiang Jie Kou Bian Cheng + Fan She Sao Miao Shi Xian Lei :

    Gai Fang An Shi Ji Yu Jie Kou Bian Cheng ,Zi Ding Yi Application Qu Shi Xian Yi Ge Zi Ding Yi De Jie Kou (interface),Zhe Ge Jie Kou Zhong Ding Yi Xie He Application Sheng Ming Zhou Qi Xiang Dui Ying De Chou Xiang Fang Fa Ji Qi Ta Zi Ding Yi De Chou Xiang Fang Fa ,Mei Ge Zu Jian Qu Bian Xie Yi Ge Shi Xian Lei ,Gai Shi Xian Lei Jiu Lei Si Yu Yi Ge Jia De Zi Ding Yi Application,Ran Hou Zai Zhen Zheng De Zi Ding Yi Application Zhong Qu Tong Guo Fan She Qu Dong Tai Cha Zhao Dang Qian Yun Xing Shi Huan Jing Zhong Suo You Gai Jie Kou De Shi Xian Lei ,Bing Qie Qu Jin Xing Shi Li Hua ,Ran Hou Jiang Zhe Xie Shi Xian Lei Shou Ji Dao Yi Ge Ji He Zhong ,Zai Application De Dui Ying Sheng Ming Zhou Qi Fang Fa Zhong Qu Zhu Yi Diao Yong Dui Ying Fang Fa ,Yi Shi Xian Ge Shi Xian Lei Neng Gou He Application Sheng Ming Zhou Qi Xiang Tong Bu ,Bing Qie Chi You Application De Yin Yong Ji context Shang Xia Wen Dui Xiang ,Zhe Yang Wo Men Jiu Ke Yi Zai Zu Jian Nei Mo Ni Application De Sheng Ming Zhou Qi Bing Chu Shi Hua SDKHe San Fang Ku . Shi Yong Fan She Huan Xu Yao Zuo Yi Xie Yi Chang De Chu Li . Gai Fang An Shi Wo Jian Guo De Zui Chang Jian De Fang An ,Zai Yi Xie Shang Ye Xiang Mu Zhong Ye Jian Dao Guo .

  • Mian Xiang Jie Kou Bian Cheng + meta-data + Fan She :

    Gai Fang An De Hou Ban Bu Fen Ye Shi He Di Yi Chong Fang Fa Yi Yang ,Tong Guo Jie Kou Bian Cheng Shi Xian Application De Sheng Ming Zhou Qi Tong Bu ,Qi Shi Zhe Yi Bu Shi Bi Mian Bu Liao De ,Zai Wo De Fang An Zhong ,Hou Ban Bu Fen Ye Shi Zhe Yang Shi Xian De . Bu Tong De Shi Qian Ban Bu Fen ,Ye Jiu Shi Ru He Zhao Dao Jie Kou De Shi Xian Lei ,Gai Fang An Shi Yong De Shi AndroidManifest De meta-data Biao Qian ,Tong Guo Mei Ge Zu Jian Nei De AndroidManifest Nei Qu Sheng Ming Yi Ge meta-data Biao Qian ,Bao Han Gai Zu Jian Shi Xian Lei De Xin Xi ,Ran Hou Zai Application Zhong Qu Zhao Dao Zhe Xie Pei Zhi Xin Xi ,Ran Hou Tong Guo Fan She Qu Chuang Jian Zhe Xie Shi Xian Lei De Shi Li ,Zai Jiang Ta Men Shou Ji Dao Yi Ge Ji He Zhong ,Sheng Xia De Cao Zuo Ji Ben Xiang Tong Liao . Gai Fang An He Di Yi Chong Fang An Yi Yang Du Xu Yao Chu Li Hen Duo De Yi Chang . Zhe Chong Fang An Wo Zai Yi Xie Kai Yuan Xiang Mu Zhong Jian Dao Guo ,Ge Ren Ren Wei Guo Yu Fan Suo ,Huan Yao Chu Li Hen Duo De Yi Chang .

Ben Xiang Mu Zhong Suo Shi Yong De Fang An :

  • Mian Xiang Jie Kou Bian Cheng + JavaDe SPIJi Zhi (ServiceLoader)+AutoService:

    Xian Lai Ren Shi Xia Java De SPI Ji Zhi :Mian Xiang De Dui Xiang De She Ji Li ,Wo Men Yi Ban Tui Jian Mo Kuai Zhi Jian Ji Yu Jie Kou Bian Cheng ,Mo Kuai Zhi Jian Bu Dui Shi Xian Lei Jin Xing Ying Bian Ma . Yi Dan Dai Ma Li She Ji Ju Ti De Shi Xian Lei ,Jiu Wei Fan Liao Ke Ba Cha De Yuan Ze ,Ru Guo Xu Yao Ti Huan Yi Chong Shi Xian ,Jiu Xu Yao Xiu Gai Dai Ma . Wei Liao Shi Xian Zai Mo Kuai Zhuang Pei De Shi Hou Bu Yong Zai Cheng Xu Li Dong Tai Zhi Ming ,Zhe Jiu Xu Yao Yi Chong Fu Wu Fa Xian Ji Zhi . JavaSPI Jiu Shi Ti Gong Zhe Yang De Yi Ge Ji Zhi :Wei Mou Ge Jie Kou Xun Zhao Fu Wu Shi Xian De Ji Zhi . Zhe You Dian Lei Si IOC De Si Xiang ,Jiang Zhuang Pei De Kong Zhi Quan Yi Dao Liao Cheng Xu Zhi Wai . Zhe Duan Hua Ye Shi Wo Fu Zhi De Bie Ren De ,Ting Qi Lai Hen Meng Bi ,Da Zhi Yi Si Jiu Shi Wo Men Ke Yi Tong Guo SPI Ji Zhi Jiang Shi Xian Lei Bao Lu Chu Qu . Guan Yu Ru He Shi Yong SPI,Zhe Li Bu Zai Chen Shu ,Zong Zhi Shi Wo Men Zai Ge Zu Jian Nei Tong Guo SPI Qu Jiang Shi Xian Lei Bao Lu Chu Qu ,Zai Application Zhong Wo Men Tong Guo Java Ti Gong De SPI API Qu Huo Qu Zhe Xie Bao Lu De Fu Wu ,Zhe Yang Wo Men Jiu Na Dao Liao Zhe Xie Lei De Shi Li ,Sheng Xia De Bu Zou Jiu He Shang Mian De Fang An Yi Yang Liao ,Tong Guo Yi Ge Ji He Bian Li Shi Xian Lei Diao Yong Qi Xiang Ying De Fang Fa Wan Cheng Chu Shi Hua De Gong Zuo . You Yu Shi Yong SPI Xu Yao Zai Mei Ge Mo Kuai Chuang Jian Dui Ying De Wen Jian Pei Zhi ,Zhe Bi Jiao Ma Fan ,Suo Yi Wo Men Shi Yong Google De AutoService Ku Lai Bang Zhu Wo Men Zi Dong Chuang Jian Zhe Xie Pei Zhi Wen Jian ,Shi Yong Fang Shi Ye Fei Chang De Jian Dan ,Jiu Shi Zai Shi Xian Lei Tian Jia Yi Ge AutoService Zhu Jie . Ben Kuang Jia Zhong De He Xin Lei Shi Zhe Ji Ge :lib_base-LoadModuleProxy, lib_base-ApplicationLifecycle. Zhe Chong Fang An Shi Wo Qing Jiao De Yi Ge Mi Ha You De Da Lao ,Zhe Wei Da Lao Gao Su Wo Zai Zu Jian Hua Zhong Zu Jian De Chu Shi Hua Ke Yi Shi Yong ServiceLoader Lai Zuo ,Yu Shi Wo Jiu Qu Yan Jiu Liao Xia ,Zui Hou Fa Xian Zhe Chong Fang An Huan Bu Cuo ,Bi Qian Mian Ti Dao De Liang Chong Fang An Du Yao Jian Dan , An Quan .

Zi Yuan Ming Ming Chong Tu

Zai Zu Jian Hua Fang An Zhong ,Zi Yuan Ming Ming Chong Tu Shi Yi Ge Bi Jiao Yan Zhong De Wen Ti ,You Yu Zai Da Bao Shi Hui Jin Xing Zi Yuan De He Bing ,Ru Guo Liang Ge Mo Kuai Zhong You Liang Ge Xiang Tong Ming Zi De Wen Jian ,Na Yao Zui Hou Zhi Hui Bao Liu Yi Fen ,Ru Guo Bu Zhi Dao Zhe Ge Wen Ti De Xiao Huo Ban ,Zai Yu Dao Zhe Ge Wen Ti Shi Ken Ding Shi Yi Lian Meng Bi De Zhuang Tai . Wen Ti Ji Ran Yi Jing Chu Xian ,Na Wo Men Jiu Yao Qu Jie Jue ,Jie Jue Ban Fa Jiu Shi Mei Ge Zu Jian Du Yong Gu Ding De Ming Ming Qian Zhui ,Zhe Yang Jiu Bu Hui Chu Xian Liang Ge Xiang Tong De Wen Jian De Xian Xiang Liao ,Wo Men Ke Yi Zai build.gradle Pei Zhi Wen Jian Zhong Qu Pei Zhi Qian Zhui Xian Ding ,Ru Guo Bu An Gai Qian Zhui Jin Xing Ming Ming ,AS Jiu Hui Jin Xing Jing Gao Ti Shi ,Pei Zhi Ru Xia :

android {
resourcePrefix "Qian Zhui _"
}

Zu Jian Hua Fen

Qi Shi Zu Jian De Hua Fen Yi Zhi Shi Yi Ge Bi Jiao Nan De Bu Fen ,Zhe Li Qi Shi Ye Gei Bu Dao Yi Xie Fei Chang Gua He De Jian Yi ,Kan Shi Kan Ju Ti Xiang Mu Er Ding .

Guan Yu Ji Chu Zu Jian Tong Chang Yao Yi Du Li Ke Zhi Jie Fu Yong De Jiao Du Chu Xian ,Bi Ru Wang Luo Mo Kuai , Er Wei Ma Shi Bie Mo Kuai Deng .

Guan Yu Ye Wu Zu Jian ,Ye Wu Zu Jian Yi Ban Ke Yi Jin Xing Dan Du Diao Shi ,Ye Jiu Shi Ke Yi Zuo Wei app Yun Xing ,Zhe Yang Cai Neng Fa Hui Zu Jian Hua De Yi Da Yong Chu ,Dang Xiang Mu Yue Lai Yue Da ,Ye Wu Zu Jian Yue Lai Yue Duo Shi ,Bian Yi Hao Shi Jiang Hui Shi Yi Ge Fei Chang Ji Shou De Wen Ti ,Dan Shi Ru Guo Mei Ge Ye Wu Mo Kuai Du Ke Yi Jin Xing De Dan Du Diao Shi ,Na Jiu Da Da Jian Shao Liao Bian Yi Shi Jian ,Tong Shi ,Kai Fa Ren Yuan Ye Bu Xu Yao Guan Zhu Qi Ta Zu Jian .

Guan Yu Gong Gong Mo Kuai ,lib_base Fang Yi Xie Ji Chu Xing Dai Ma ,Shu Yu Kuang Jia Ji Chu Ceng ,Bu Ying Gai He Xiang Mu Ye Wu You Qian Che ,Er He Xiang Mu Ye Wu Xiang Guan De Gong Gong Bu Fen Ze Ying Gai Fang Zai lib_common Zhong ,Bu Yao Wu Ran lib_base.

Yi Lai Ban Ben Kong Zhi

Zu Jian Hua Chang Jian De Yi Ge Wen Ti Jiu Shi Yi Lai Ban Ben ,Mei Ge Zu Jian Du You Ke Neng Zi Ji De Yi Lai Ku ,Na Wo Men Ying Gai Tong Yi Guan Li Ge Chong Yi Lai Ku Ji Qi Ban Ben ,Shi Xiang Mu Suo You Shi Yong De Yi Lai Du Shi Tong Yi Ge Ban Ben ,Er Bu Shi Bu Tong Ban Ben . Ben Xiang Mu Zhong Shi Yong buildSrc Zhong De Ji Ge ktWen Jian Jin Xing Yi Lai Ban Ben Tong Yi Xing De Guan Li ,Ji Qi Xiang Mu De Yi Xie Pei Zhi .

MVVMXiang Guan

  • MVVM Cai Yong Jetpack Zu Jian + Repository She Ji Mo Shi Shi Xian ,Suo Shi Yong De Jetpack Bing Bu Shi Hen Duo ,Xiang DataBinding, Paging 3, Room Deng Bing Mei You Shi Yong ,Ru Guo Xu Yao Ke Yi Tian Jia . Cai Yong Jia Gou Mo Shi Mu De Jiu Shi Wei Liao Jie Ou Dai Ma ,Dui Dai Ma Jin Xing Fen Ceng ,Ge Mo Kuai Ge Si Qi Zhi ,Suo Yi Ji Ran Shi Yong Liao Jia Gou Mo Shi Na Jiu Yao Zun Shou Hao Gui Fan .
  • Repository Cang Ku Ceng Fu Ze Shu Ju De Ti Gong ,ViewModel Wu Xu Guan Xin Shu Ju De Lai Yuan ,Repository Nei Bi Mian Shi Yong LiveData,Kuang Jia Li Shi Yong Liao Kotlin Xie Cheng De Flow Jin Xing Chu Li Qing Qiu Huo Fang Wen Shu Ju Ku ,Repository De Han Shu Hui Fan Hui Yi Ge Flow Gei ViewModel De Diao Yong Han Shu ,Flow Shang You Fu Ze Ti Gong Shu Ju ,Xia You Ye Jiu Shi ViewModel Huo Qu Dao Shu Ju Shi Yong LiveData Jin Xing Cun Chu ,View Ceng Ding Yue LiveData,Shi Xian Shu Ju Qu Dong Shi Tu
  • San Zhe De Yi Lai Du Shi Dan Xiang Yi Lai ,View -> ViewModel -> Repository

Xiang Mu Shi Yong De San Fang Ku Ji Qi Jian Dan Shi Li He Zi Liao

KotlinXie Cheng

Guan Yu Kotlin Xie Cheng ,Shi Zhen De Xiang ,Ju Ti Jiao Cheng Ke Yi Kan Wo De Yi Pian Wen Zhang :

Flow Lei Si Yu RxJava,Ta Ye You Yi Xi Lie De Cao Zuo Fu ,Zi Liao :

PermissionX

PermissionX Shi Guo Lin De Yi Ge Quan Xian Shen Qing Kuang Jia Shi Yong Fang Shi :

PermissionX.init(this)
.permissions("Xu Yao Shen Qing De Quan Xian ")
.request { allGranted, grantedList, deniedList -> }

Zi Liao :

GitHub: https://github.com/guolindev/PermissionX

EventBus APT

Shi Jian Zong Xian Zhe Li Xuan Ze De Huan Shi EventBus,Ye You Hen Duo Bi Jiao Xin De Shi Jian Zong Xian Kuang Jia ,Huan Shi Xuan Ze Liao Zhe Ge Zhi Jie Shang Shou De Zai Kuang Jia Nei Wo Dui EventBus Jin Xing Liao Ji Lei Feng Zhuang ,Zi Dong Zhu Ce He Jie Chu Zhu Ce ,Zai Xu Yao Zhu Ce De Lei Shang Tian Jia @EventBusRegister Zhu Jie Ji Ke ,Wu Xu Guan Xin Nei Cun Xie Lou Ji Mei Ji Shi Jie Chu Zhu Ce De Qing Kuang ,Ji Lei Li Yi Jing Zuo Liao Chu Li

@EventBusRegister
class MainActivity : AppCompatActivity() {}

Hen Duo Shi Yong EventBus De Kai Fa Zhe Qi Shi Du Mei You Fa Xian APT De Gong Neng ,Zhe Shi EventBus3.0 De Zhong Da Geng Xin ,Shi Yong EventBus APT Ke Yi Zai Bian Yi Qi Sheng Cheng Ding Yue Lei ,Zhe Yang Jiu Ke Yi Bi Mian Shi Yong Di Xiao Lu De Fan She ,Hen Duo Ren Bu Zhi Dao Zhe Ge Geng Xin ,Yong Zhao 3.0De Ban Ben ,Shi Ji Shang Que Shi 2.0De Xiao Lu . Xiang Mu Zhong Yi Jing Zai Ge Mo Kuai Zhong Kai Qi Liao EventBus APT,EventBus Hui Zai Bian Yi Qi Dui Ge Mo Kuai Sheng Cheng Ding Yue Lei ,Xu Yao Wo Men Shou Dong Bian Xie Dai Ma Qu Zhu Ce Zhe Xie Ding Yue Lei :

// Zai APPKe De AppApplicationLei Zhong
EventBus
.builder()
.addIndex("Ge Mo Kuai Sheng Cheng De Ding Yue Lei De Shi Li Lei Ming Zai base_module.gradleJiao Ben Zhong Jin Xing Liao She Zhi Bi Ru module_home Sheng Cheng De Ding Yue Lei Jiu Shi module_homeIndex")
.installDefaultEventBus()

Ping Mu Gua Pei AndroidAutoSize

Ping Mu Gua Pei Shi Yong De Shi JessYan Da Lao De Jin Ri Tou Tiao Ping Mu Gua Pei Fang An Zhong Ji Ban

GitHub: https://github.com/JessYanCoding/AndroidAutoSize

Shi Yong Fang Shi :

// Zai Qing Dan Wen Jian Zhong Sheng Ming


// Zhu Dan Wei Shi Yong dp Mei She Zhi Fu Dan Wei
android:name="design_width_in_dp"
android:value="360"/>
android:name="design_height_in_dp"
android:value="640"/>



// Mo Ren Shi Yi Shu Ping De Kuan Du Wei Ji Zhun Jin Xing Gua Pei
// Ru Guo Shi Heng Ping Xiang Mu Yao Gua Pei Pad(PadGua Pei Jin Liang Shi Yong Liang Tao Bu Ju Yin Wei Shou Ji He PadPing Mu Kuan Bi Chai Ju Hen Da Wu Fa Wan Mei Gua Pei )


// Yi Gao Du Wei Ji Zhun Jin Xing Gua Pei (Huan Xu Yao Shou Dong Dai Ma She Zhi Yi Gao Du Wei Ji Zhun Jin Xing Gua Pei ) Mu Qian Yi Gao Du Gua Pei Bi Kuan Du Wei Ji Zhun Gua Pei Xiao Guo Yao Hao
android:name="design_height_in_dp"
android:value="400"/>



// Zai Application Zhong She Zhi
// Ping Mu Gua Pei AndroidAutoSize Yi Heng Ping Gao Du Wei Ji Zhun Jin Xing Gua Pei
AutoSizeConfig.getInstance().isBaseOnWidth = false

ARoute

ARoute Shi A Li Ba Ba De Yi Ge Yong Yu Bang Zhu Android App Jin Xing Zu Jian Hua Gai Zao De Kuang Jia ---- Zhi Chi Mo Kuai Jian De Lu You , Tong Xin , Jie Ou

Shi Yong Fang Shi :

// 1.Zai Xu Yao Jin Xing Lu You Tiao Zhuan De ActivityHuo FragmentShang Tian Jia @Route Zhu Jie
@Route(path = "/test/activity")
public class YourActivity extend Activity {
...
}

// 2.Fa Qi Lu You Tiao Zhuan
ARouter.getInstance()
.build("Mu Biao Lu You Di Zhi ")
.navigation()

// 3.Xi Dai Can Shu Tiao Zhuan
ARouter.getInstance()
.build("Mu Biao Lu You Di Zhi ")
.withLong("key1", 666L)
.withString("key3", "888")
.withObject("key4", new Test("Jack", "Rose"))
.navigation()

// 4.Jie Shou Can Shu
@Route(path = RouteUrl.MainActivity2)
class MainActivity : AppCompatActivity() {

// Tong Guo nameLai Ying She URLZhong De Bu Tong Can Shu
@Autowired(name = "key")
lateinit var name: String

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(mBinding.root)
// ARouter Yi Lai Zhu Ru ARouterHui Zi Dong Dui Zi Duan Jin Xing Fu Zhi ,Wu Xu Zhu Dong Huo Qu
ARouter.getInstance().inject(this)
}
}

// 5.Huo Qu Fragment
Fragment fragment = (Fragment) ARouter.getInstance().build("/test/fragment").navigation();

Zi Liao :

Guan Fang Wen Dang :https://github.com/alibaba/ARouter

ViewBinding

Tong Guo Shi Tu Bang Ding Gong Neng ,Ke Yi Geng Qing Song Di Bian Xie Ke Yu Shi Tu Jiao Hu De Dai Ma . Zai Mo Kuai Zhong Qi Yong Shi Tu Bang Ding Zhi Hou ,Xi Tong Hui Wei Gai Mo Kuai Zhong De Mei Ge XML Bu Ju Wen Jian Sheng Cheng Yi Ge Bang Ding Lei . Bang Ding Lei De Shi Li Bao Han Dui Zai Xiang Ying Bu Ju Zhong Ju You ID De Suo You Shi Tu De Zhi Jie Yin Yong . Zai Da Duo Shu Qing Kuang Xia ,Shi Tu Bang Ding Hui Ti Dai findViewById

Shi Yong Fang Shi :

An Mo Kuai Qi Yong ViewBinding

// Mo Kuai Xia De build.gradleWen Jian
android {
// Kai Qi ViewBinding
// Gao Ban Ben AS
buildFeatures {
viewBinding = true
}
// Di Ban Ben AS Zui Di 3.6
viewBinding {
enabled = true
}
}

Activity Zhong ViewBinding De Shi Yong

// Zhi Qian She Zhi Shi Tu De Fang Fa
setContentView(R.layout.activity_main)

// Shi Yong ViewBindingHou De Fang Fa
val mBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(mBinding.root)

// ActivityMainBindingLei Shi Gen Ju Bu Ju Zi Dong Sheng Cheng De Ru Guo Mei You Qing Xian buildYi Xia Xiang Mu
// ViewBindingHui Jiang Kong Jian idZhuan Huan Wei Xiao Tuo Feng Ming Ming Fa ,Suo Yi Wei Liao Bao Chi Yi Zhi Gui Fan ,Zai xmlLi Sheng Ming idShi Ye Qing Shi Yong Xiao Tuo Feng Ming Ming Fa
// Bi Ru Ni You Yi Ge idWei mTextDe Kong Jian ,Ke Yi Zhe Yang Shi Yong
mBinding.mText.text = "ViewBinding"

Fragment Zhong ViewBinding De Shi Yong

// Yuan Lai De Xie Fa
return inflater.inflate(R.layout.fragment_blank, container, false)

// Shi Yong ViewBindingDe Xie Fa
mBinding = FragmentBlankBinding.inflate(inflater)
return mBinding.root

Zi Liao :

Guan Fang Wen Dang : https://developer.android.com/topic/libraries/view-binding

CSDN: https://blog.csdn.net/u010976213/article/details/104501830?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5

ViewModel

ViewModel Lei Zhi Zai Yi Zhu Zhong Sheng Ming Zhou Qi De Fang Shi Cun Chu He Guan Li Jie Mian Xiang Guan De Shu Ju . ViewModel Lei Rang Shu Ju Ke Zai Fa Sheng Ping Mu Xuan Zhuan Deng Pei Zhi Geng Gai Hou Ji Xu Liu Cun .

Shi Yong Fang Shi :

class MainViewModel : ViewModel(){}

class MainActivity : AppCompatActivity() {
// Huo Qu Wu Can Gou Zao De ViewModelShi Li
val mViewModel = ViewModelProvider(this).get(MainViewModel::class.java)
}

Zi Liao :

Guan Fang Wen Dang : https://developer.android.com/topic/libraries/architecture/viewmodel

Android ViewModel,Zai Xue Bu Hui Ni Kan Wo : https://juejin.im/post/6844903919064186888

LiveData

LiveData Shi Yi Chong Ke Guan Cha De Shu Ju Cun Chu Qi Lei . Yu Chang Gui De Ke Guan Cha Lei Bu Tong ,LiveData Ju You Sheng Ming Zhou Qi Gan Zhi Neng Li ,Yi Zhi Ta Zun Xun Qi Ta Ying Yong Zu Jian (Ru Activity, Fragment Huo Service)De Sheng Ming Zhou Qi . Zhe Chong Gan Zhi Neng Li Ke Que Bao LiveData Jin Geng Xin Chu Yu Huo Yue Sheng Ming Zhou Qi Zhuang Tai De Ying Yong Zu Jian Guan Cha Zhe

LiveData Fen Wei Ke Bian Zhi De MutableLiveData He Bu Ke Bian Zhi De LiveData

Chang Yong Fang Fa :

fun test() {
val liveData = MutableLiveData<String>()
// She Zhi Geng Xin Shu Ju Yuan
liveData.value = "LiveData"
// Jiang Ren Wu Fa Bu Dao Zhu Xian Cheng Yi She Zhi Gei Ding Zhi
liveData.postValue("LiveData")
// Huo Qu Zhi
val value = liveData.value
// Guan Cha Shu Ju Yuan Geng Gai (Di Yi Ge Can Shu Ying Shi owner:LifecycleOwner Bi Ru Shi Xian Liao LifecycleOwnerJie Kou De Activity)
liveData.observe(this, {
// Shu Ju Yuan Geng Gai Hou Hong Fa De Luo Ji
})
}

Zi Liao :

Guan Fang Wen Dang : https://developer.android.com/topic/libraries/architecture/livedata

Lifecycle

Lifecycle Shi Yi Ge Lei ,Yong Yu Cun Chu You Guan Zu Jian (Ru Activity Huo Fragment)De Sheng Ming Zhou Qi Zhuang Tai De Xin Xi ,Bing Yun Xu Qi Ta Dui Xiang Guan Cha Ci Zhuang Tai . LifecycleOwner Shi Dan Yi Fang Fa Jie Kou ,Biao Shi Lei Ju You Lifecycle. Ta Ju You Yi Chong Fang Fa (Ji getLifecycle()),Gai Fang Fa Bi Xu You Lei Shi Xian . Shi Xian LifecycleObserver De Zu Jian Ke Yu Shi Xian LifecycleOwner De Zu Jian Wu Feng Xie Tong Gong Zuo ,Yin Wei Suo You Zhe Ke Yi Ti Gong Sheng Ming Zhou Qi ,Er Guan Cha Zhe Ke Yi Zhu Ce Yi Guan Cha Sheng Ming Zhou Qi .

Zi Liao :

Guan Fang Wen Dang : https://developer.android.com/topic/libraries/architecture/lifecycle

Hilt

Hilt Shi Android De Yi Lai Xiang Zhu Ru Ku ,Ke Jian Shao Zai Xiang Mu Zhong Zhi Xing Shou Dong Yi Lai Xiang Zhu Ru De Yang Ban Dai Ma . Zhi Xing Shou Dong Yi Lai Xiang Zhu Ru Yao Qiu Nin Shou Dong Gou Zao Mei Ge Lei Ji Qi Yi Lai Xiang ,Bing Jie Zhu Rong Qi Zhong Fu Shi Yong He Guan Li Yi Lai Xiang .

Hilt Tong Guo Wei Xiang Mu Zhong De Mei Ge Android Lei Ti Gong Rong Qi Bing Zi Dong Guan Li Qi Sheng Ming Zhou Qi ,Ti Gong Liao Yi Chong Zai Ying Yong Zhong Shi Yong **DI(Yi Lai Xiang Zhu Ru )**De Biao Zhun Fang Fa . Hilt Zai Re Men DI Ku Dagger De Ji Chu Shang Gou Jian Er Cheng ,Yin Er Neng Gou Shou Yi Yu Dagger De Bian Yi Shi Zheng Que Xing , Yun Xing Shi Xing Neng , Ke Shen Suo Xing He Android Studio Zhi Chi .

Zi Liao :

Mu Qian Guan Fang Wen Dang Huan Mei You Geng Xin Zheng Shi Ban De ,Huan Shi alpha Ban Ben De Wen Dang :Shi Yong Hilt Shi Xian Yi Lai Xiang Zhu Ru

Dagger De Hilt Wen Dang Mu Qian Shi Zui Xin De :Dagger-Hilt

Coil

Coil Shi Yi Ge Android Tu Pian Jia Zai Ku ,Tong Guo Kotlin Xie Cheng De Fang Shi Jia Zai Tu Pian . Te Dian Ru Xia :

  • Geng Kuai : Coil Zai Xing Neng Shang You Hen Duo You Hua ,Bao Gua Nei Cun Huan Cun He Ci Pan Huan Cun ,Ba Suo Lue Tu Cun Bao Cun Zai Nei Cun Zhong ,Xun Huan Li Yong bitmap,Zi Dong Zan Ting He Qu Xiao Tu Pian Wang Luo Qing Qiu Deng .
  • Geng Qing Liang Ji : Coil Zhi You 2000Ge Fang Fa (Qian Ti Shi Ni De APP Li Mian Ji Cheng Liao OkHttp He Coroutines),Coil He Picasso De Fang Fa Shu Chai Bu Duo ,Xiang Bi Glide He Fresco Yao Qing Liang Hen Duo .
  • Geng Rong Yi Shi Yong : Coil De API Chong Fen Li Yong Liao Kotlin Yu Yan De Xin Te Xing ,Jian Hua He Jian Shao Liao Hen Duo Yang Ban Dai Ma .
  • Geng Liu Xing : Coil Shou Xuan Kotlin Yu Yan Kai Fa Bing Qie Shi Yong Bao Han Coroutines, OkHttp, Okio He AndroidX Lifecycles Zai Nei Zui Liu Xing De Kai Yuan Ku .

Coil Ming Zi De You Lai :Qu Coroutine Image Loader Shou Zi Mu De Lai .

Zi Liao :

Guan Fang Wen Dang : https://coil-kt.github.io/coil/

San Fang Ku Yuan Ma Bi Ji (13)-Ke Neng Shi Quan Wang Di Yi Pian Coil De Yuan Ma Fen Xi Wen Zhang :https://juejin.cn/post/6897872882051842061

[(Qi Ji Yin Qiao )] Xin De Tu Pian Jia Zai Ku ?Ji Yu KotlinXie Cheng De Tu Pian Jia Zai Ku ----Coil:https://juejin.cn/post/6844904159527829518