https://github.com/allaboutapps/a3androidtemplate
Template project to improve project start experience for android
https://github.com/allaboutapps/a3androidtemplate
android dagger2 id-allaboutapps-android kotlin
Last synced: about 1 year ago
JSON representation
Template project to improve project start experience for android
- Host: GitHub
- URL: https://github.com/allaboutapps/a3androidtemplate
- Owner: allaboutapps
- License: unlicense
- Created: 2018-07-09T07:46:41.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-11-15T14:21:08.000Z (over 2 years ago)
- Last Synced: 2025-03-28T14:11:32.886Z (about 1 year ago)
- Topics: android, dagger2, id-allaboutapps-android, kotlin
- Language: Kotlin
- Homepage:
- Size: 517 KB
- Stars: 14
- Watchers: 8
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Android Project Template
_Use this template project to improve your project setup experience._

## Contents
* recommended package structure
* multi module
* latest libraries ([AndroidX], [Retrofit], [Moshi], A3 libraries, [Timber], [LeakCanary])
* flavor dimension for development environments (`dev`, `staging`, `live`)
* Retrofit + Moshi setup
* Firebase Analytics and Messaging setup
* Splash screen setup:
* Google Play services [Open Source Notices](#open-source-notices) activity
* (optional) [Texterify](#texterify) setup
* [ktlint] integration via [ktlint-gradle-plugin]
[AndroidX]: "AndroidX Overview | Android Developers"
[Retrofit]: "square/retrofit: A type-safe HTTP client for Android and the JVM"
[Moshi]: "square/moshi: A modern JSON library for Kotlin and Java."
[Timber]: "JakeWharton/timber: A logger with a small, extensible API which provides utility on top of Android's normal Log class."
[LeakCanary]: "square/leakcanary: A memory leak detection library for Android."
[ktlint]: "pinterest/ktlint: An anti-bikeshedding Kotlin linter with built-in formatter"
[ktlint-gradle-plugin]: "mfederczuk/ktlint-gradle-plugin: ktlint Gradle Plugin"
## Project Setup (using this template)
Install [Cookiecutter](http://cookiecutter.readthedocs.io/en/latest/installation.html) and run the following command to
fetch and use this template:
```sh
cookiecutter gh:allaboutapps/A3AndroidTemplate
```
Supply the following values when prompted:
1) `repo_name` - Directory name where to create the new project (e.g.: `myproject-android`)
2) `app_name` - App name (pretty/display name)
3) `package_name` - App package name (e.g.: `com.example.app`)
4) `package_name_dir` - Directory of the app package, relative to the `app/src/main/java` directory.
(used to generate the correct directory structure)
Default value is the same as `package_name`, with dots/periods replaced with slashes.
5) `string_tool` - The string-export tool for this project (`none` or `texterify`)
6) `texterify_project_id` - ID of your Texterify project (default is empty)
7) `texterify_export_config` - Export Configuration ID of your Texterify project (default is empty)
8) `firebase_analytics` - Whether or not to setup Firebase Analytics (default: `no`)
9) `firebase_messaging` - Whether or not to add basic setup for FCM (default: `no`)
### Texterify
To fetch the latest strings from the configured [Texterify] project, run the gradle task `updateStrings`.
The config file `texterify.json` is located in the `app` directory.
[Texterify]: "texterify/texterify: The translation and localization management system."
### Open Source Notices
To show the Google Play services' Open Source Notices activity just add the following code:
```kotlin
startActivity(Intent(this, OssLicensesMenuActivity::class.java))
```
More details can be found in the [Google Play services documentation].
[Google Play services documentation]: "Include open source notices | Google Play services | Google Developers"
---
Du suchst einen spannenden Job im Mobile Bereich?
Looking for a job?
[We're hiring @all about apps](https://www.allaboutapps.at/jobs/)