android-kotlin-mvp-architectureThis repository contains a detailed sample app that implements MVP architecture in Kotlin using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView项目地址:https://gitcode.com/gh_mirrors/an/android-kotlin-mvp-architecture
项目的目录结构如下:
android-kotlin-mvp-architecture/
├── app/
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── androidTest/
│ ├── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com.janishar.ali.mvparchitecture/
│ │ │ ├── data/
│ │ │ ├── di/
│ │ │ ├── ui/
│ │ │ └── utils/
│ │ └── res/
│ └── test/
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── README.md
项目的启动文件是 MainActivity.kt
,位于 app/src/main/java/com/janishar/ali/mvparchitecture/ui/main/MainActivity.kt
。
MainActivity.kt
是应用程序的主活动,负责初始化 UI 和 Presenter,并处理用户交互。
package com.janishar.ali.mvparchitecture.ui.main
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.janishar.ali.mvparchitecture.R
import com.janishar.ali.mvparchitecture.di.component.DaggerActivityComponent
import com.janishar.ali.mvparchitecture.di.module.ActivityModule
import javax.inject.Inject
class MainActivity : AppCompatActivity(), MainContract.View {
@Inject
lateinit var presenter: MainPresenter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
injectDependencies()
presenter.onAttach(this)
}
private fun injectDependencies() {
DaggerActivityComponent.builder()
.activityModule(ActivityModule(this))
.build()
.inject(this)
}
override fun onDestroy() {
presenter.onDetach()
super.onDestroy()
}
}
项目级的 build.gradle
文件包含项目的全局配置,如构建工具版本、依赖仓库等。
// 项目级的 build.gradle 文件
buildscript {
ext.kotlin_version = '1.5.21'
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
all
android-kotlin-mvp-architectureThis repository contains a detailed sample app that implements MVP architecture in Kotlin using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView项目地址:https://gitcode.com/gh_mirrors/an/android-kotlin-mvp-architecture