|
| 1 | +# Android Starter |
| 2 | + |
| 3 | +[](https://raw.githubusercontent.com/general-mobile/kotlin-android-mvp-starter/master/LICENSE) |
| 4 | +[](http://developer.android.com/index.html) |
| 5 | + |
| 6 | +Android Kotlin Starter is a starter project which implements MVP Pattern. |
| 7 | + |
| 8 | +## Thanks |
| 9 | +This project extends from [Deniz Tunç Tuncer](https://github.com/dtunctuncer)'s [Android Starter](https://github.com/dtunctuncer/android-mvp-starter) project |
| 10 | + |
| 11 | +## Libraries |
| 12 | +It includes libraries |
| 13 | +- [RxJava2](https://github.com/ReactiveX/RxJava) and [RxAndroid](https://github.com/ReactiveX/RxAndroid) and [RxKotlin](https://github.com/ReactiveX/RxKotlin) |
| 14 | +- [Retrofit](http://square.github.io/retrofit/) / [OkHttp](http://square.github.io/okhttp/) |
| 15 | +- [Gson](https://github.com/google/gson) |
| 16 | +- [Dagger 2](http://google.github.io/dagger/) |
| 17 | +- [Butterknife](https://github.com/JakeWharton/butterknife) |
| 18 | +- [Timber](https://github.com/JakeWharton/timber) |
| 19 | +- [Espresso](https://google.github.io/android-testing-support-library/) for UI tests |
| 20 | +- [Crashlytics](https://try.crashlytics.com/) |
| 21 | +- [Realm](https://realm.io/) |
| 22 | +- [Picasso](http://square.github.io/picasso/) |
| 23 | + |
| 24 | +**You can choose which library you want to include in your project** |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | +#### Requirements |
| 29 | + |
| 30 | +[python](https://www.python.org/) |
| 31 | +[pip](https://pypi.python.org/pypi/pip) |
| 32 | +[cookiecutter](https://github.com/audreyr/cookiecutter) |
| 33 | + |
| 34 | +#### Install |
| 35 | +``` |
| 36 | +1. Install python |
| 37 | +2. Install pip |
| 38 | +3. pip install cookiecutter |
| 39 | +``` |
| 40 | + |
| 41 | +Scaffold your project: |
| 42 | +``` |
| 43 | +cookiecutter https://github.com/general-mobile/kotlin-android-mvp-starter.git |
| 44 | +``` |
| 45 | + |
| 46 | + |
| 47 | +##### Project Tree After Scaffold |
| 48 | +```bash |
| 49 | +. |
| 50 | +├── app |
| 51 | +│ ├── app.iml |
| 52 | +│ ├── build.gradle |
| 53 | +│ ├── proguard-rules.pro |
| 54 | +│ └── src |
| 55 | +│ ├── androidTest |
| 56 | +│ │ └── java |
| 57 | +│ │ └── com |
| 58 | +│ │ └── generalmobile |
| 59 | +│ │ └── app |
| 60 | +│ │ └── test |
| 61 | +│ │ └── ApplicationTest.java |
| 62 | +│ ├── main |
| 63 | +│ │ ├── AndroidManifest.xml |
| 64 | +│ │ ├── kotlin |
| 65 | +│ │ │ └── com |
| 66 | +│ │ │ └── generalmobile |
| 67 | +│ │ │ └── app |
| 68 | +│ │ │ └── test |
| 69 | +│ │ │ ├── Application.kt |
| 70 | +│ │ │ ├── base |
| 71 | +│ │ │ │ ├── BaseActivity.kt |
| 72 | +│ │ │ │ └── IBaseView.kt |
| 73 | +│ │ │ ├── di |
| 74 | +│ │ │ │ ├── component |
| 75 | +│ │ │ │ │ └── ApplicationComponent.kt |
| 76 | +│ │ │ │ ├── module |
| 77 | +│ │ │ │ │ ├── ApplicationModule.kt |
| 78 | +│ │ │ │ │ ├── DatabaseModule.kt |
| 79 | +│ │ │ │ │ └── NetModule.kt |
| 80 | +│ │ │ │ └── scope |
| 81 | +│ │ │ │ └── ActivityScope.kt |
| 82 | +│ │ │ ├── main |
| 83 | +│ │ │ │ ├── IMainView.kt |
| 84 | +│ │ │ │ ├── MainActivity.kt |
| 85 | +│ │ │ │ ├── MainComponent.kt |
| 86 | +│ │ │ │ ├── MainModule.kt |
| 87 | +│ │ │ │ └── MainPresenter.kt |
| 88 | +│ │ │ ├── splash |
| 89 | +│ │ │ │ └── SplashActivity.kt |
| 90 | +│ │ │ └── utils |
| 91 | +│ │ │ ├── RxBus.kt |
| 92 | +│ │ │ └── timber |
| 93 | +│ │ │ └── CrashReportTree.kt |
| 94 | +│ │ └── res |
| 95 | +│ │ ├── drawable |
| 96 | +│ │ │ ├── android_starter.png |
| 97 | +│ │ │ └── splash_logo.xml |
| 98 | +│ │ ├── layout |
| 99 | +│ │ │ └── activity_main.xml |
| 100 | +│ │ ├── menu |
| 101 | +│ │ │ └── menu_main.xml |
| 102 | +│ │ ├── mipmap-hdpi |
| 103 | +│ │ │ ├── ic_launcher.png |
| 104 | +│ │ │ └── ic_launcher_round.png |
| 105 | +│ │ ├── mipmap-mdpi |
| 106 | +│ │ │ ├── ic_launcher.png |
| 107 | +│ │ │ └── ic_launcher_round.png |
| 108 | +│ │ ├── mipmap-xhdpi |
| 109 | +│ │ │ ├── ic_launcher.png |
| 110 | +│ │ │ └── ic_launcher_round.png |
| 111 | +│ │ ├── mipmap-xxhdpi |
| 112 | +│ │ │ ├── ic_launcher.png |
| 113 | +│ │ │ └── ic_launcher_round.png |
| 114 | +│ │ ├── mipmap-xxxhdpi |
| 115 | +│ │ │ ├── ic_launcher.png |
| 116 | +│ │ │ └── ic_launcher_round.png |
| 117 | +│ │ ├── values |
| 118 | +│ │ │ ├── colors.xml |
| 119 | +│ │ │ ├── dimens.xml |
| 120 | +│ │ │ ├── strings.xml |
| 121 | +│ │ │ └── styles.xml |
| 122 | +│ │ ├── values-v21 |
| 123 | +│ │ │ └── styles.xml |
| 124 | +│ │ └── values-w820dp |
| 125 | +│ │ └── dimens.xml |
| 126 | +│ └── test |
| 127 | +│ └── java |
| 128 | +│ └── com |
| 129 | +│ └── generalmobile |
| 130 | +│ └── app |
| 131 | +│ └── test |
| 132 | +│ └── ExampleUnitTest.java |
| 133 | +├── build.gradle |
| 134 | +├── gradle |
| 135 | +│ └── wrapper |
| 136 | +│ ├── gradle-wrapper.jar |
| 137 | +│ └── gradle-wrapper.properties |
| 138 | +├── gradle.properties |
| 139 | +├── gradlew |
| 140 | +├── gradlew.bat |
| 141 | +├── local.properties |
| 142 | +├── settings.gradle |
| 143 | +└── test.iml |
| 144 | + |
| 145 | +43 directories, 51 files |
| 146 | +``` |
| 147 | + |
| 148 | + |
| 149 | +## License |
| 150 | + |
| 151 | + The MIT License (MIT) |
| 152 | + |
| 153 | + Copyright (c) 2017 General Mobile |
| 154 | + |
| 155 | + Permission is hereby granted, free of charge, to any person obtaining a copy |
| 156 | + of this software and associated documentation files (the "Software"), to deal |
| 157 | + in the Software without restriction, including without limitation the rights |
| 158 | + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| 159 | + copies of the Software, and to permit persons to whom the Software is |
| 160 | + furnished to do so, subject to the following conditions: |
| 161 | + |
| 162 | + The above copyright notice and this permission notice shall be included in all |
| 163 | + copies or substantial portions of the Software. |
| 164 | + |
| 165 | + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| 166 | + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 167 | + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| 168 | + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| 169 | + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| 170 | + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 171 | + SOFTWARE. |
0 commit comments