• Stars
    star
    113
  • Rank 310,115 (Top 7 %)
  • Language
    Java
  • Created almost 9 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MVP Android App Template Ultimate Android Template MVP // Dagger 2 // Boilerplate // Bootstrap // Bottom Navigation Menu Material Design

Ultimate Android Template MVP // Dagger 2 // Boilerplate // Bootstrap // Bottom Navigation Menu Material Design

Sadly, I don't have time to maintain this

A SIMPLE MVP Template

A simple template application following the MVP Arhitecture updated frequently with the latest version of most common libraries. There are many good templates out there, but with this one I tried to keep things as simple as possible. For the bottom menu I used com.github.bufferapp:AdaptableBottomNavigation (but as copy paste in the project since as gradle doesn't work)

Everybody got their own preferences about databases and testing, so I left them out.

screenshot android template boilerplate boostrap

Before you begin with this template:

  • Looking for something simpler (without Dagger 2 etc.) ? -> Ultimate Android App Template
  • You have basic knowledge of: Dagger 2, Retrofit, Butterknife,...

How to use it

Step 1:

  • Fork or clone the repository
  • Run it and see that it's working on your emulator
  • Modify applicationId "com.androidadvance.ultimateandroidtemplaterx2" to your package name
  • Check the compileSdkVersion, and buildToolsVersion to be the latest
  • IMPORTANT: Remove the libs that you don't need. Add those that you do
  • Star this repository :)

Step 2. ??? Step 3. Profit

What it contains

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.androidadvance.ultimateandroidtemplaterx2"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L"
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            applicationIdSuffix ".debug"
            debuggable true
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'LICENSE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'LICENSE.txt'
    }

    lintOptions {
        warning 'InvalidPackage'
        abortOnError false
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:design:28.0.0-rc01'
    implementation "com.android.support:recyclerview-v7:28.0.0-rc01"
    implementation "com.android.support:cardview-v7:28.0.0-rc01"

    // Dependency Injection
    compile "com.google.dagger:dagger:2.13"
    annotationProcessor "com.google.dagger:dagger-compiler:2.13"
    compile 'javax.inject:javax.inject:1'

    //----- Retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation "com.squareup.retrofit2:converter-gson:2.1.0"
    implementation 'com.squareup.okhttp3:logging-interceptor:3.7.0'

    //----- Butterknife
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    //----- Eventbus
    implementation 'org.greenrobot:eventbus:3.1.1'

    //----- Logging
    implementation 'com.github.zhaokaiqiang.klog:library:1.6.0'

    //----- Picasso
    implementation 'com.squareup.picasso:picasso:2.71828'

    //----- Styled Dialogs
    implementation 'com.muddzdev:styleabletoast:1.0.6'

    //------ Custom Font
    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

}

Need more nice stuff ?

Attributions

Thanks to the following for their work:

[ribot guys] (https://github.com/ribot) [yigit] (https://github.com/yigit/dev-summit-architecture-demo/)

License

Copyright 2015 AndroidAdvance.com

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.

More Repositories

1

TSnackBar

Android Snackbar from the Top (similar to Crouton)
Java
1,128
star
2

UltimateAndroidAppTemplate

A ready to use android app template. Powered by Android Annotations Retrofit API ready to be used Picasso for image loading Snackbar, RecyclerView, Pull to Refresh etc. Feedback contact by email for feedback / Settings Page with some dummy settings etc.
Java
291
star
3

surveylib

The Best Looking Survey Library for Android
Java
222
star
4

Flask-Easy-Template

A template web app with Flask. Features: latest bootstrap, user registry, login, forgot password. Secured admin panel, pagination, config files for Nginx and Supervisor and much more.
HTML
176
star
5

SimpleChat

The best room chat system for Android. Real-time, IRC Style using firebase as database.
Java
101
star
6

make_yourself_a_bot

make yourself a chat bot. (private web mode)
JavaScript
35
star
7

Spring-Android-Push-Notifications-FCM-

android firebase push notifications, by java. Spring Framework example.
Java
30
star
8

FacebookTwitterGoogleLogins

Android Facebook Twitter Google Logins
Java
29
star
9

qv_voting

Quadratic voting system with smart contract help
Solidity
26
star
10

SlackUptimeMonitor

Receive notifications in Slack when your websites/api/services are down
Python
16
star
11

arweave-ipfs-bridge

a Bridge between IPFS and ARWEAVE
Go
13
star
12

Proof-Of-Authority-Blockchain

a parity proof of authority blockchain
Go
12
star
13

UltimateAndroidAppTemplateKotlin

the Kotlin version of the popular repo Ultimate Android App Template
Kotlin
11
star
14

GoUdpServerClient

golang udp server client example
Go
10
star
15

Spring-Two-Factor-Auth-Android-App

two factor auth android app
Java
9
star
16

FlaskBookV2

all the code from the flask book version 2.
HTML
8
star
17

MVVP-WeatherApp

yet another mvvp weather app. RxAndroid with data bindings.
Java
7
star
18

xzil-wallet

zilliqa android wallet
Java
7
star
19

FlaskBook

my flask book projects.
Python
6
star
20

MyTokensApp

my tokens app source code
Java
5
star
21

Android_Things_Template

Android Things Template App Improved with extras! Rx Java Ready.
Java
5
star
22

WatchdogCrypto

a watchdog for your mining rigs written in Java 🔥
Java
4
star
23

PushNotificationHelper

push notifications helper app
Java
3
star
24

PushNotificationsApp

Google cloud messaging android client. WORKING ATM :)
Java
3
star
25

solana_vanity_generator

vanity address generator for solana
Go
3
star
26

DatabaseTutorialFull

database tutorial android full code.
Java
3
star
27

ethereum_tx_queue

queue txes to be sent to a node, sequentially
Go
3
star
28

FireBaseTutorial

full code of the firebase tutorial
Java
3
star
29

PushNotificationsServer

Flask with Google Cloud Messaging for Android
Python
2
star
30

MiniBlockchainAPI

API to send ETH & Tokens to Ethereum based blockchains.
Go
2
star
31

springfirebase

Example how to manage Firebase Database using Spring Framework
Java
2
star
32

android_encryption

playground for testing encryption in android
Java
2
star
33

FacebookBirthdays

parse facebook birthdays into android calendar
Java
2
star
34

BlockchainBootstrap

A bootstrap project for a custom blockchain, written in Go
Go
1
star
35

piedpiper-backend

backend for piedpiper
Go
1
star
36

orientdb-to-elasticsearch-sync

OrientDB to Elasticsearch sync tool [both ways]. Written in python
Python
1
star
37

opensourcebitcoinwallet

an open source bitcoin wallet android app.
Java
1
star
38

smart_contracts_bootstrap

a smart contracts bootstrap template
Solidity
1
star
39

Smart-Contracts-Starter-Project

a starter project for smart contracts....
JavaScript
1
star
40

BlockchainRelatedUtils

different blockchain related utils that might help someone, someday
Java
1
star
41

REST_Server_Emulator_Mock_In_Spring_Framework

you can use it for creating a shopping app
Java
1
star
42

ZCryptoWallet

z-crypto wallet
Java
1
star
43

PrivateBlockchainSmartContracts

a book about smart contracts on private blockchains
1
star
44

XWeather

first ios app
Swift
1
star
45

Spring-Two-Factor-Auth-Server

server part.
HTML
1
star
46

arweave-permafeed-web

the web part of the permafeed
Vue
1
star
47

JavaFXTemplate

JavaFXTemplate...
Java
1
star
48

JavaRESTAPITemplate

a java rest api template using Spring Framework
Java
1
star
49

EthereumPOAGeth

ethereum poa geth clique
Shell
1
star
50

ESP8266_Stuff

helper code for nodemcu esp8266
C
1
star