Android Kotlin MVP 架构项目教程

Android Kotlin MVP 架构项目教程

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

1. 项目的目录结构及介绍

项目的目录结构如下:

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

目录结构介绍

  • app/: 包含应用程序的主要代码和资源。
    • build.gradle: 应用程序的构建脚本。
    • proguard-rules.pro: ProGuard 规则文件。
    • src/: 源代码目录。
      • androidTest/: 包含 Android 测试代码。
      • main/: 包含主要的应用程序代码。
        • AndroidManifest.xml: 应用程序的清单文件。
        • java/: 包含 Java/Kotlin 代码。
          • com.janishar.ali.mvparchitecture/: 主包名。
            • data/: 包含数据访问和操作组件。
            • di/: 包含依赖注入相关类。
            • ui/: 包含视图类及其对应的 Presenter。
            • utils/: 包含工具类。
        • res/: 包含资源文件,如布局、字符串、图片等。
      • test/: 包含单元测试代码。
  • build.gradle: 项目的根构建脚本。
  • gradle.properties: Gradle 属性文件。
  • gradlew: Gradle 包装器脚本。
  • gradlew.bat: Windows 下的 Gradle 包装器脚本。
  • settings.gradle: 项目设置文件。
  • README.md: 项目说明文档。

2. 项目的启动文件介绍

项目的启动文件是 MainActivity.kt,位于 app/src/main/java/com/janishar/ali/mvparchitecture/ui/main/MainActivity.kt

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()
    }
}

3. 项目的配置文件介绍

build.gradle (项目级)

项目级的 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

你可能感兴趣的:(Android Kotlin MVP 架构项目教程)