Android As Competition To Itself

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 45

Why Android is so popular?

Android is affordable and it has all capacities to perform a variety of tasks that a windows
or iPhone does. It is capable of rapidly executing assigned operations. It supports 3D graphics
which enables users to run 3D games as well. Android interestingly names its operating system
after desserts.

What is interesting about Android?


Android is a Mobile Operating System that was released on 23, September 2008. Android is
free, open-source operating system and is based on modified version of Linux kernel. Open
Handset Alliance (OHA) developed the Android and Google commercially sponsored it.

Why do people love Android?


Since Android is an open-source platform, it offers more freedom and customization options
than iOS. You can customize almost anything on your Android device, from how your home
screen looks to how you interact with your phone.

Why Android is most popular operating system in the world?


Android is a popular operating system and has a 70% share of the mobile OS market. Most
developers choose Android over any other operating system. Moreover, it provides an amazing
experience to all its end-users which is one of the main reasons for its popularity.

What are the features of Android?


Features of Android Operating System
 Near Field Communication (NFC) Most Android devices support NFC, which allows electronic
devices to interact across short distances easily. ...
 Infrared Transmission. ...
 Automation. ...
 Wireless App Downloads. ...
 Storage and Battery Swap. ...
 Custom Home Screens. ...
 Widgets. ...
 Custom ROMs.
Why is it called an Android?
Albertus Magnus allegedly created. By the late 1700s, "androides", elaborate mechanical devices
resembling humans performing human activities, were displayed in exhibit halls. The term
"android" appears in US patents as early as 1863 in reference to miniature human-like toy
automatons.

What is Android very short answer?


Android is a mobile operating system based on a modified version of the Linux kernel and
other open-source software, designed primarily for touchscreen mobile devices such as
smartphones and tablets.
What is the concept of Android?
The Android operating system is a multi-user Linux system in which each app is a different
user. By default, the system assigns each app a unique Linux user ID (the ID is used only by the
system and is unknown to the app).
What are the Android new features?
Perhaps one of the most important features when comparing Android 12 vs Android 13 is what's
new with privacy and notification. There are big new features in the form of updates to
notifications permissions and privacy, giving you more control over what apps can send you
messages or access your media and clipboard.
What is Android compared to Why?
Google's Android and Apple's iOS are operating systems used primarily in mobile technology,
such as smartphones and tablets. Android, which is Linux-based and partly open source, is
more PC-like than iOS, in that its interface and basic features are generally more
customizable from top to bottom.

What type of person uses Android?


Both iPhone and Android people are affluent, educated, eager digital device consumers, and
well-represented across the adult age spectrum up to 65. Android people include more hard-core
techies: they work in technical jobs and are more comfortable with the more open but less
polished Android user experience
Interesting Facts About Android
Android is a Mobile Operating System that was released on 23, September 2008. Android is
free, open-source operating system and is based on modified version of Linux kernel. Open
Handset Alliance (OHA) developed the Android and Google commercially sponsored it. It is
mainly designed for touchscreen devices such as smartphones and tablets. Android is
supported on different platforms like 32- and 64-bit ARM, x86, and x86-64. Android is
available in more than 100 languages with Graphical (multi-touch) as the default user interface.

Journey of ANDROID from first version to latest version:


 Android 1.0 (2008) – No Version Name
 Android 1.1 2009) – Petit Four
 Android 1.5 (2009) – Cupcake
 Android 1.6 (2009) – Donut
 Android 2.0 – 2.1 (2009) – Éclair
 Android 2.2 – 2.2.3 (2010) – Froyo
 Android 2.3 – 2.3.7 (2010) – Gingerbread
 Android 3.0 – 3.2.6 (2011) – Honeycomb
 Android 4.0 – 4.0.4 (2011) – Ice Cream Sandwich
 Android 4.1 – 4.3.1 (2012) – Jelly Bean
 Android 4.4 – 4.4.4 (2013) – KitKat
 Android 5.0 – 5.1.1 (2014) – Lollipop
 Android 6.0 – 6.0.1 (2015) – Marshmallow
 Android 7.0 – 7.1.2 (2016) – Nougat
 Android 8.0 – 8.1 (2017) – Oreo
 Android 9.0 (2018) – Pie
 Android 10 (2019) – Android 10

Here are some facts about Android :

1. Android’s creator is Andy Rubin.

2. Android Inc. developed Android operating system and Google bought it in 2005, with a
huge amount of $50 million.

3. Prior to Google, an offer was given to Samsung to buy Android Inc. but they find
Android uninteresting and reject the offer.

4. Initially, Android was developed as an operating system for digital cameras but later on, it
focuses on Smart Phones.

5. Android is written in many languages like Java, C, C++, XML, Assembly language,
Python, Shell script, Go, Make, D.

6. HTC Dream or T-Mobile G1 was the first smartphone that runs on Android operating
system.

7. HTC Dream or T-Mobile G1 was launched in 2008 with no headphone jack and required an
adapter.

8. Android captures 88% of total smart phone market whereas IOS captures 11% market
share.

9. Currently, more than 2 billion smart devices use Google Android OS as their operating
system.

10. The word Android refers to a male robot, whereas a female robot is known as “Gynoid“.

11. Android is an open source software, which means its source code is freely available.
Anyone can modify the source code and add new & unique features.

12. All Android versions are named in alphabetical order, along with the name of sweet deserts
associated with that alphabet like Cupcake, Donut etc.
13. The Logging System of Android has a method named as “wtf()” which stands for “What a
Terrible Failure”.

14. In 2010, Anssi Vanjoki, CEO of Nokia, made a hilarious comment on Android. He said the
use of Android is like a Finnish boy peeing his pants to stay warm.

15. Android’s Google Store has more than 48 billion apps installed in it, and most of them are
free of cost.

16. NASA once used Nexus S handsets (device based on Android Gingerbread), in their
floating space Robots.

17. The sale of Android devices is more than the combined sale of Microsoft Windows, iOS,
and Mac OS devices.

18. Microsoft earns around $2 billion yearly in patent royalties, from the sale of Android
devices.

19. Even Google Maps uses the speed of Android Mobiles to calculate the traffic on roads.

20. Google had to made a deal with Nestle in order to use the name “Kit-Kat” for Android
version 4.4.

Why We Need Android Alternative?

With around 72% market share, Android has become a monopoly in the mobile operating system
market. There is not much choice for consumers, except to choose an Android device or go for
the pricier iPhone. In such a scenario, we need more alternatives to accelerate innovation,
bring more choices to consumers, add better privacy standards, and more. For the past many
years, Android’s security has been lackluster. After Android 8, Google got serious about
hardening the security of Android and closing the loopholes. In fact, in earlier Android days,
there was no concept of runtime permission.

{}
Currently, Android is on a course-correction phase where it’s bringing much-needed security
features and privacy controls. Apple is forcing Google to bring privacy insights of
apps, restricting apps from accessing clipboards, permission reminders, and so on. These are
essential privacy features that are available on other mobile platforms for many years. Even
today, we don’t have a user-facing network permission toggle on Android. Third-party apps can
regularly scan all your installed apps, access your clipboard, and so on.

While Android is fixing some of these issues, most users are not getting the updates due to
fragmentation. Google tried to resolve the fragmentation problem with Project Treble, but the
truth is that, except for some manufacturers, not many are offering longer security and feature
updates. To combat this situation and to put consumers on the safer side, we need an Android
alternative that respects your privacy, does not trade user data for cheaper hardware, and comes
with stronger security.

Best Android Alternative Mobile Operating Systems

1. iOS

With a 27.5% market share, iOS is slowly becoming the mainstream alternative to Android.
Gone are the days when Android was feature-packed and iOS was for average users. iOS now
comes with advanced features such as Shortcuts for automation, SharePlay to co-watch movies
and shows with your friends and family, live text translation, and more. Siri is also getting quite
better and the ecosystem support from various Apple devices is unparalleled in the Android
world.
Not to mention, iOS is much more respectful of your privacy in comparison to Android.
Recently, Apple added privacy report to the App Store where it displays all the user data the
app is trying to collect. It also lets you request apps to disable tracking which is a great privacy
feature to have. iOS is also simpler to use, although Google is working on Android to make it
more accessible to a varied group of users. To sum up, if you want peace of mind with top-notch
privacy and security, along with a legion of handy iOS features, Apple’s iOS positions itself as a
suitable alternative to Android.

Pros Cons

Beautiful UI, Smooth operation, easier to use Not open-source

Much longer updates Devices are costly

Great quality of apps Limited customization

Visit Website
2. GrapheneOS

If security and privacy are your main reasons behind your search for an Android alternative,
GrapheneOS fits the bill perfectly. It’s a security-hardened operating system, built with top-notch
privacy protection in mind. GrapheneOS, earlier known as CopperheadOS, is also developed on
Android, but the main developer, Daniel Micay has worked extensively to make GrapheneOS a
completely secure mobile operating system. Even Edward Snowden endorsed GrapheneOS
and said that “If I were configuring a smartphone today, I’d use Daniel Micay’s GrapheneOS as
the base operating system“.

Currently, it only supports Pixel devices including the latest Pixel 6 series. GrapheneOS has
deployed major technologies to restrict a number of vulnerabilities and exploits. The app
sandbox feature makes it harder for malware to attack your smartphone. There are additional
permissions as well including network permission, sensors permission, USB access, camera
access, and more.

Other than that, GrapheneOS ships with a hardened variant of Chromium called Vanadium for
browsing the web, there is a security-focused PDF viewer, a secure camera app, Seedvault for
encrypted backup, and a lot more. Not to mention, it does not ship with Google Play Services or
microG, making it a completely deGoogled Android fork. All in all, if you are looking for a
secure alternative to Android, GrapheneOS would be my top recommendation.
Pros Cons

Top-notch security and privacy protection Limited device support

Based on Android

First-party apps available

Visit Website

3. KaiOS

For feature phones, KaiOS is a great alternative to Android. We know that Android has become
quite heavy at this point. So to bring a lightweight mobile operating system to the masses, KaiOS
serves the purpose really well without missing out on major features. It’s a Linux-based OS,
forked from the discontinued Firefox OS, and can run on devices with just 256MB of RAM.

KaiOS packs its own KaiStore where you can find over 500 apps which include WhatsApp,
YouTube, Facebook, Google Assistant, Google Maps, Google app, UC Browser, lightweight
games, and more. There are hundreds of models available around the globe and the starting price
of these phones is just $10 which is amazing. In India, JioPhone is quite popular which costs
around $20-25 and runs KaiOS. To sum up, KaiOS is a perfect alternative to Android in regions
where affordability is preferred over a long list of features.

Pros Cons

Lightweight OS, a forked version of Not for the main Android smartphone
Firefox OS market
Supports Web-based apps

Continually updated

Visit Website

4. Sailfish OS

Sailfish OS has been one of the oldest alternatives to Android, competing and developing a
mobile operating system since 2013. It is currently in its 4th generation and is being actively
developed by a Finnish company Jolla Ltd. Sailfish OS has been built on top of Linux along with
many other open-source projects. While it’s not built on Android, Sailfish OS can run Android
apps using its dedicated App Support solution. And that’s one of the selling points of Sailfish
OS.

In Sailfish OS, user data is fully encrypted by its sandboxing solution called Firejail. All the
connectivity and traffic runs behind a firewall with support for VPN. In terms of security,
Sailfish OS is quite good and the company is making an investment to make it even more secure.
Apart from all that, Sailfish OS has a distinct visual style and the gesture-based apps are fun to
use. You can try Sailfish OS on Sony Xperia phones and Gemini PDA.
Pros Cons

The visual style is quite good, gesture navigation A bit buggy

Can run Android apps via a layer Not as performant as Android

Built-in VPN and sandboxing

Visit Website

5. Plasma Mobile / postmarketOS

Unlike many other Android forks, Plasma Mobile is an Android alternative that runs on top of a
Linux distribution. It has been developed using the multi-platform toolkit Qt and KDE
framework that powers so many Linux distros out there. To make the skin look fluid and
mobile, it uses a Plasma Shell that feels polished out of the box. Note that, it does not run
Android apps, instead uses the Kirigami UI framework to create apps for Plasma Mobile. Using
Plasma Mobile, many Linux distros for phones have been released, but the most popular one is
postmarketOS.
It already comes with a lot of alternative apps, built on Kirigami such as Calculator, Angelfish
Web browser, AudioTube (a YouTube music client), Calindori (Calendar), Elisa (Music Play),
Index (File Manager), and more. In essence, Plasma Mobile is one of the true alternatives to
Android that is built on a completely different framework and has a different package manager.
Currently, it supports PinePhone, Purism Librem 5, and community-supported devices like
OnePlus 6, PocoPhone, etc. So if you are looking to try something new, go ahead and install
Plasma Mobile on your smartphone.

Pros Cons

Linux-based OS No Android apps

Developed Mobile shell using new frameworks

First-party apps available

Visit Website (Plasma Mobile / postmarketOS)


6. Ubuntu Touch

Ubuntu Touch is another Linux-based alternative to Android that is focused on bringing trust and
privacy to smartphones. As the project is open-source, it has a huge community of developers
and users who want to test, experiment, and contribute to the project. Ubuntu Touch feels and
looks very identical to the Ubuntu desktop OS, however, it has been heavily optimized for
touchscreen operations.

The UBports community also claims that none of your data leaves your device unless you
explicitly allow it which is a good thing from the privacy point of view. Currently, Ubuntu
Touch supports PinePhone, PineTab, Fairphone, Volla, Nexus 5, and OnePlus One. There are
also 81 devices that are community supported so in terms of device support, Ubuntu Touch
excels. Not to mention, you get all the necessary apps including the Camera app, Music, Gallery,
Terminal, Clock, Dialer, etc. I would say if you want to try an open-source OS similar to
Android, do give a look at Ubuntu Touch.

Pros Cons
Open-source operating system, based on Cannot match the third-party app support of
Linux Android

Comes with all the basic apps

Can function as a desktop

Visit Website

7. Mobian

Mobian, as the name suggests, is a Debian-based operating system for mobile devices.
Currently, it does not support a whole list of devices, but Mobian can run on PinePhone, Poco
F1, OnePlus 6, and some more devices. Unlike Android, it runs Linux apps and the UI is
surprisingly good. It comes with all the basic apps including a Calculator, Camera, Call, Settings,
and more. There is also Terminal support, in case you want to dive deep into the system.
Needless to say, it does not support Android apps and the app support is limited. However,
Mobian sets out to bring an alternative mobile OS to Android which is quite nice. Mobian uses
Phosh, a mobile shell built by Purism, and deploys well-known frameworks like Gnome and
GTK. All in all, I would say, Mobian is a potential alternative to Android and you can definitely
give it a try.

Pros Cons

Mobile derivative from Debian Limited app support

Popular device support

Built on Phosh, Gnome, and GTK

Visit Website

8. Tizen OS

If you are looking for an alternative to Android for larger screens such as TVs then Tizen OS is
a better choice. Developed by Samsung, Tizen OS was aimed to run on all Samsung devices, be
it smartphones, wearables, IoT devices, TVs, etc. However, fast forward now, and we are
noticing Samsung is embracing Android for all its products except for the TV segment. Samsung
has stopped developing phones with Tizen OS and recently, on Galaxy Watch 4, it moved to
Wear OS from Tizen OS.
Having said all of that, for smart TVs, Samsung continues to use its Tizen OS as the project
has gotten popular and lots of third-party apps have been launched including Netflix, Prime
Video, etc. We have detailed a dedicated comparison between Android TV and Tizen OS so go
through our article to learn more about the differences. To make it clear, as far as smart TVs are
concerned, Tizen OS rules the roost and is more performant than Android TV, even on low-end
hardware.

Pros Cons

Great HTML5 support Third-party app support is limited

Better performance than Android TV

Best for the TV ecosystem

Visit Website

9. CalyxOS

CalyxOS is another privacy-focused alternative to Android which is completely deGoogled and


puts a major focus on hardening security and privacy. It has been built by the Calyx Institute
which is a New York-based nonprofit organization to make digital security more accessible to
the masses. CalyxOS currently supports a handful of Pixel and OnePlus devices and Xiaomi Mi
A2, but support for more devices will be added soon.
It ships with Signal for encrypted messaging; Tor browser to access the web without any
tracking; a free and trusted VPN from the Calyx Institute; the open-source Aurora Store, a Play
Store alternative, and more. There are no Google services included in CalyxOS but if you want,
you can sideload microG to get some of the Google services without sacrificing your anonymity.
To sum up, if privacy is what you are looking for on your smartphone, CalyxOS is a great
alternative to other Android forks.

Pros Cons

Privacy-centric OS, Based on Android Limited device support

Many security features include VPN, Tor, etc.

No Google Services

Visit Website
10. LineageOS

If your Android smartphone has hit end-of-life and no longer receives OTA updates from the
manufacturer, LineageOS will come to your rescue. It’s a custom Android ROM, not much
different from the standard Android that you are running on your device, however, you get to
taste the latest Android version, even when the manufacturer is no longer supporting your device.

On top of that, LineageOS comes clean without Google services. You can, however, sideload the
GApps package and get Play Store and other services running. It supports more than 200
devices and continuously brings the latest updates to outdated hardware. Even many custom
ROMs fork LineageOS to add more functionality and features due to its rock-solid base.
LineageOS has even brought the latest Android 12 update to more than 41 devices which is
amazing. Simply put, LineageOS, despite being an Android fork, is a go-to alternative because of
long-life support, better performance, and no Google bloatware.

Pros Cons

Based on Android AOSP, Supports Android 12 None as such

Supports a long list of devices

Stable and Usable

Visit Website
11. /e/ OS

After GrapheneOS and CalyxOS, if you want another alternative to Android that is highly secure
and private then you can try /e/ OS. It’s also based on Android (LineageOS), but the operating
system has been completely deGoogled and there are alternative apps in place of popular Google
apps. You can install apps from its own store and it even displays privacy and energy ratings,
similar to iOS’ AppStore.

/e/ OS is completely open-source and has been developed by the non-profit /e/ Foundation which
is based in France. Currently, it supports more than 240 smartphone models which include
popular Samsung phones and some Fairphone models. You can also buy smartphones preloaded
with /e/ OS from its website. Overall, /e/ OS is a great solution for users who are looking to buy
a privacy-focused smartphone but without Google lurking from behind.

Pros Cons

deGoogle Android fork, based on LineageOS /e/ preloaded smartphones are a bit expensive
Vast device support

Privacy rating in app store

Visit Website

12. HarmonyOS

After the US ban, Huawei had no recourse but to develop its own operating system for
smartphones and other devices. The company developed HarmonyOS which is basically a fork
of vanilla AOSP so essentially it runs Android under the hood. That said, Huawei has developed
its own app packaging container called APP. You can also sideload APKs on HarmonyOS which
is awesome.

It also comes with its own AppGallery where you can find thousands of popular Android apps.
The company has also developed its own compiler called ARK in place of Android’s ART
(Android Runtime). And the new EROFS file system is said to be better than EXT4 and F2FS.
While HarmonyOS is deep inside an Android OS, chances are that Huawei will come up with an
alternative to Android in upcoming years. The company is due to release HarmonyOS 3.0 in
September with new APIs and SDK.
Pros Cons

The core is still Android, uses the AOSP


Supports APK sideloading
base

Suitable OS for Huawei ecosystem

Developed its own APP package


manager

How do I fix connecting to Google Play com?


Basic troubleshooting steps
1. Check that you have a strong Wi-Fi or mobile data connection.
2. Check your storage space.
3. Check for Android system updates.
4. Close & reopen the Play Store.
5. Uninstall & reinstall Play Store updates.
6. Restart your device.
7. Clear cache & data from Google Play Services.
8. Remove & re-add your Google Account.
How to Use Google Play Install Referrer API in Android?
Google Play Install Referrer is the API that is used in most of the applications but it is not been
seen in the app. This functionality works under the hood and is used to check the sources from
where the app is getting most of the downloads. Google Play Install Referrer API tells us that
from where the app has to go installs and the sources. This will helps us to improve the presence
of our apps on different platforms.

What is the use of Google Play Referrer API?

Google Play Referrer API provides us information from where our app has been installed
whether it may be play store or any other platform. With the help of this API, we can track the
actions which are taken by the user to download our App. Below are some of the important data
which we can gather using this API.
With the help of this API, we can track from where the user has installed our application. We can
get the URL from which our app has been downloaded.

We can get the timestamp when the user clicks on the referrer URL.

We can get the timestamp of the user when the user downloads our app from a specific URL.

We can get the app version when our app was first installed.

We can track whether the user has used the app’s instant experience with the previous 7 days.

What we are going to build in this article?

We will be building a simple application in which we will be adding our Google Play Referrer
API and we will be displaying the data which is tracked by this API in a simple text view. Note
that as we have not published our App to Google Play. So we will only get the source from
which our app installed as organic. Below is the screenshot in which we will get to see what we
are going to build in this article. Note that we are going to implement this project using the Java
language.

Step by Step Implementation


Step 1: Create a New Project
To create a new project in Android Studio please refer to How to Create/Start a New Project in
Android Studio. Note that select Java as the programming language.
Step 2: Add the dependency for Google Play Referrer API in the build.gradle file
Navigate to Gradle scripts and then to build.gradle(Module) level. Add below line in
build.gradle file in the dependencies section.
Step 3: Working with the activity_main.xml file
Navigate to the app > res > layout > activity_main.xml and add the below code to that file.
Below is the code for the activity_main.xml file.

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android "

xmlns:tools="http://schemas.android.com/tools "

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context=".MainActivity">

<!--text view for displaying referrer details-->

<TextView

android:id="@+id/idTVReferrer"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:layout_margin="3dp"

android:gravity="center_horizontal"

android:padding="4dp"

android:text="Referrer"

android:textAlignment="center"

android:textColor="@color/purple_200"

android:textSize="18sp" />
</RelativeLayout>

Step 4: Working with the MainActivity.java file


Go to the MainActivity.java file and refer to the following code. Below is the code for
the MainActivity.java file. Comments are added inside the code to understand the code in
more detail.
import android.os.Bundle;
import android.os.RemoteException;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.android.installreferrer.api.InstallReferrerClient;
import com.android.installreferrer.api.InstallReferrerStateListener;
import com.android.installreferrer.api.ReferrerDetails;

public class MainActivity extends AppCompatActivity {

// creating variables for text view.


private TextView referrerTV;

// variable for install referrer client.


InstallReferrerClient referrerClient;

// creating an empty string for our referrer.


String referrer = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// initializing all our variables.


referrerTV = findViewById(R.id.idTVReferrer);

// on below line we are building our install referrer client and building it.
referrerClient = InstallReferrerClient.newBuilder(this).build();

// on below line we are starting its connection.


referrerClient.startConnection(new InstallReferrerStateListener() {
@Override
public void onInstallReferrerSetupFinished(int responseCode) {
// this method is called when install referrer setup is finished.
switch (responseCode) {
// we are using switch case to check the response.
case InstallReferrerClient.InstallReferrerResponse.OK:
// this case is called when the status is OK and
ReferrerDetails response = null;
try {
// on below line we are getting referrer details
// by calling get install referrer.
response = referrerClient.getInstallReferrer();

// on below line we are getting referrer url.


String referrerUrl = response.getInstallReferrer();

// on below line we are getting referrer click time.


long referrerClickTime = response.getReferrerClickTimestampSeconds();

// on below line we are getting app install time


long appInstallTime = response.getInstallBeginTimestampSeconds();

// on below line we are getting our time when


// user has used our apps instant experience.
boolean instantExperienceLaunched =
response.getGooglePlayInstantParam();

// on below line we are getting our


// apps install referrer.
referrer = response.getInstallReferrer();

// on below line we are setting all detail to our text view.


referrerTV.setText("Referrer is : \n" + referrerUrl + "\n" + "Referrer Click
Time is : " + referrerClickTime + "\nApp Install Time : " + appInstallTime);
} catch (RemoteException e) {
// handling error case.
e.printStackTrace();
}
break;
case
InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
// API not available on the current Play Store app.
Toast.makeText(MainActivity.this, "Feature not supported..",
Toast.LENGTH_SHORT).show();
break;
case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
// Connection couldn't be established.
Toast.makeText(MainActivity.this, "Fail to establish connection",
Toast.LENGTH_SHORT).show();
break;
}
}
@Override
public void onInstallReferrerServiceDisconnected() {
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
Toast.makeText(MainActivity.this, "Service disconnected..",
Toast.LENGTH_SHORT).show();
}
});
}
}
Now run your app and see the output of the app.
Note: As our app is not published on Google Play so we will only get the referrer details as
organic and other details will get as zero.

Android App Development Fundamentals for Beginners


Android is an operating system that is built basically for Mobile phones. It is based on the
Linux Kernel and other open-source software and is developed by Google. It is used for
touchscreen mobile devices such as smartphones and tablets. But nowadays these are used in
Android Auto cars, TV, watches, camera, etc. It has been one of the best-selling OS for
smartphones. Android OS was developed by Android Inc. which Google bought in 2005.
Various applications (apps) like games, music player, camera, etc. are built for these
smartphones for running on Android. Google Play store features more than 3.3 million apps.
The app is developed on an application known as Android Studio. These executable apps are
installed through a bundle or package called APK(Android Package Kit).
Android Fundamentals

1. Android Programming Languages


In Android, basically, programming is done in two languages JAVA or C+
+ and XML(Extension Markup Language). Nowadays KOTLIN is also preferred. The XML
file deals with the design, presentation, layouts, blueprint, etc (as a front-end) while the JAVA
or KOTLIN deals with the working of buttons, variables, storing, etc (as a back-end).
2. Android Components
The App components are the building blocks of Android. Each component has its own role and
life cycles i.e from launching of an app till the end. Some of these components depend upon
others also. Each component has a definite purpose. The four major app components are:
 Activities
 Services
 Broadcast Receivers:
 Content Provider:
Activities: It deals with the UI and the user interactions to the screen. In other words, it is a
User Interface that contains activities. These can be one or more depending upon the App. It
starts when the application is launched. At least one activity is always present which is known
as MainActivity. The activity is implemented through the following.
Syntax:
public class MainActivity extends Activity{
// processes
}
Services: Services are the background actions performed by the app, these might be long-
running operations like a user playing music while surfing the Internet. A service might need
other sub-services so as to perform specific tasks. The main purpose of the Services is to
provide non-stop working of the app without breaking any interaction with the user.
Syntax:
public class MyServices extends Services{
// code for the services
}
Broadcast Receivers: A Broadcast is used to respond to messages from other applications or
from the System. For example, when the battery of the phone is low, then the Android OS fires
a Broadcasting message to launch the Battery Saver function or app, after receiving the
message the appropriate action is taken by the app. Broadcast Receiver is the subclass of
BroadcastReceiver class and each object is represented by Intent objects.

Syntax:
public class MyReceiver extends BroadcastReceiver{
public void onReceive(context,intent){
}
Content Provider: Content Provider is used to transferring the data from one application to
the others at the request of the other application. These are handled by the class
ContentResolver class. This class implements a set of APIs(Application Programming
Interface) that enables the other applications to perform the transactions. Any Content Provider
must implement the Parent Class of ContentProvider class.

Syntax:
public class MyContentProvider extends ContentProvider{
public void onCreate()
{}
}
3. Structural Layout Of Android Studio
The basic structural layout of Android Studio is given below:
The above figure represents the various structure of an app.
Manifest Folder: Android Manifest is an XML file that is the root of the project source set. It
describes the essential information about the app and the Android build tools, the Android
Operating System, and Google Play. It contains the permission that an app might need in order
to perform a specific task. It also contains the Hardware and the Software features of the app,
which determines the compatibility of an app on the Play Store. It also includes special
activities like services, broadcast receiver, content providers, package name, etc.
Java Folder: The JAVA folder consists of the java files that are required to perform the
background task of the app. It consists of the functionality of the buttons, calculation, storing,
variables, toast(small popup message), programming function, etc. The number of these files
depends upon the type of activities created.
Resource Folder: The res or Resource folder consists of the various resources that are used in
the app. This consists of sub-folders like drawable, layout, mipmap, raw, and values. The
drawable consists of the images. The layout consists of the XML files that define the user
interface layout. These are stored in res.layout and are accessed as R.layout class. The raw
consists of the Resources files like audio files or music files, etc. These are accessed through
R.raw.filename. values are used to store the hardcoded strings(considered safe to store string
values) values, integers, and colors. It consists of various other directories like:
 R.array :arrays.xml for resource arrays
 R.integer : integers.xml for resource integers
 R.bool : bools.xml for resource boolean
 R.color :colors.xml for color values
 R.string : strings.xml for string values
 R.dimen : dimens.xml for dimension values
 R.style : styles.xml for styles
Gradle Files: Gradle is an advanced toolkit, which is used to manage the build process, that
allows defining the flexible custom build configurations. Each build configuration can define
its own set of code and resources while reusing the parts common to all versions of your app.
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 independently of Android Studio. This means that you can build your
Android apps from within Android Studio. The flexibility of the Android build system enables
you to perform custom build configurations without modifying your app’s core source files.
Basic Layout Can be defined in a tree structure as:
Project/
app/
manifest/
AndroidManifest.xml
java/
MyActivity.java
res/
drawable/
icon.png
background.png
drawable-hdpi/
icon.png
background.png
layout/
activity_main.xml
info.xml
values/
strings.xml
4. Lifecycle of Activity in Android App
The Lifecycle of Activity in Android App can be shown through this diagram:

States of Android Lifecycle:


1. OnCreate: This is called when activity is first created.
2. OnStart: This is called when the activity becomes visible to the user.
3. OnResume: This is called when the activity starts to interact with the user.
4. OnPause: This is called when activity is not visible to the user.
5. OnStop: This is called when activity is no longer visible.
6. OnRestart: This is called when activity is stopped, and restarted again.
7. OnDestroy: This is called when activity is to be closed or destroyed.
How to Publish Your Android App on Google Play Store?

Nowadays smartphones are among the most essential gadgets for users. Over 60% of people
sleep with their phones by their side and check it first thing in the morning. Almost all
businesses, including retail stores, have mobile apps to keep their audience engaged. Various
applications like games, music player, camera, etc. are built for these smartphones for running on
Android. Google Play store features quite 3.3 million apps.
Building a dream app that reflects your idea, but, what next? Building a mobile app simply
means you’re half done. But one must concern about the launch of the application. It’s very
confusing because as a beginner, they are not friendly with the google play store guidelines. So
let’s understand step by step process to publish your android app on google play store.

Step 1: Make a Developer Account


A developer account is must be needed to upload an app on the Google Play Store, and the
process is very simple. Just go through Google Play Store and do as instructed.

The account can be created in four simple steps:

1. Sign-In with Your Google Account


2. Accept Terms
3. Pay Registration Fee of $25.
4. Complete Your Account Details
Step 2: After you completed step 1 you will be redirected to this page where you have to click
on the CREATE APPLICATION button.
Once you click on it a pop up will be shown like this where you have to choose your Default
language and Title of your app. Then click on the CREATE button.

Step 3: Store listing


After you completed step 2 you will be redirected to this page where you have to provide
the Short description and Full description of your App.

Then you scroll down the page and now you have to add the Hi-res icon of your app.
Then you have to provide the Screenshots of your app.

Ant next thing you have to provide is the Feature Graphic of your app. Note that this graphic
is then used everywhere your app is featured on Google Play.

Then come to Categorization part where you have to provide your Application
type and Category of your app.
Then come to Contact details part where you have to provide your Website(if
any), email, and Phone of yours.

And finally when you click on SAVE DRAFT button you can see that Store listing tab is now
become turned to green and you are done for Store listing.

Step 4: App release


After completing step 3 go to App releases then scroll down to Production track and click
on MANAGE button.
After redirecting to the next page click on the CREATE RELEASE button.

After that on the next page, you have to upload your APK file in Android App Bundles and
APKs to add section.

After that simply click on the SAVE button.

Step 5: Content rating


Now after completing step 4 go to Content rating and click on CONTINUE button.
After that fill your email address as well as confirm the email address.

And then Select your app category.

After selecting your app category make sure that you read all of these and answer them
correctly.
And after answering them correctly don’t forget to click on SAVE
QUESTIONNAIRE button.

Once you saved all those things then click on CALCULATE RATING button.

When you redirected to another page scroll down and click on APPLY RATING button. And
you are done for Content rating section. Don’t forget to notice that Content rating section is
now become turned to green.
Step 6: Pricing & distribution
Then go to the Pricing & distribution section. Then select the country in which you want to
available your app.

Then go down and down and check out the Content guidelines and US export laws section
by marking them tick mark. And click on the SAVE DRAFT button. Don’t forget to notice
that Pricing & distribution section is now become turned to green tick.

Step 7: App content


Then come to the App content section. And in the Privacy policy section click on
the Start button.
And then provide a valid Privacy policy URL. Note that google will check this.

Then go back and continue further steps by clicking start button in Ads section.

Then select does your app contain ads or not? And click on SAVE button.

Then again go back and continue further steps by clicking start button in Target audience
and content section.
In the next page select the Target age group and scroll down and click on the Next button.

Then check the Appeal to children section. And click on the Next button.

On the next page click on the Save button and you are done for App content section.
Step 8: App releases
Again go back to the App releases section. And in the Production track click on the EDIT
RELEASE button.

Then on the next page go down and down and click on the REVIEW button.

And finally, on the next page click on the START ROLLOUT TO PRODUCTION button to
send your app to review. And you are finally done.
After usually 4 to 5 days they will review your app and let you know to either approve or reject
your app.

Create an Android project

This lesson shows you how to create a new Android project with Android Studio, and it
describes some of the files in the project.

To create your new Android project, follow these steps:

1. Install the latest version of Android Studio.


2. In the Welcome to Android Studio window, click Create New Project.
Figure 1. Android Studio welcome screen.
If you have a project already opened, select File > New > New Project.
3. In the Select a Project Template window, select Empty Activity and click Next.
4. In the Configure your project window, complete the following:
 Enter "My First App" in the Name field.
 Enter "com.example.myfirstapp" in the Package name field.
 If you'd like to place the project in a different folder, change its Save location.
 Select either Java or Kotlin from the Language drop-down menu.
 Select the lowest version of Android you want your app to support in
the Minimum SDK field.

Note: The Help me choose link opens the Android Platform/API Version
Distribution dialog. This dialog provides information about the various versions
of Android that are distributed among devices. The key tradeoff to consider is the
percentage of Android devices you want to support versus the amount of work to
maintain your app on each of the different versions that those devices run on. For
example, if you choose to make your app compatible with many different versions
of Android, you increase the effort that's required to maintain compatibility
between the oldest and newest versions.
 If your app will require legacy library support, mark the Use legacy
android.support libraries checkbox.
 Leave the other options as they are.
5. Click Finish.

After some processing time, the Android Studio main window appears.

Figure 2. Android Studio main window.

Now take a moment to review the most important files.

First, be sure the Project window is open (select View > Tool Windows > Project) and the
Android view is selected from the drop-down list at the top of that window. You can then see the
following files:

app > java > com.example.myfirstapp > MainActivity

This is the main activity. It's the entry point for your app. When you build and run your
app, the system launches an instance of this Activity and loads its layout.

app > res > layout > activity_main.xml

This XML file defines the layout for the activity's user interface (UI). It contains
a TextView element with the text "Hello, World!"
app > manifests > AndroidManifest.xml

The manifest file describes the fundamental characteristics of the app and defines each of
its components.

Gradle Scripts > build.gradle

There are two files with this name: one for the project, "Project: My_First_App," and one
for the app module, "Module: My_First_App.app." Each module has its
own build.gradle file, but this project currently has just one module. Use each
module's build.gradle file to control how the Gradle plugin builds your app.

Reference:-
https://www.geeksforgeeks.org/interesting-facts-about-android/
https://beebom.com/android-alternative/
https://www.geeksforgeeks.org/how-to-use-google-play-install-referrer-api-in-android/
https://www.geeksforgeeks.org/android-tutorial/
https://www.geeksforgeeks.org/android-app-development-fundamentals-for-beginners/

You might also like