Android, Front End Development
It is understood that using basic layout structures is an efficient way to create UI. Here, we need to understand that each widget that we add to our layout structure requires initialization and drawing. Below, we will discuss some of the Android API's to improve UI performance. ViewStub ViewStub is a zero-sized view that is invisible...
Description When the UI thread of an Android app is blocked for too long, an "Application Not Responding" (ANR) error is triggered. If the app is in the foreground, the system displays a dialog to the user, as shown in the figure below. ANRs are a problem because the app's main thread, which is responsible for updating the UI, can't...
Multiple back stack support was added in Navigation 2.4.0-alpha01 and Fragment 1.4.0-alpha01. In this discussion, we will cover supporting Multiple backstacks with the conventional FragmentManager API. We will be using `Fragment 1.4.0-alpha01` or later to implement this. Background The fragment's backstack in Android is not made of...
During the development journey, we may require to show unlimited data as no of users of a particular mobile application grows, so does the data associated with that application. Consider the image application, the user scrolls to the bottom of the screen and wants to be able to fetch more data from the server to display it, but what...
I have always wondered what set of code to run in the background to make my app powerful and responsive but I don’t really know how. Some time back I got to know about isolates and I tried implementing it. And I should tell you, it was painful. But I recently discovered how easy it has become. So here it is. You might have heard...
Selecting one or the other technology is always a matter of individual preferences but knowing which platform has what benefits can help in deciding the best option. In this blog, we are going to discuss two of the very popular technologies for creating cross-platform apps i.e. Flutter & React Native. Programming Languages Let's...
CameraX is another addition to the Jetpack suite of libraries by Google to help developers incorporate camera capabilities into their applications. Although Camera2 API, the predecessor of CameraX, is known to be a powerful API, it is a little problematic to take full advantage of it, especially with a large number of manufacturers having...
RecyclerView internally uses a ViewPool to save scrap views which are no longer visible on screen and can be recycled. Normally each recyclerview creates a seperate ViewPool which is limited to that recyclerview only. With the help of #RecyclerView.setRecycledViewPool() we can share a ViewPool across multiple RecyclerViews. With this we...
A recent React Native project at the company came with an additional requirement of integrating a video player within the application. There already are a lot of React Native video players available, but almost all of them come with inherent shortcomings. We could not find one with the perfect implementation of overlays and other...
It was only from mid-2008 with the advent of smartphones, like HTC Dream, or Apple iPhone that it reached the mainstream, taking advantage of all the functionalities that these devices provide. As per Gadgetsnow, usage of the smartphones by Indian users grew by 43% in 2016 and 92% in 2015. A major thing to notice is that "Business and...
Offline data transfer in Android is a way to transfer data among devices wirelessly without any network accessibility. There are many ways for connecting devices sans cables such as Bluetooth, NFC, Wifi Direct, SIP, etc. Despite the fact that a large audience is looking towards internet solutions, these ways have their unique use cases...
Testing a mobile application is often challenging as compared to web application mainly due to the various factors affecting the behavior of the application. Some of these factors include different operating systems and their versions, different screen sizes and different networks. In this challenging phase of planning and testing a...