MVC, MVP and MVVM Design Pattern in Android

MVC, MVP, and MVVM are three popular design patterns in software development. Let’s have a look on Model View Controller (MVC), Model View Presenter (MVP) and Model View View-model (MVVM) one by one.

Lots of Android libraries that make their life easier. And enable proper architecture for Android apps at the same time. For instance:

Android DataBinding – allows transfer of certain application logic into XML;
Dagger 2 – that implements the ‘Dependency Injection’ technique;
Android Annotations – library making Android components implementation as simple as possible, while not cutting down their features;
RxAndroid – highly functional coding approach, one that if fully apprehended may optimize lots of tasks;
Firebase – mobile and web application platform that helps to develop high-quality apps;

Model View Controller (MVC)

MVC design pattern divides an application into three major aspects: Model, View, and Controller.
The tools offered by Android, with layouts, Activities, and data structures,…

Android Jetpack Overview

Android Jetpack is a set of components, tools and guidance to make great Android apps. In addition, your app can run on various versions of the platform because Android Jetpack components are built to provide their functionality independent of any specific version, providing backwards Jetpack is a set of libraries, tools and architectural guidance to help make it quick and easy to build great Android apps. It provides common infrastructure code so you can focus on what makes your app unique.Jetpack should help limit your reliance on boilerplate copypasta, with an eye towards rapid development and unit testing. It's even optimized for Kotlin, if you've started moving over into the new language. Google has also increased how quickly the Android Studio emulator launches, thanks to new snapshots which store the full state of the emulator while it isn't in use. All this combines together to let you develop apps faster.
Android Jetpack comes with five new components: WorkManager a…

Kotlin and Android

Kotlin is now an official language on Android. It's expressive, concise, and powerful. Best of all, it's interoperable with our existing Android languages and runtime.

To use Kotlin in Android Studio prior to version 3.0 you have to manually install the Kotlin plugin. To do so, start Android Studio and open Plugins from the Configure menu. In the opened dialog, search for Kotlin, select the corresponding plugin and press Install.

Kotlin for Android Development:
Kotlin is a great fit for developing Android applications, bringing all of the advantages of a modern language to the Android platform without introducing any new restrictions.

Compatibility: Kotlin is fully compatible with JDK 6, ensuring that Kotlin applications can run on older Android devices with no issues. The Kotlin tooling is fully supported in Android Studio and compatible with the Android build system.

Performance: A Kotlin application runs as fast as an equivalent Java one, thanks to very similar bytecode struct…

Understand Instant App in Android

Introduction  Instant apps is a new feature from Google on Android Platform. Native Android apps, without the installation. Access From Anywhere. Works on the Latest Android Devices. Slim down your application Support deep linking and App links.

Google recently released Instant Apps to developers as part of an effort to help kickoff the next big enhancement to the native app experience in Android. Instant Apps aim to help bring users into the best native app experience as quickly as possible by downloading only parts of an application when they need them. This makes it fast and easy to engage users with great mobile app experiences, even though they do not have the application installed on their devices.

Access From Anywhere: Instant Apps are triggered by URL intents, meaning that they can be started from anywhere including, search results, social media shares, messages, beacons, NFC and other applications or even other Instant Apps — without needing to install your app first. URLs mapped …

Short explanation on Gradle, minSdkVersion, maxSdkVersion, compileSdkVersion and targetSdkVersion in Android

Gradle:The Android build system compiles app resources and source code, and packages them into APKs that you can test, deploy, sign, and distribute. Android Studio uses Gradle.
The Android plugin for Gradle works with the build toolkit to provide processes and configurable settings that are specific to building and testing Android applications.Gradle and the Android plugin run independent of Android Studio. Gradle architecture is shown below.

Example: android { compileSdkVersion 27 buildToolsVersion “26.0.2” defaultConfig { applicationId “com.example.checkyourtargetsdk" minSdkVersion 15 targetSdkVersion 27 versionCode 1 versionName “1.0” } }
minSdkVersion:minSdkVersion is the lower bound for your app. The minSdkVersion is one of the signals the Google Play Store uses to determine which of a user’s devices an app can be installed on.
 your app’s minSdkVersion must be at least as high as your dependencies’ minSdkVersion
When deciding on a minSdkVersion, you s…

Google Pixel 2 Specifications and Overview

> Highest rated smartphone camera : dual-pixel autofocus, 12.2 MPf/1.8 aperture1.4 μm> Google Lens :Learn more about landmarks or look up books, movies, albums and artwork using Google Lens.> Your own personal Google, built in Google Assistance: Take a selfie, text mom, turn on Bluetooth and navigate home, all with your voice.> Squeeze for help: With a squeeze, you can launch your Google Assistant for real-time help
> Fast-charging. Long-lasting: With Pixel 2, you’ll get up to 7 hours of battery life from just a 15-minute charge
> Water-resistant: Pixel 2 is made for weathering wet conditionsGreat video calling, on a phone: Pixelcomes withGoogleDuo, a high-quality video calling app, built in. Better withPixel.> Low-maintenance. High-performance: The latest Qualcomm Snapdragon 835 processor,> High quality VR, wherever you go>Safe and secure:Built-in security moduleA security chip to reinforce your lock screen against malware and hardware attacks.
Security update…