Category Archives: Android

How to Animated Recycler View?

Animated Recycler View is a library that allows you to animate a recycler view in your project like Google does it in its Google Play Store. Only the first visible items are animated there and you will see no animation when the recycler view scrolls up.

Animated Recycler View - Transition Page Recycler with layout animations
Animated Recycler View – Transition Page Recycler with layout animations

Reasons to use it

This library solves several problems:

  1. It works stably fast and without jerks.
  2. It doesn’t need to utilize the adapter to animate items when they appear for the first time.

Recommended article : Is LastAdapter ending RecyclerView adapter?

Why Animated Recycler View is special for you?

While working on a project, most of time we need animation similar to the one used in the Google Play Store but didn’t find any appropriate library on Internet/ Github/ StackOverflow that could help us with this task.

Source: How to Transition Page Recycler using Animated Recycler View? 

Advertisements

Analyze APK sizes – Best Programming language for Android

There are so many ways to make mobile apps ranging from direct platform specific development (using Java and Kotlin for Android, and ObjC and Swift for iOS), there’s React Native from Facebook, Electrode Native from Walmart, the Ionic framework, Unity for certain types of apps, and the flutter.io framework which was just released by Google.

Ever wondered how these libraries and frameworks affect the size of your app? Let’s analyze some apk files for apps written in some of these ways. The apps are very basic, containing just a title at the top and a text at the center of the screen.

Which Language is Good for Android by Analyze APK sizes?
Which Language is Good for Android by Analyze APK sizes?

This will show, for a bare minimum app what these frameworks need to package along with the apk for it to be able to run.

  • For this test I created four different versions of the app, one in each of JavaKotlinReact Nativeand Flutter. (Android API 27)
  • The apks were then published for release type using Android Studio for Java and Kotlin and using the cli for React Native and Flutter.
  • Default proguard configuration was used.
  • The apks were analyzed using the Analyze APK feature in Android Studio.

Source: Which Language is Good for Android by Analyze APK sizes?

Kotlin can overcome Java issues?

This article looks at many categories of Java defects that Kotlin prevents in addition to null safety. Kotlin showed a surprising impact on productivity.

This article looks at many categories of Java defects that Kotlin prevents in addition to null safety. My first article (5 cool thing about Kotlin) provided a brief introduction to Kotlin and showed a surprising impact on productivity.

It’s important to realize the difference in value in fixing a defect in one class versus preventing an entire category of Java defects from occurring in any class.

What we see today:

Source: How Kotlin remove Java defects? 

CRUD Tutorial of Spring Boot with Kotlin and AngularJS

Today we’re going to learn CRUD example using Spring boot, Kotlin and AngularJS with WebJar. For this tutorial, nothing is assumed except some basic Java experience.

Spring Boot + Kotlin + AngularJS + WebJar CRUD Example

We’ll show you how simple it is to create compliant and flexible REST services using the incredible frameworks Spring Boot and Kotlin. We’ll go through the how and why of …

Source: Spring Boot + Kotlin + AngularJS + WebJar CRUD Example

Difference MVC v/s MVP v/s MVVM

Today, the MVC pattern is used by well-known frameworks such as Ruby on Rails, Apple iOS Development, ASP.NET MVC, etc. While MVP is mostly used for ASP.NET Web Forms applications and MVVM is used by WPF, Caliburn, Silverlight, nRoute, and more. Which development pattern are you currently using in your software projects? Let us know in the comments below.

Source: Comparison between MVC, MVP and MVVM in details

How to Add Popup Menu in Android?

Android Popup menu is really a good way to make your Android application more elegant and create a great UI.  And we already discuss some menu library for Android application like ;

Now let’s focus on PowerMenu Android library which is a library that let you implement Android popup menu so easily. Without going much more start with implementation.

Demo

Android Popup Menu PowerMenu Example
Android Popup Menu PowerMenu Example

This is a basic example on a screenshot. You can build PowerMenu(Android Popup Menu) using Builder.

PowerMenu powerMenu = new PowerMenu.Builder(context)
.addItemList(list) // list has "Novel", "Poerty", "Art"
.addItem(new PowerMenuItem("Journals", false))
.addItem(new PowerMenuItem("Travel", false))
.setAnimation(MenuAnimation.SHOWUP_TOP_LEFT) // Animation start point (TOP | LEFT)
.setMenuRadius(10f)
.setMenuShadow(10f)
.setTextColor(context.getResources().getColor(R.color.md_grey_800))
.setSelectedTextColor(Color.WHITE)
.setMenuColor(Color.WHITE)
.setSelectedMenuColor(context.getResources().getColor(R.color.colorPrimary))
.setOnMenuItemClickListener(onMenuItemClickListener)
.build();

You can add items or item List using PowerMenuItem class. This is how to initialize PowerMenuItem.

PowerMenuItem powerMenuItem = new PowerMenuItem(“Travel”, true);

At first, argument is item Title, and the other is setting selected status. If true, the item’s text or background colour is changed by your settings like below:

.setSelectedTextColor(Color.WHITE)

.setSelectedMenuColor(context.getResources().getColor(R.color.colorPrimary))

You can listen to item click.

private OnMenuItemClickListener<PowerMenuItem> onMenuItemClickListener = new OnMenuItemClickListener<PowerMenuItem>() {

@Override

public void onItemClick(int position, PowerMenuItem item) {

Toast.makeText(getBaseContext(), item.getTitle(), Toast.LENGTH_SHORT).show();

powerMenu.setSelected(position); // change selected item

powerMenu.dismiss();

}

};

and the last, show popup

powerMenu.showAsDropDown(view); // view is an anchor

or

powerMenu.showAsDropDown(view, (int)xOffset, (int)yOffset);

Source

Social Networks:

Twitter

Facebook

Best Android Database Libraries for Pro Developers

There are several popular ORM database libraries out there (SQLDelight, GreenDAO, SugarORM) but we’re going to see top 10 Android database library and nearly every one uses reflection for critical database interactions. Back-end developers get things done, plain and simple.

See this : Comparison of All Android Image Loading Library

Their work lays the foundation for an app’s success, and it comes with a lot of blood sweat and tears. Whatever your flavor, NoSQL or SQL these database libraries aim to make that work easier.

List of Top 10 Android Database Libraries

1. Sugar ORM (Java)

Image result for sugar orm android

TMH rating : 8.6/10

Insanely easy way to work with Android databases.

Sugar ORM – Github

It was built in contrast to other ORM’s to have:

  • A simple, concise, and clean integration process with minimal configuration.
  • Automatic table and column naming through reflection.
  • Support for migrations between different schema versions.

2. SQLDelight (Kotlin)

TMH rating : 7.3/10

Generates Java models from CREATE TABLE statements.

SQLDelight – Github

  • SQLDelight generates Java models from your SQL CREATE TABLE statements.
  • These models give you a typesafe API to read & write the rows of your tables.
  • It helps you to keep your SQL statements together, organized, and easy to access from Java.

Comparison of All Android Dependency Injection

3. Nitrite Database (Java)

TMH rating : 6.1/10

Java embedded nosql document store

NOsql Object (NO2 a.k.a Nitrite) database is an open source nosql embedded document store written in Java. It has MongoDB like API. It supports both in-memory and single file based persistent store powered by MVStore engine of h2 database.

Nitrite Database – Github

It is a server-less embedded database ideal for desktop, mobile or small web applications.

It features:

  • Embedded key-value/document and object store
  • In-memory or single data file
  • Very fast and lightweight MongoDB like API
  • Indexing
  • Full text search capability
  • Full Android compatibility
  • Observable store
  • Both way replication via Nitrite DataGate server

4. AppDataReader (Java)

TMH rating : 5.8/10

A library for reading Shared Preferences and Database values within the application.

Image result for AppDataReader

A library for reading and writing Shared Preferences and Database values of the application within the device.

AppDataReader – Github

Advantages of using this library

  • No Java Code. Only gradle dependency.
  • Read all the Database Values in the device without the need of a browser.
  • See all the Shared Preferences at once or file by file.
  • Edit the table data by clicking the value of a column in a row.
  • Query the database with various types of queries like SELECT, UPDATE, DELETE, INSERT and RAW QUERY. Querying is made simpler by making an interactive UI for various types of queries.
  • Copy the value of an individual column of Shared Preference and Database tables to Clipboard.
  • With the help of some additional gradle code, this library will pick up the compileSdk Version, targetSdk Version and Build Tools Version from the main project.

Top 12 Advanced Kotlin Tips For Pro Developers

5. greenDAO (Java)

TMH rating : 5.6/10

greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.

Image result for greendao android

It is a light & fast ORM for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.

greenDAO – Github

Features

greenDAO’s unique set of features:

  • Rock solid: greenDAO has been around since 2011 and is used by countless famous apps
  • Super simple: concise and straight-forward API, in V3 with annotations
  • Small: The library is <150K and it’s just plain Java jar (no CPU dependent native parts)
  • Fast: Probably the fastest ORM for Android, driven by intelligent code generation
  • Safe and expressive query API: QueryBuilder uses property constants to avoid typos
  • Powerful joins: query across entities and even chain joins for complex relations
  • Flexible property types: use custom classes or enums to represent data in your entity
  • Encryption: supports SQLCipher encrypted databases.

Note : If you want next five popular Android database library then check here.