このプロジェクトは、次のことを目指しています。
仕様の概要:
このアプリがデータを消費する場所からの対応するサーバーAPIは次のとおりです - > rails-api-base
お気に入りのIDEまたはAndroid SDK(BuildTools 23.0.2とCompilesDK 23をインストールするか、 dependencies.gradleで独自のバージョンを定義します)。 Android Studioを使用しています。
リポジトリをクローンして中に入ります。
git clone git://github.com/jordifierro/android-base.git --origin android-base YourProjectName
cd YourProjectName
./bin/remove_notes
./bin/rename_project YourProjectName your.package.name
./gradlew clean build cAT
./bin/reset_git https://github.com/yourusername/YourProjectName.git
それだけです、あなたは今あなた自身のアプリの開発を始めることができます!
注:アプリを実行するには(今すぐテストのみを実行できます)、APIサーバー(Rails-API-Baseはすでにこのアプリを提供するように開発されているが、独自のものを作成することもできます)をセットアップし、 RestApiを構成するように構成することを忘れないでください(RESTAPI.java Paramsを変更するだけです)。
アプリケーション自体はほとんど空であり、基本的なモジュールを提供し、構造をいくつかのパターンで実装し、サンプルコードを提供することのみを目的としています。ここに仕様があります:
このアプリケーションの主な目標は、アプリの基本的なボイラープレートコードの作成を避けることです。したがって、次の機能はすでに実装されています。
これは今から使用でき、さらにコードを追加するための構造化された方法も提供します。
より多くのサンプルコードを提供するために、 titleとcontentで構成されるnotes (手書きの紙の表明など)を管理するためのコードが開発されました。したがって、アプリにはメモインデックス、詳細、画面の作成と編集があります。
そのユニークな目的は、サンプルコードになることであるため、 ./bin/remove_notes remove_notesスクリプトを実行すると削除されます。
このコードは、クリーンアーキテクチャアプローチとモデルビュープレセンター(MVP)パターンに従って構成されています。詳細については、これとこの投稿、およびこのプロジェクトを確認してください。
依存関係の反転原理は、基本的にテストを容易にし、コンポーネントを分離して再利用可能にするために、アプリで使用されます。また、ボイラープレートコードを削減し、インスタンススコープの管理に役立ちます。それを達成するために使用されるライブラリはダガー2です。バターナイフは、視聴噴射に使用されます。
クリーンアーキテクチャにより、さまざまなレイヤーを作成し、コールバックHellを回避するために、Reactivexライブラリを使用してReactiveプログラミングパラダイムが適用されます。
クライアントアプリとして、その主な目標は、ユーザーがサーバーAPIのデータと対話させることです。このプロジェクトは、それを簡単に処理する方法を示しています。レトロフィットライブラリは、API呼び出しメソッドを実装するために使用されます。認証、APIバージョン、および国際化がリクエストに含まれています。
このプロジェクトの最も興味深いことの1つは、データモジュールからAndroidビューまで、すべての中間層を含む完全なユニットテストカバレッジがあることです。これは、クリーンなアーキテクチャ、依存関係の反転、優れたテストの実践の使用の結果です。その1つの例は、ビューテストで、ビュープレゼンターがモキトによってock笑され、カスタムJunitランナーが提供するDaggerコンポーネントをテストすることで注入されます。
ここでは、このテストの一部を説明するチュートリアルを見つけることができます。
別のパターンとグッドプラクティスがプロジェクトで使用されます。アクティビティや断片的な断片を継承し、断片を使用し、アクティビティのナビゲーションを定義して画面のリモデリングの痛みを失い、インターフェイスを使用してコンポーネントを分離します... String Internationalization、Stiled Sheetの使用、その他の小さな方法論なども従います。ここでは、使用済みのリソースの1つ - > Androidのベストプラクティス。
Travis-CIは、各プッシュですべてのテストを実行するための連続統合システムとして追加されています(JavaとAndroidテストの両方)。
テストをローカルで実行するには、デバイスを接続するか、エミュレータを実行して実行します。
./gradlew clean build cAT
これにより、JavaとAndroidの両方のテストが実行されます。
このテンプレートを使用して、ゼロから新しいプロジェクトを簡単に開始するための/binフォルダーの下にスクリプトがいくつかあります。上記の「クイックスタート」セクションに従ってください。
すべてのシェルスクリプトは、シェルチェックツールによって検証されます。
このアプリがデータ - > rails-api-baseを消費するカウンターパートサーバーAPIは次のとおりです。
すべての提案と貢献は大歓迎です!
./gradlew clean build cAT
残念ながら、貢献者はまだありません。
http://jordifierro.com