Kotlinを使用してMVPアーキテクチャのAndroidRapid Developmentフレームワークを実現するにはどうすればよいですか?

序文

GoogleがKotlinを公用語として公式に設定して以来、ますます多くの人々がKotlinを学び始めました。少し前に、友人からKotlinの学習方法を尋ねられました。

最近、私はこの問題について考えています。これはあなたと共有するプロジェクトであり、Kotlinを使用してMVPアーキテクチャのAndroid迅速開発フレームワークを実装する方法を教えていますか?

前書き

  • KCommonの迅速な開発フレームワークは、rxjava、rxcache、okhttp、retrofit、rxlifecycleなどのサードパーティライブラリに基づいています。mvpアーキテクチャとkotlin言語で開発されたサードパーティライブラリを採用しています。ワンクリックのAndroidで使用できます。 mvp関連のコードファイルを生成するStudioテンプレートファイル。ユーザーは、mvpに関連する面倒な構成ではなく、迅速に開発し、コードロジックに集中できます。また、読み込み、成功、失敗、空のページの切り替えを統合し、プルダウン更新とプルアップのテンプレートを提供して、より多くのリストを読み込みます(BaseRefreshAndLoadMoreActivity || BaseRefreshAndLoadMoreFragment)。これにより、Android開発者が同じタイプを繰り返す必要がなくなります。コード書き込みの。Githubアドレス

  • この開発フレームワークを使用するために必要ないくつかの事前知識

    • Androidのmvpアーキテクチャに精通している
    • rxjava、rxcache、rxlifecycleなどのレスポンシブプログラミングフレームワークに精通している。
    • okhttpに精通している、改造
    • 迅速な開発テンプレートを指定された場所にコピーして使用します
  • KCommonは、開発を容易にするための2つのテンプレートを提供します

    • BaseActivityとBaseFragmentはBaseで始まります。これは一般的な開発に適しています。具体的な使用方法については、関連するデモを参照してください。
    • BaseRefreshAndLoadMoreActivityおよびBaseRefreshAndLoadMoreFragmentはBaseRefreshAndLoadMoreで始まります。リスト表示に適したこの種のページ開発には、プルダウンリフレッシュとプルアップの機能があり、より多くのデータをロードできます。具体的な使用方法については、関連するデモを参照してください。
    • Kotlinバージョンのデモ Javaバージョンのデモ

画像表示

  • トータルプレゼンテーション
  • プルダウンして更新し、プルアップしてさらにロードします
  • 空のページ

  • 切断された場合のキャッシュのロード
  • ネットワーク要求エラーとリロード

Kotlinに基づく手順(Javaの使用については、Javaバージョンのデモを参照してください)

  • 依存関係をインポートする

    • ルートディレクトリのbuild.gradleファイルに追加します
    maven { url "https://jitpack.io" }
    
    • アプリケーションの下にbuild.gradleファイルを追加します
  • カスタムApplicationクラスのonCreateメソッドでCommonLibraryを初期化します

// KCommon
CommonLibrary.instance.initLibrary(this、

            BuildConfig.APP_URL,
            ApiService::class.java,
            CacheService::class.java)
* 建议配合一键生成相关MVP类的Android Studio模板进行开发,可极大提高开发效率。模板位置 [Android Studio 快速开发模板](https://github.com/BlackFlagBin/KCommonTemplate)

### 详细说明
* CommonLibrary.instance.initLibrary()
/**
 * 初始化
 *
 * @param context Application
 * @param baseUrl retrofit所需的baseUrl
 * @param apiClass retrofit使用的ApisService::Class.java
 * @param cacheClass rxcache使用的CacheService::Class.java
 * @param spName Sharedpreference文件名称
 * @param isDebug 是debug环境还是release环境。debug环境有网络请求的日志,release反之
 * @param startPage 分页列表的起始页,有可能是0,或者是2,这个看后台
 * @param pageSize 分页大小
 * @param headerMap 网络请求头的map集合,便于在网络请求添加统一的请求头,比如token之类
 * @param errorHandleMap 错误处理的map集合,便于针对相关网络请求返回的错误码来做相应的处理,比如错误码401,token失效需要重新登录
 * @param onPageCreateListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理
 * @param onPageDestroyListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理
 * @param onPageResumeListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理
 * @param onPagePauseListener 对应页面activity或fragment相关生命周期的回调,便于在页面相关时机做一些统一处理,比如加入友盟统计需要在所有页面的相关生命周期加入一些处理
 *
 */
fun initLibrary(
        context: Application,
        baseUrl: String,
        apiClass: Class<*>,
        cacheClass: Class<*>,
        spName: String = "kcommon",
        isDebug: Boolean = true,

作成者:BlackFlagBin
元のアドレス:https://segmentfault.com/a/1190000014387119?utm_source = sf-related

プロジェクトの作者は最近それを維持しました。まだいくつかの問題がありますが、多くの人々にとって学ぶ価値のあることがまだたくさんあります。興味のある友達はそれを掘り下げることができます。

上記はKotlinプロジェクトの実際の共有です。以下では、外国のKotlin学习手册ボスが編集した「Kotlin From EntrytoProficiency」を紹介します

このマニュアルは、簡単な方法で深遠な理論を含み、知識のポイントを詳細に分割して説明し、初心者が始めるための最初の資料として非常に適しています。ファイルは無料で共有されます。ファイルが必要な友達は、**いいね+メッセージを残してから、ここの青いフォントをクリックしてGitHubに入ります。**コレクションチャネルがあります。

目次

  • 始める準備ができました
  • 基礎
  • クラスとオブジェクト
  • 関数とラムダ式
  • 相互運用性
  • ツール
  • よくある質問
  • ……

始める準備ができました

  • 基本的な文法
  • イディオム
  • コーディングスタイル
  • ……

基礎

  • ベーシックタイプ
  • パッケージ
  • 制御フロー
  • 戻ってジャンプ
  • ……

クラスとオブジェクト

  • クラスと継承
  • 属性とフィールド
  • インターフェース
  • 可視性修飾子
  • 展開
  • データオブジェクト
  • ジェネリック
  • ネストされたクラス
  • 列挙型クラス
  • オブジェクトの式と宣言
  • エージェンシーモデル
  • エージェント属性
  • ……

関数とラムダ式

  • 関数
  • 高度な関数とラムダ式
  • インライン関数
  • ……

相互運用性

  • 動的型付け
  • ……

ツール

  • Kotlinコードのドキュメント
  • Mavenを使用する
  • Antを使用する
  • グリフォンを使用する
  • Gradleを使用する
  • ……

よくある質問

  • Javaとの対比
  • Scalaと対比
  • ……

このマニュアルは、簡単な方法で深遠な理論を含み、知識のポイントを詳細に分割して説明し、初心者が始めるための最初の資料として非常に適しています。ファイルは無料で共有されます。ファイルが必要な友達は、**いいね+メッセージを残してから、ここの青いフォントをクリックしてGitHubに入ります。**コレクションチャネルがあります。

おすすめ

転載: blog.csdn.net/weixin_49559515/article/details/112389929