序文
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に入ります。**コレクションチャネルがあります。