Solutions

Android: CoordinatorLayout RecyclerView First Item not visible

Problem I had to implement a Toolbar with tabs, together with CoordinatorLayout, and the content of each tab had to be a list of items, for which I used RecyclerView. But when I ran the app, the first item in the list was overlapped by the tabs, so it was not fully visible. This is how my xml […]

, , , , ,
Solutions

Android Studio can’t open Android Device Monitor

Problem Recently I had this issue: my Android Device Monitor didn’t open and and an error log file was generated every time I was tring to open it, under Android – sdk – tools – lib – monitor-x86_64 – configuration. Also, I have to mention that it happened on Windows. I googled it and found different answers but none

,
Tutorials

Android AdMob With Firebase

About Firebase First of all, you have to know that using AdMob with Firebase is optional, at least for now, and you can still integrate AdMob by importing compile ‘com.google.android.gms:play-services’ (like in this tutorial). But even if it is optional, it is recommended, as it brings all services like AdMob, Analytics, crash reporting and other services together in just

, , ,
Solutions

Android Gradle Dependencies by Flavors

In a previous post about Gradle Flavors and Build Types, we mentioned that we can set different dependencies inside dependencies{} block by flavors, by build type or both combined. Below we will see an example for each situation. By flavors <flavorName>Compile apply plugin: ‘com.android.application’ android { compileSdkVersion 23 buildToolsVersion “23.0.3” defaultConfig { applicationId “com.example.diana.buildvariants” minSdkVersion 15 targetSdkVersion

, , , , , ,
Did You Know?

Android About ConstraintLayout

DID YOU KNOW about ConstraintLayout?   Definition ConstraintLayout is a new type of layout introduced by Android, similar to RelativeLayout but more flexible, and it is used to position UI elements relative to other UI elements by using constraints. A constraint represent the rules we have to apply in order to position our UI elements relative to

, , , , , ,
Tutorials

Android Free/Paid Versions Tutorial

There are situations when you might decide that you need to create 2 versions for your application: a free one and a paid one. So, in this tutorial, which is just a simple example (we will just set different colors for the 2 versions), we will see how to achieve this using flavors. Your project is

, , , , ,
Did You Know?

Android ApplicationId vs PackageName

You might wonder what is the difference between package name we have in AndroidManifest.xml file and ApplicationId we see in build.gradle. They seem to be the same thing, but actually they are 2 different things. So if you didn’t know what is the difference between these 2 properties, you can find out now. ApplicationId represents

, , , ,
Tutorials

Android Build Types and Flavors

In this tutorial we will talk about Build Types and Flavors, for what are they used, what is the difference between them and what they have in common. Build Types When you work on a project, at some point you might need to run your app in release mode, or debug mode, or qa mode, or any other mode you

, , , ,
Snippets

Get screen size programatically in Android (Compose / Kotlin, Java)

So if you ever need to get the screen size(width and height) programatically on Android, note that there are a few options out there. Please see below some of them. Get Android screen size from DisplayMetrics The following snippet helps you load the screen size in Android using the Display class. This is quite old,

, , , , , ,
Solutions

Error:Execution failed for task ‘:Application:transformClassesWithDexFor

Error:Execution failed for task ‘:Application:transformClassesWithDexForMyFlavorName’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java” finished with non-zero exit value 2 I had this error after updating the project to the latest Build Tools 23.0.0. After spending some hours on google to find a solution without any success, I tried to deactivate the Instant Run option from Preferences.

, ,
Tools

IntelliJ IDEA / Android Studio key shortcuts

Here is a newer post about Android Studio productivity guide in case you are looking for that. This is just a small productivity A4 poster with MacOS IntelliJ IDEA and Android Studio key mapping that can be placed on your wall :).

, , , , ,
Tutorials

Android @IntDef Annotation Example

Android has some helpful annotations in the support library so, in this post, I will show you an example of how to use @IntDef annotation. You can use this annotation (or @StringDef annotation) instead of Enum. Steps 1. Add your constants 2. Add the @IntDef annotation and between ({ }) paranthesis, declare your constants @IntDef({CONSTANT1, CONSTANT2, CONSTANT3}) 3. Add the @Retention

, , , , ,
Did You Know?

Did you know about Percent Support Library

Yes, we can finally get rid of hardcoded values or nested layouts used in order to take advantage of layout_weight.  Definition Percent Support Library is a new library introduced by Google, used to set the width, height and margins for a view, using percent (%).  Usage In order to use this library you have to: 1.

, , , ,
Solutions, Tutorials

Android Set Horizontal Divider to a Vertical LinearLayout

If you need to use a “list” divider, but you need it on a vertical LinearLayout instead of a List you can do this by using some attributes on the LinearLayout. It’s not very straightforward as you maybe expected, but it’s not very difficult either. Before starting, you have to know the 2 major things this

, , , ,
Scroll to Top