It's a starter pack for creating Android projects in Android Studio. This collection contains libraries which I used to including to almost every project.
Since every project can have different configuration of libraries I create a sample project that presents a combination of my favourite libraries. The reasons why I created this is to:
- keep update with the newest versions of the libraries that I use
- create my own combination of the solutions
- have a playground for testing new libraries and tools and checking how they behave with my current solutions
- provide a sample Android application as a scheme for new projects
Name | Project site | Version |
---|---|---|
Dagger 2 | http://google.github.io/dagger/ | |
Mosby MVP | https://github.com/sockeqwe/mosby | |
Retrolambda | https://github.com/evant/gradle-retrolambda | |
RxJava2 | https://github.com/ReactiveX/RxJava | |
RxAndroid2 | https://github.com/ReactiveX/RxAndroid | |
Retrofit | http://square.github.io/retrofit/ | |
Retrofit: GSON converter | - | |
Retrofit: RxJava2 adapter | - | |
OkHttp | http://square.github.io/okhttp/ | |
OkHttp: Logger | - | |
GSON | https://github.com/google/gson | |
Timber | https://github.com/JakeWharton/timber | |
Butterknife | http://jakewharton.github.io/butterknife/ |
Name | Project site | Version |
---|---|---|
JUnit 4 | https://github.com/junit-team/junit4 | |
Mockito | https://github.com/mockito/mockito | |
Dagger Mock | https://github.com/fabioCollini/DaggerMock |
- MVP architecture based on Mosby.
- Presenters that survive configuration changes.
- Dagger 2 dependency injection.
- Separated Dagger modules, scopes for presenters.
- Repository pattern for data managing.
- Local data storage: Realm.
- Handling no internet connection issue. Loading data from local storage.
- Unit tests.
Copyright 2016 Szymon Grochowiak
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.