Dextop – desktop mode

Dextop enhances your Android experience by transforming your phone into a productivity powerhouse with a landscape interface.

Native Landscape View: All your favorite apps, from email to social media to games, display beautifully in landscape mode.

Seamless Keyboard Integration: Use your Bluetooth keyboard or phone’s keyboard in a familiar desktop layout for effortless typing.

Customization Options: Personalize your Dextop experience with custom themes, widgets, and shortcuts.

Dock & Connect: Connect to an external monitor or TV for a true desktop experience (supported devices required).

Dextop is perfect for:

Boosting productivity: Work on documents, browse the web, and manage emails with ease.

Entertainment enthusiasts: Watch movies, videos, and browse the web in cinematic landscape mode.

Lightweight and efficient: Dextop doesn’t drain your battery, so you can work and play longer.

**Keywords:** android launcher, landscape mode, multitasking, productivity, desktop experience, external monitor, games, entertainment, free app

App manager and launcher

When you use android phone from major manufacturers, you get bunch of unwanted software (bloatware) preinstalled that sometimes runs in background (sometimes it starts via predefined system event that manufacturer sets) and you are unable to uninstall it. If you are good with tech and you force uninstall it via adb commands, it might break system functionality .

This app comes in handy to periodically close that apps without needing to uninstall them so you don’t risk breaking system functionality. It can also help you to figure out which apps are really needed for your phone to work optimally for your use-case, by experimenting which processes you select to close.In order to achieve this, this app runs in background and you will see when its automatic closing feature is active in notification area.

It also comes with features to directly launch particular app screen (if the app supports it) . For example you can make shortcuts on your home screen to directly launch WiFi settings, open built in android file manager, open aliexpress app without splash screen etc..

If you want to search the internet for specific app, it offers you to copy app package name and you can paste it in your search engine so you can learn more about that app and decide if you want to keep it.

App Manager on Play Store

RepoExplorerMVVM

The open source GitHub client for android built using MVVM design pattern, reactive programming with LiveData, repository pattern, Room Persistence Library.
Features: Pagination, caching search results and option to add bookmarks.
Code is packaged by feature. Data package contains local database model classes, web service and repository which is used as a single source of truth.
UI package contains VIEW (Activities) and VIEW MODEL (AndroidViewModel)code for each screen in the app. VIEW MODEL don’t hold any references to the VIEW or the MODEL classes in data package so the code is modular and it is easy to change the screens and add features.
LiveData is used to communicate between app layers. Any changes in the MODEL layer are propagated via LiveData to VIEW MODEL and then to the VIEW layer.
In Utils class there is Configuration interface in which you can configure default search term, results per page and for how long should results be kept in local cache, before trying to update with new ones.

Check it on GitHub: https://github.com/giantturtle/RepoExplorerMVVM

and on Google Play Store:

en_generic_rgb_wo_60

 

How to use static in java (for beginners)?

Often, people who just start programming in java, have hard time figuring out how and when to use static variables.

So, imagine you have a car manufacturing software and at some point, when you want to produce a car, in your code, you call “Car car = new Car();
And at some point you would like to know how many cars have been produced.
How would you implement this functionality?

Static variable comes in handy. You declare static field carCount in your Car class and increase it every time constructor is called.

class Car {
    static int carCount= 0;

    public Car(){
        carCount++; //increasing every time a new Car is created
    }
}

Static field carCount gets created and initialized only once (explained below), but it is updated every time a object of a type Car is created (carCount++) . So if you create 1000 cars, there would be only one carCount variable.
And when you need to access carCount variable, you don’t need to create an object of Car class, you just type Car.carCount.

So what if you didn’t use static for carCount field, and declared it like this:

class Car {
    int carCount= 0;

    public Car(){
        carCount++; 
    }
}

Well, each time you create a car (object of a type Car), a new carCount variable would be created and set to 0 and increased to 1 in constructor, so if you create 1000 car objects, there would be a 1000 carCount variables, each with value of 1. Needles to say, this makes that approach unsuitable for counting the cars produced.

So, anything that is declared static, belongs to the whole class, not to any particular instance (object) of the class.

A class’s static initialization normally happens before the first time an instance of the class (object) is created, or a static method of the class is invoked,
or a static field of the class is assigned… There other ways to force static initialization using Class.forName but that is out of scope of this simple tutorial.

Check out my apps on Google Play Store or Amazon App Store

Health News and Tips

 

With this app, you can easily stay informed about latest news regarding health, healthy food, mental health and newest trends in healthy way of living.. Click on the news to go to the original source or go to reddit’s discussion page about that particular news. You can easily share news and videos with one click. There is also a option to save articles and to read them later.

en_generic_rgb_wo_60