All Projects → iamBedant → InstantAppStarter

iamBedant / InstantAppStarter

Licence: MIT license
Starter Project Structure for Android Instant app. https://blog.mindorks.com/android-mvp-architecture-with-instant-app-support-11ba48241a82

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to InstantAppStarter

Android-Starter-Kit
This is up-to-date android studio project for native android application, that is using modern tools and libraries.
Stars: ✭ 16 (-63.64%)
Mutual labels:  dagger2, rxjava2, retrofit2, timber, mvp-android
Just Another Android App
An Android base app with loads of cool libraries/configuration NOT MAINTAINED
Stars: ✭ 1,654 (+3659.09%)
Mutual labels:  android-development, dagger2, retrofit2, timber, mvp-android
BakingApp
Udacity Android Developer Nanodegree, project 2.
Stars: ✭ 54 (+22.73%)
Mutual labels:  dagger2, rxjava2, retrofit2, timber, mvp-android
Weather-Guru-MVP
Sample Material-design Android weather application build with MVP architectural approach using Dagger2, RxJava2, Retrofit2, Event-Bus, GreenDao, Butterknife, Lottie etc.
Stars: ✭ 15 (-65.91%)
Mutual labels:  android-development, dagger2, rxjava2, retrofit2
BESTV
Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.
Stars: ✭ 49 (+11.36%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
LittleLight
An Android app that uses Destiny's API to interact with in-game inventory.
Stars: ✭ 19 (-56.82%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
MVPArchitecture
Android MVP architecture in Kotlin using Dagger2, RxJava2, Retrofit2 and so on
Stars: ✭ 27 (-38.64%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
Android Mvp Mvvm Flytour
🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精…
Stars: ✭ 2,948 (+6600%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
Kotlin Android Mvvm Starter
Android Kotlin Starter is a starter project which implements MVVM Pattern.
Stars: ✭ 276 (+527.27%)
Mutual labels:  dagger2, rxjava2, retrofit2, timber
Mvpframes
整合大量主流开源项目并且可高度配置化的 Android MVP 快速集成框架,支持 AndroidX
Stars: ✭ 100 (+127.27%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
Bigbang
Android base project used by Xmartlabs team
Stars: ✭ 47 (+6.82%)
Mutual labels:  dagger2, rxjava2, retrofit2, timber
Kotlin Android Scaffolding
An android project structure using kotlin and most common libraries.
Stars: ✭ 53 (+20.45%)
Mutual labels:  android-development, dagger2, rxjava2, retrofit2
uv-index
This is a work-in-progress (🔧️) ultraviolet index viewer app for demonstrating Instant Apps + Kotlin + Dagger + MVP
Stars: ✭ 64 (+45.45%)
Mutual labels:  retrofit2, timber, mvp-android, instant-apps
mvp-android-template
MVP Android Template to give you a Quick Head Start for your next Android Project. It implements MVP Architecture using Dagger2, Room, RxJava2 , Retrofit2
Stars: ✭ 20 (-54.55%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
Moviehub
Showcases popular movies, tv shows, and people from The Movie Database
Stars: ✭ 325 (+638.64%)
Mutual labels:  dagger2, rxjava2, retrofit2, timber
Rxapp
Stars: ✭ 108 (+145.45%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
Armscomponent
📦 A complete android componentization solution, powered by MVPArms (MVPArms 官方快速组件化方案).
Stars: ✭ 1,664 (+3681.82%)
Mutual labels:  dagger2, rxjava2, retrofit2, mvp-android
Wanandroid
WanAndroid客户端,项目基于 Material Design + MVP +dagger2 + RxJava + Retrofit + Glide + greendao 等架构进行设计实现,极力打造一款 优秀的玩Android https://www.wanandroid.com 客户端,是一个不错的Android应用开发学习参考项目
Stars: ✭ 223 (+406.82%)
Mutual labels:  dagger2, rxjava2, retrofit2
Awesome Wanandroid
⚡致力于打造一款极致体验的 http://www.wanandroid.com/ 客户端,知识和美是可以并存的哦QAQn(*≧▽≦*)n
Stars: ✭ 2,525 (+5638.64%)
Mutual labels:  dagger2, rxjava2, retrofit2
Android
Step by step guide for various components in android
Stars: ✭ 32 (-27.27%)
Mutual labels:  android-development, rxjava2, retrofit2

InstantAppStarter

Starter Project Structure for Android Instant app

Get the Sample App on Google Play here.

Medium Link

https://blog.mindorks.com/android-mvp-architecture-with-instant-app-support-11ba48241a82

Instant App links

If your mobile device supports Instant App, you can use these links to try it out. To enable Instant Apps, navigate to Settings --> Google --> InstantApps and turn it on.

Project Architecture

MVP

High level Structure:

App Module:

Responsible for building the Application Apk.

Instant App Module:

Responsible for building Instant App Apks.

Feature Modules:

  • Base Module: Contains all Common components like Network component, Dependency Injection Setup, Base Activities, Base Presenters, etc.
  • Feature One Module: Contains all classes for first Instant App, which displays a list of news sources in a recyclerview.
  • Feature Two Module: Contains all classes for Second Instant App, which displays a list of news stories from a selected source.
  • Other Module: Contains other files which are not part of Instant App.

How to implement a new Feature

Suppose you want to add a new Feature called MyFeature

  1. Add a new Feature Module(MyFeature) from Android studio New Module Wizard.
  2. Add one ActivityModule and one ActivityComponent.
  3. Add a BaseActivityMyFeature which will extend BaseActivity and inject your dependencies there.
  4. If you want to make MyFeature an Instant App, Add implementation project(":MyFeature") to build.gradle of instantapp module.

You can refer to other module for example.

Library Used

  • Dagger2
  • RxJava2
  • Retrofit2
  • Timber
  • Rave
  • Glide
  • Espresso for UI tests
  • Mockito

BuildFlavours

This Project consist of two Build Flavours.

  • uat
  • prod

Base url and Access keys for these environments are inside gradle.properties file.

Build Types

  • debug
  • release
  • qualityassurance

Known Issues

  • Instant App crashes with proguard on with error message could not find com.iambedant.instantappstarter.ui.newsSources.NewsSourceActivity in any atom class loader or parent class loader

Contributing to the project

If you want to improve this project, your pull requests are most welcome.

License

MIT License

Copyright (c) [2017] [Bedanta Bikash Borah]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].