A rewritten version of one of my first projects: "Pasolini: Sguardi di Vita" using a MVVM architecture and Kotlin.
The app present content regarding the italian poet Pier Paolo Pasolini and the Rome neighbourhood where he mainly lived, guiding the user in a digital and interactive visit of these places.
Inspired by @Plastix Android-Boilerplate as project template.
- Dagger 2
- RxJava 2 and RxAndroid
- Retrofit 2
- Picasso
- Google Support Libraries
- MetaioSDK
- Google Maps APIs
- YouTube APIs
To compile and run the project you'll need:
- Android SDK
- Android N (API 25)
- Android SDK Tools
- Android SDK Build Tools
25
- Android Support Repository
- Kotlin
1.0.6
- Kotlin plugin for Android Studio
To build, install and run a debug version, run this from the root of the project:
./gradlew assembleDebug
To run unit tests on your machine:
./gradlew test
To run instrumentation tests on connected devices:
./gradlew connectedAndroidTest
A release build needs to be signed with an Android Keystore. The easiest way to generate a keystore is to open
Android Studio and go to Build -> Generate Signed Apk -> Create New...
After that you need to create a
signing.properties
file in the root directory and add the following info to it:
STORE_FILE=/path/to/your.keystore
STORE_PASSWORD=yourkeystorepass
KEY_ALIAS=projectkeyalias
KEY_PASSWORD=keyaliaspassword
Running ./gradlew assembleRelease
will then build and sign a release version of the app.
In a nutshell, Kotlin throws all the bad parts of Java out the window and brings lots of great features from Java 8 and functional programming (Yet still compiling to Java 6 bytecode). Kotlin brings much needed language features to Android which is stuck on Java 6.