Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

JnanaSangama, Belagavi – 590014.

MOBILE APPLICATION DEVELOPMENT (18CSMP68)


MINI PROJECT REPORTON
“ASYNCHRONOUS TASK WITH TIME STAMP AND BACKGROUND”
Submitted in partial fulfillment for the requirement of 6th semester for the
Degree of Bachelor of Engineering in
COMPUTER SCIENCE & ENGINEERING
For the academic year 2023
SUBMITTED BY:
AMRUTHA R [1DB20CS011]
KAVANA K A [1DB20CS056]
KEERTHANA V [1DB20CS059]
KUSUMA S K [1DB20CS063]
Under the guidance of:
Prof . Prakruthi.S.T ,
Assistant Professor,
Dept. of CSE

DON BOSCO INSTITUTE OF TECHNOLOGY, BENGALURU-560074


DON BOSCO INSTITUTE OF TECHNOLOGY
Kumbalagodu, Bengaluru-560074

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


CERTIFICATE

This is to certify that the Mini Project Report entitled “Asynchronous Task with Time
Stamp and Background ” is a bonafide Mini Project work carried out by Amrutha
R[1DB20CS011], Kavana K A[1DB20CS056],Keerthana V[1DB20CS059] and Kusuma S
K[1DB20CS063] . in partial fulfillment of ‘6th’ semester for the Degree of Bachelor of
Engineering in Computer Science and Engineering of Visvesvaraya Technological University,
Belagavi, during the academic year 2023. It is certified that all corrections/suggestions
indicated for Internal Assessments have been incorporated with the degree mentioned.

Signature of Guide Signature of HOD


__________________ ___________________

Prof . Prakruthi S T Dr.K B Shiva Kumar


Assistant Professor Head of Dept,
Dept. of CSE Dept. of CSE
DBIT, Bangalore. DBIT,Bangalore

.
DON BOSCO INSTITUTE OF TECHNOLOGY
Kumbalagodu, Bengaluru-560074

DECLARATION

We, Amrutha R, Kavana K A, Keerthana V, Kusuma S K students of sixth semester B.E,


Department of Computer Science and Engineering, Don Bosco Institute of Technology,
Kumbalagodu, Bengaluru, declare, that Mini Project Work entitled “Asynchronous Task
with Time Stamp and Background” has been carried out by and submitted in partial
fulfillment of the requirement of 6th semester 2023. The matter embodied in this report has
been submitted to any university or institute for the award of any other degree or diploma.

Place: Bengaluru AMRUTHA R [1DB20CS011]


KAVANA K A [1DB20CS056]
KEERTHANA V [1DB20CS059]
KUSUMA S K [1DB20CS063]
Date:
ACKNOWLEDGEMENT

At the various stages in making the mini project, a number of people have given me invaluable
comment on the manuscript. We take this opportunity to express our deepest gratitude and
appreciation to all those who helped us directly or indirectly towards the successful completion
of this Mini project.
We would like to thank Principal Dr. B S Nagabushana , Don Bosco Institute of Technology for
his support though out this mini project.
We express my whole hearted gratitude to Dr. K B ShivaKumar, who is our respectable Head
of Dept. Department of Computer Science and Engineering.We wish to acknowledge for
their valuable help and encouragement.
In this regard, a heartfelt gratitude to guide Prof. Prakruthi S T Assistant Professor of
Department ofComputer Science and Engineering, for her timely advice on the mini project
and regular assistance throughout the mini project work. We would also like to thank the staff
members of Department of Computer Science and Engineering for their co-operation.
ABSTRACT
Asynchronous task displaying a banner in mobile application development
involves the execution of a task or operation in a non-blocking manner, allowing
the application to continue functioning without waiting for the task to complete.
This approach is crucial for maintaining a smooth user experience and
responsiveness in mobile applications.
The main aim and objective of this project were to demonstrate the use of
Asynchronous task in android asyncTask is designed to be a helper class around
thread and handler and does not constitute a generic threading framework.
AsyncTasks are to ideally be used for short operations (a few seconds at the most.).
An asynchronous task is defined by a computation that runs on a background
thread and whose result is published on the UI thread ,Implement the use of
asynchronous task by implementing the functionality of a simple moving banner
using a set of start and stop buttons , and we also improvise by adding additional
features like background change, time stamp and the count indicating the number
of times banner appeared.
LIST OF FIGURES
FIGURE PAGE

Fig 8:1 Main page…………………………………………………………... 17


Fig 8.2: Banner Scrolling …………………………………………………. 17
Fig 8.3: Banner Flow Stop ……………………………………………………18
Fig:8.4: Count Increment…....……………………………………………… 18
Fig:8.5: Background Change…………………………………………………19
TABLE OF CONTENTS
CHAPTERS Pg. No
1. INTRODUCTION 1-4
2. PROBLEM STATEMENT AND OBJECTIVES 5
3. LITERATURE SURVEY 6
4. PROPOSED SYSTEM 7
5. ANALYSIS 8
5.1 Software Requirements
5.2 Hardware Requirements
6. APPLICATION DESIGN 9-10
XML Code
7. IMPLEMENTION 11-16
7.1 Overview of System Implementation 11
7.1.1 MainActivity.java 11-15
7.1.2 Manifest.xml 16
8. RESULTS AND SCREENSHOTS 17-19
CONCLUSION 20
FUTURE SCOPE 21
BIBLIOGRAPHY 22
ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Chapter-1
INTRODUCTION
In recent years, the emergence of smart phones has changed the definition of
mobile phones. Phone is no longer just a communication tool, but also an essential
part of the people's communication and daily life. Various applications added
unlimited fun for people's lives. Itis certain that the future of the network will be
the mobile terminal. Now the Android system in the electronics market is
becoming more and more popular, especially in the smartphone market. Because
of the open source, some of the development tools are free, so there are plenty of
applications generated. This greatly inspired the people to use the Android system.
In addition, it provides a very convenient hardware platform for developers so
that they can spend less effort to realize their ideas. After studying some previous
Android applications andaccess to large amounts of materials, we utilize the Java
language, the Eclipse platform, Android ADT and the Android SDK to develop
these three mobile applications. Thesesystems have a nice interface and smooth
operation. These Apps won’t steal any personal information, but can exclude
useless information and bring a wonderful user experience.

Dept. of CSE, DBIT 2023 1|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

1.1 Android:
Android is a mobile operating system (OS) currently developed by Google,
based on the Linux kernel and designed primarily for touchscreen mobile
devices such assmartphones and tablets. Android's user interface is mainly
based on direct manipulation, using touch gestures that loosely correspond
to real-world actions, such as swiping, tapping and pinching, to manipulate
on-screen objects, along with a virtual keyboard for text input. In addition to
touchscreen devices, Google has further developed Android TV for
televisions, Android Auto for cars, and Android Wear for wrist watches, each
with a specialized user interface. Variants of Android are also used on
notebooks, game consoles, digital cameras, and other electronics. Initially
developed by Android, Inc., which Google bought in 2005, Android was
unveiled in 2007, along with the founding of the Open Handset Alliance – a
consortium of hardware, software, and telecommunication companies
devoted to advancing open standards for mobile devices. As of July 2013,
the Google Play store has had over one million Android applications ("apps")
published, and over 50 billion applications downloaded. An April–May 2013
survey of mobile application developers found that 71% of developers
create applications for Android, and a 2015 survey found that 40% of full-
time professional developers see Android as their priority target platform.

Fig 1.1 Android image

Dept. of CSE, DBIT 2023 2|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

1.2 Software Development Kit:


A software development kit (SDK or "devkit") is typically a set of software
development tools. that allows the creation of applications for a certain software
package, software framework, hardware platform, computer system, video game
console, operating system, or similar development platform. To create
applications you have to download this software development kit. For example, if
you want to create an Android app you require an SDK withjava programming, for
iOS apps you require an iOS SDK with swift language, and to developMS Windows
apps you require the.net language. There are also SDKs that are installed in apps
to provide analytics and data about activity. Prominent examples include Google
and Facebook.
1.3 Android Studio:
Android Studio is an integrated development environment (IDE) for developing for
the Android platform. It was announced on May 16, 2013 at the Google I/O
conference. Android Studio is freely available under the Apache License 2.0.
Android Studio was in early access preview stage starting from version
0.1 in May 2013, then entered beta stage starting from version 0.8 which was
released in June 2014. The first stable build was released in December 2014,
starting from version 1.0 to currently Arctic Fox Based on JetBrains' IntelliJ IDEA
software, Android Studio is designed specifically for Android development. It is
available for download on Windows, Mac OS X and Linux, and replaced Eclipse
Android Development Tools (ADT) as Google's primary IDE for native Android
application development.

Fig 1.3 Android Studio

Dept. of CSE, DBIT 2023 3|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

1.4 Android Manifest:


The AndroidManifest.xml file contains information of your package,
including components of the application such as activities, services,
broadcast receivers, content providers etc.
It performs some other tasks also:
 It is responsible to protect the application to access any protected
parts by providing the permissions.
 It also declares the android api that the application is going to use.
 It lists the instrumentation classes. The instrumentation classes
provides profiling and other information. This information are
removed justbefore the application is published etc.

Dept. of CSE, DBIT 2023 4|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Chapter-2
PROBLEM STATEMENT AND OBJECTIVES

2.1 Problem Statement:

Develop an application to demonstrate the use of Asynchronous tasks in android.


The asynchronous task should implement the functionality of a simple moving
banner. On pressing the Start Task button, the banner message should scroll from
right to left. On pressing the Stop Task button, the banner message should stop.
Let the banner message be “Don Bosco Institute of technology”
EXTRA FEATURE: Count the number of times banner has got displayed with
specific time/date along with changing background image.

2.2 Objectives:
 To design an xml code that can display a banner flow scrolling from right to left
horizontally.
 To code a java program that can display output of Asynchronous Task with time stamp
and count.
 Testing the code for all its intended functionalities by a android device or avd.

Dept. of CSE, DBIT 2023 5|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Chapter-3
LITERATURE SURVEY

This literature survey aims to explore the usage and implementation of


asynchronous tasks with banner flow and count in mobile application
development. The objective is to investigate existing research, methodologies, and
frameworks employed to achieve a seamless and dynamic banner display
experience. By conducting this survey, we aim to gain insights into the best
practices, challenges, and potential areas for improvement in this specific domain.

Existing Approaches and Frameworks:


Review of research papers, articles, and case studies on the implementation of
asynchronous tasks with banner flow and count. Examination of different
methodologies and techniques used by developers and researchers in this context.
Comparison of various frameworks or libraries available for incorporating
asynchronous tasks, banner flow, and count in mobile applications.
By conducting this literature survey, we aim to provide a comprehensive understanding of
the
current state of asynchronous tasks with banner flow, count and background change in
mobile application development. The survey will contribute to the existing body of
knowledge and offer valuable insights to practitioners, researchers, and developers in this
field.
Dept. of CSE, DBIT 2023 6|P a g e
ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Chapter-4
PROPOSED SYSTEM

Our proposed system aims to enhance the performance and user experience of mobile
applications by implementing an efficient and optimized asynchronous task framework.
The system will leverage the advantages of asynchronous execution to ensure that time-
consuming tasks, such as fetching data from APIs or performing resource-intensive
operations, are executed in the background without blocking the user interface. By
offloading these tasks to separate threads or utilizing asynchronous programming
techniques, the proposed system will enable the application to remain responsive and
provide a smooth user experience even during heavy processing. Additionally, the system
will incorporate proper error handling and graceful fallback mechanisms to handle
exceptional scenarios and maintain the overall stability of the application. Through this
proposed system, we intend to streamline and optimize the execution of asynchronous
tasks in mobile applications, resulting in improved performance, reduced latency, and
enhanced user satisfaction.

Dept. of CSE, DBIT 2023 7|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Chapter-5
ANALYSIS

3.1 HARDWARE REQUIREMENTS:

Minimum RAM :- 8 GB or more.


Processor :- Intel core i5 8th Gen.
Disk Space :- 20 GB of available disk space.
Display :- 1280 x 800 minimum screen
resolution.

3.2 SOFTWARE REQUIREMENTS:


Operating System :- 64-bit Microsoft Windows 11
Emulator :- Pixel 2 API 31.
Target SDK version :- 33.

Dept. of CSE, DBIT 2023 8|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)
Language Used :- xml, java.
JDK version :- java development kit 20.

Dept. of CSE, DBIT 2023 9|P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)

Chapter-6
APPLICATION DESIGN

• Text view - A user interface element that displays text to the user.
• Button - A user interface element that is used to trigger actions or perform specific
tasks when tapped by the user.
• Relative Layout - is a View Group that displays child views in relative positions

XML CODE:

<?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"
tools:context=".MainActivity">
<Image View
android:id="@+id/backgroundImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/bannerTextView"
android: layout_width="308dp"
android:layout_height="189dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
Dept. of CSE, DBIT 2023 10 | P a g e
ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)
android:layout_centerHorizontal="true"
android:layout_marginStart="84dp"
android:layout_marginTop="101dp"
android:layout_marginEnd="19dp"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="@color/black"
android:textColorHighlight="@color/black"/>
<Button
android:id="@+id/startButton"
android: layout_width="wrap_content"
android:layout_height="wrap_content"
android: layout_alignParentStart="true"
android: layout_alignParentBottom="true"
android: layout_marginStart="50dp"
android: layout_marginBottom="245dp"
android: text="Start Task" />
<Button
android:id="@+id/stopButton"
android: layout_width="wrap_content"
android: layout_height="wrap_content"
android: layout_alignParentBottom="true"
android: layout_marginLeft="93dp"
android: layout_marginBottom="245dp"
android: layout_toRightOf="@id/startButton"
android: text="Stop Task" />
</RelativeLayout>

Dept. of CSE, DBIT 2023 11 | P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)

Chapter-7
IMPLEMENTATION

MainActivity.java
provides the bulk of your code to start (as mentioned, you did have
the option to change this when creating your new app project).
This is the code for the first activity: the first screen of your app.
AndroidManifest.XML
Every app project must have an Android Manifest. xml file (with
precisely that name) at the root of the project source set. The
manifest file describes essential information about your app to the
Android build tools, the Android operating system, and Google Play.

7.1 Overview of System Implementation


7.1.1 MainActivity.java
package com.example. myapplication;
import androidx.appcompat.app. AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android. view. View;
import android. widget. Button;
import android. widget. TextView;
import android. graphics. drawable. Drawable;
import android. widget. Image View;
Dept. of CSE, DBIT 2023 12 | P a g e
ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)
import java.text. SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
private TextView bannerTextView;
private Button startButton;
private Button stopButton;
private boolean isBannerRunning;
private int displayCount;
private BannerTask bannerTask;
private ImageView backgroundImageView;
private int imageIndex;
private Timer backgroundTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView (R. layout. activity_main);
bannerTextView = findViewById(R.id.bannerTextView);
startButton = findViewById(R.id.startButton);
stopButton = findViewById(R.id.stopButton);
backgroundImageView = findViewById(R.id.backgroundImageView);
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Dept. of CSE, DBIT 2023 13 | P a g e
ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)
startBannerTask ();
}
});
stopButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stopBannerTask();
}
});
startBackgroundTimer();
}
private void startBannerTask() {
if (!isBannerRunning) {
bannerTask = new BannerTask();
bannerTask.execute();
isBannerRunning = true;
}
}
private void stopBannerTask() {
if (isBannerRunning) {
bannerTask.cancel(true);
isBannerRunning = false;
}
}
private class BannerTask extends AsyncTask<Void, Void, Void> {
private final String bannerMessage = "Don Bosco Institute Of Technology";
private int bannerPosition = 0;

Dept. of CSE, DBIT 2023 14 | P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)
@Override
protected Void doInBackground(Void... params) {
while (! isCancelled ()) {
try {
Thread.sleep(700); // Adjust the scrolling speed here
publishProgress();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
bannerPosition += 4; // Adjust the scrolling distance here
updateBannerText();
}
private void updateBannerText() {
int bannerLength = bannerMessage.length();
if (bannerPosition > bannerLength) {
bannerPosition = 0;
displayCount++;
}
String scrolledText = bannerMessage.substring(bannerPosition) +
bannerMessage.substring(0, bannerPosition);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss", Locale.getDefault());
String currentTime = dateFormat.format(new Date());

Dept. of CSE, DBIT 2023 15 | P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)
String bannerText = scrolledText + " (Count: " + displayCount + ", Time: " +
currentTime + ")";
bannerTextView.setText(bannerText);
}
}
private void startBackgroundTimer() {
backgroundTimer = new Timer();
backgroundTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
changeBackgroundImage();
}
});
}
}, 0, 15000); // Change background image every 5 seconds
}
private void changeBackgroundImage() {
int[] imageResources = {R.drawable.image3, R.drawable.image4,
R.drawable.image6};
Drawable imageDrawable =
getResources().getDrawable(imageResources[imageIndex]);
backgroundImageView.setImageDrawable(imageDrawable);
imageIndex = (imageIndex + 1) % imageResources.length;
}
@Override
protected void onDestroy() {
super.onDestroy();
if (backgroundTimer != null)
backgroundTimer.cancel();
Dept. of CSE, DBIT 2023 16 | P a g e
ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPM
(18CSMP68)
stopBannerTask();
}
}

7.1.2 Android Manifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Dept. of CSE, DBIT 2023 17 | P a g e
ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Chapter-8
RESULTS AND SCREENSHOTS

Fig:8.1 Main page Fig:8.2 Banner Scrolling

Dept. of CSE, DBIT 2023 18 | P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Fig:8.3 Banner flow stop Fig:8.4 Count Incrementation

Dept. of CSE, DBIT 2023 19 | P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

Fig:8.5 Background Change

Dept. of CSE, DBIT 2023 20 | P a g


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

CONCLUSION

In conclusion, implementing Asynchronous tasks with banner flow, count and background
change in mobile applications provides a dynamic and engaging user experience while
maintaining responsiveness. By utilizing asynchronous execution, the application can fetch
and update banner content in the background without interrupting user interaction.
Incorporating a count incrementation for the banner flow adds a time that keeps the
content fresh and relevant. This approach combines the benefits of asynchronous task
execution, such as improved performance and optimized network usage, with the visually
appealing aspect of timed banner transitions. Overall, integrating asynchronous tasks with
banner flow, count and background change enhances the user experience by delivering
timely and engaging content while ensuring the smooth functioning of the application.

Dept. of CSE, DBIT 2023 21 | P a g e


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

FUTURE SCOPE
The future scope of asynchronous tasks with a timer for displaying banners in mobile
Android applications presents exciting possibilities for further enhancing user engagement
and personalization. By leveraging advancements in machine learning and data analytics,
the system can intelligently analyze user behavior and preferences to dynamically tailor
the banner content. This adaptive approach could result in more personalized and relevant
advertisements, notifications, or information for users. Additionally, incorporating
advanced scheduling algorithms and intelligent caching mechanisms could optimize the
timing and delivery of banner transitions, further enhancing the user experience.
Furthermore, exploring integration with emerging technologies such as augmented reality
(AR) or virtual reality (VR) could enable interactive and immersive banner experiences.
Moreover, as 5G networks become more prevalent, the future scope includes leveraging
higher network speeds and lower latency to deliver real-time updates and richer
multimedia content in the banners. These advancements in technology and user-centric
approaches open up new avenues for the future of asynchronous tasks with timers in
displaying banners, enabling mobile Android applications to offer even more engaging and
tailored experiences to their users.

Dept. of CSE, DBIT 2023 22 | P a g


ASYNCHRONOUS TASK WITH TIME STAMP MOBILE APPLICATION DEVELOPME
(18CSMP68)

BIBLIOGRAPHY
Reference Book :
Google Developer Training, "Android Developer Fundamentals Course –
ConceptReference”, Google Developer Training Team, 2017.
Website:
[1]. YouTube : https://www.youtube.com/[2].
https://developer.android.com/studio
[3]. https://github.com/
[4].https://www.gitbook.com/book/google-developer-training/android-
developer-[5].fundamentals-course- concepts/details

Dept. of CSE, DBIT 2023 23 | P a g

You might also like