You are on page 1of 49

Internship Project

AN INTERNSHIP REPORT

Submitted by

Daraniya Bhakti
180540107035

In partial fulfillment for the award of the degree of


BACHELOR OF ENGINEERING
In
Computer Engineering

Darshan Institute of Engineering and Technology,


Rajkot

Gujarat Technological University, Ahmedabad


[April 2021-2022]
Darshan Institute of Engineering and Technology
Rajkot – Morbi Highway, Gujarat – 363650, INDIA

CERTIFICATE

This is to certify that the internship report submitted along with the project entitled

Internship Project has been carried out by Daraniya Bhakti under my guidance in

partial fulfillment for the degree of Bachelor of Engineering in Computer Engineering

Department, 8th Semester of Gujarat Technological University, Ahmedabad during

the academic year 2021-22.

Dr. Gopi Sanghani Dr. Gopi Sanghani

Internal Guide Head of the Department


COMPLETION CERTIFICATE

Gujarat Technological University Darshan College of Engineering and Technology


Darshan Institute of Engineering and Technology
Rajkot – Morbi Highway, Gujarat – 363650, INDIA

DECLARATION

We hereby declare that the Internship report submitted along with the Internship

entitled Internship Project submitted in partial fulfillment for the degree of Bachelor

of Engineering in Computer Engineering Branch to Gujarat Technological University,

Ahmedabad, is a bonafide record of original project work carried out by me at

Tatvasoft under the supervision of Mrs. Sweety Patel and that no part of this report

has been directly copied from any students’ reports or taken from any other source,

without providing due reference.

Name of the Student Sign of Student


1 Daraniya Bhakti

Gujarat Technological University i Darshan College of Engineering and Technology


ACKNOWLEDGEMENT

At the very beginning, I would like to express my gratitude to the almighty for giving me

the ability to work hard under pressure.

This internship report might never have been completed without the necessary practical

knowledge and assistance from many books, articles, and websites.

I express my heartfelt gratitude and deepest regard to my internal guide, Dr. Gopi

Sanghani, Head of Department, Computer Department, Darshan Institute of Engineering

and Technology, Rajkot, Gujarat, for her constant guidance, helpful advice, and

continuous encouragement throughout the progress of this work, without which the work

could not have been completed.

I want to express my special thanks to Mrs. Sweety Patel, Learning and Development

Executive, Tatvasoft, under whom I have completed my internship program.

I am also grateful to Tatvasoft for providing me with such an opportunity to complete my

internship and allow me to work in a real situation.

I would like to convey my appreciation and thanks to those who have guided me

generously with the right knowledge for this report. Thank you to everyone who

responded each and every time in order to collect the necessary data.

Gujarat Technological University ii Darshan College of Engineering and Technology


ABSTRACT

The Company: Tatvasoft is a consummate custom software development


company, delivering splendid business IT solutions and related services to
customers across the globe. Its development services are led by their
dedicated and passionate team to provide best industry practices combined
with technology expertise and business domain knowledge to drive digital
transformation. Our proficiency in understanding business challenges and
professional competence allows us to create a better experience for our
customers.

Key parts of the reports: During a period of 12 weeks of training at


Tatvasoft, I was assigned the role of trainee in order to learn mobile
development. Throughout this industrial training, I have learned Android
technology, which is used for developing Android apps. I mainly learned
project structure and coding standards used in the company. I was also able
to implement my college learning.

Gujarat Technological University iii Darshan College of Engineering and Technology


List of Figures
Fig 4.1 Home Screen........................................................................................................ 14
Fig 4.2 Form ..................................................................................................................... 14
Fig 4.3 Layout .................................................................................................................. 14
Fig 4.4 List Screen ........................................................................................................... 16
Fig 4.5 Grid Screen .......................................................................................................... 16
Fig 4.6 Home Screen........................................................................................................ 19
Fig 4.7 Navigation Drawer .............................................................................................. 19
Fig 4.8 Add Book Screen ................................................................................................. 19
Fig 4.9 Book List Screen ................................................................................................. 19
Fig 4.10 Options menu ..................................................................................................... 20
Fig 4.11 Detail Screen...................................................................................................... 20
Fig 4.12 Splash Screen ..................................................................................................... 22
Fig 4.13 User Form(1) ..................................................................................................... 22
Fig 4.14 User Form (2) .................................................................................................... 22
Fig 4.15 User Form (3) .................................................................................................... 22
Fig 4.16 User Form (4) .................................................................................................... 23
Fig 4.17 User Form (5) .................................................................................................... 23
Fig 4.18 Form (1) ............................................................................................................. 25
Fig 4.19 Form (2) ............................................................................................................. 25
Fig 4.20 Test Cases Result Snapshot ............................................................................... 25
Fig 4. 21 City List Screen ................................................................................................ 27
Fig 4.22 City Details Screen ............................................................................................ 27
Fig 4.23 Google Map Screen ........................................................................................... 28
Fig 4.24 Home Screen...................................................................................................... 30
Fig 4.25 Notification Screen ............................................................................................ 30
Fig 4.26 Images Screen .................................................................................................... 32
Fig 4.27 Settings Screen .................................................................................................. 32
Fig 4.28 Full Image Screen .............................................................................................. 32
Fig 4.29 User List Screen ................................................................................................. 34
Fig 4.30 Add User Screen ................................................................................................ 34
Fig 4.31 Update User Screen ........................................................................................... 34

Gujarat Technological University iv Darshan College of Engineering and Technology


Fig 4.32 Delete User Screen ............................................................................................ 34
Fig 4.33 Contact List Tab ................................................................................................ 36
Fig 4.34 Audio files List Tab ........................................................................................... 36

Gujarat Technological University v Darshan College of Engineering and Technology


Table of Contents
DECLARATION .................................................................................................................. i

ACKNOWLEDGEMENT ...................................................................................................ii

ABSTRACT ....................................................................................................................... iii

List of Figures ..................................................................................................................... iv

Table of Contents ................................................................................................................ vi

CHAPTER – 1 OVERVIEW OF THE COMPANY....................................................... 1

1.1 HISTORY.............................................................................................................. 1

1.2 DIFFERENT PRODUCT / SCOPE OF WORK ...................................................... 1

1.3 SERVICES ............................................................................................................... 2

1.4 TECHNOLOGIES ................................................................................................... 2

1.5 VALUES .................................................................................................................... 3

CHAPTER – 2 INTRODUCTION TO INTERNSHIP .................................................. 4

2.1 ABOUT THE INTERNSHIP PROGRAM .............................................................. 4

2.2 INTERNSHIP REPORT OBJECTIVE .................................................................... 4

2.3 SCOPE ..................................................................................................................... 4

2.4 INTERNSHIP SUMMARY ..................................................................................... 5

2.5 PURPOSE/ OBJECTIVE ......................................................................................... 5

CHAPTER–3 TOOL AND TECHNOLOGIES .............................................................. 6

3.1 ABOUT TECHNOLOGY ........................................................................................ 6

3.1.1 What Is Android?............................................................................................... 6

3.1.2 Why Android? ................................................................................................... 6

3.1.3 Programming Languages Used In Android Development................................. 7

3.2 ANDROID DEPARTMENT IN COMPANY ......................................................... 7

3.2.1 Android App Development Services ................................................................. 7

3.2.2 Technology Stack Of Android ........................................................................... 7

Gujarat Technological University vi Darshan College of Engineering and Technology


3.2.3 App Development Process................................................................................. 8

3.3 TOOLS AND TECHNOLOGIES ......................................................................... 9

3.3.1 Android Studio .................................................................................................. 9

3.3.2 SQLite Database .............................................................................................. 10

3.3.3 Firebase Database ............................................................................................ 10

3.3.4 JAVA Programming Language ....................................................................... 10

3.3.5 Kotlin Programming Language ....................................................................... 11

CHAPTER – 4 CONCEPT LEARNING AND EXERCISE MODULES ................... 12

4.1 ASSIGNMENT - 1 ................................................................................................. 13

4.1.1 Purpose ............................................................................................................ 13

4.1.2 Functionality .................................................................................................... 13

4.2 ASSIGNMENT - 2 ................................................................................................. 15

4.2.1 Purpose ............................................................................................................ 15

4.2.2 Functionality .................................................................................................... 15

4.3 ASSIGNMENT – 3 ................................................................................................ 17

4.3.1 Purpose ............................................................................................................ 17

4.3.2 Functionality .................................................................................................... 17

4.4 ASSIGNMENT – 4 ................................................................................................ 18

4.4.1 Purpose ............................................................................................................ 18

4.4.2 Functionality .................................................................................................... 18

4.5 ASSIGNMENT – 5 ................................................................................................ 21

4.5.1 Purpose ............................................................................................................ 21

4.5.2 Functionality .................................................................................................... 21

4.6 ASSIGNMENT – 6 ................................................................................................ 24

4.6.1 Purpose ............................................................................................................ 24

4.6.2 Functionality .................................................................................................... 24

4.7 ASSIGNMENT – 7 ................................................................................................ 26

Gujarat Technological University vii Darshan College of Engineering and Technology


4.7.1 Purpose ............................................................................................................ 26

4.7.2 Functionality .................................................................................................... 26

4.8 ASSIGNMENT – 8 ................................................................................................ 29

4.8.1 Purpose ............................................................................................................ 29

4.8.2 Functionality .................................................................................................... 29

4.9 ASSIGNMENT – 9 ................................................................................................ 31

4.9.1 Purpose ............................................................................................................ 31

4.9.2 Functionality .................................................................................................... 31

4.10 ASSIGNMENT – 10 ............................................................................................ 33

4.10.1 Purpose .......................................................................................................... 33

4.10.2 Functionality .................................................................................................. 33

4.11 ASSIGNMENT – 11 ............................................................................................ 35

4.11.1 Purpose .......................................................................................................... 35

4.11.2 Functionality .................................................................................................. 35

4.12 ASSIGNMENT – 12 ............................................................................................ 35

4.12.1 Purpose .......................................................................................................... 35

4.12.2 Functionality .................................................................................................. 35

CHAPTER – 5 CONCLUSION ...................................................................................... 37

REFERENCES ................................................................................................................. 38

Gujarat Technological University viii Darshan College of Engineering and Technology


Team Id - 203020 Overview Of the Company

CHAPTER – 1 OVERVIEW OF THE COMPANY

1.1 HISTORY

Address: Tatvasoft House, Rajpath Club Road, Ahmedabad, Gujarat, 380053.


Phone number: +91 900142172
Tatvasoft is a consummate custom software development company, delivering splendid
business IT solutions and related services to customers across the globe. Their
development services are led by their dedicated and passionate team to provide best
industry practices combined with technology expertise and business domain knowledge to
drive digital transformation. Their proficiency in understanding business challenges and
professional competence allows us to create a better experience for their customers.

1.2 DIFFERENT PRODUCT / SCOPE OF WORK

As a leading software development service provider, company excel in delivering the


best-suited software solutions as per the custom needs, be it small start-ups in their
ideation phase or mid-size businesses focusing on growth or large enterprises actively
optimising business processes across varied organizations and industries.

 Fintech & Insurance


 Education
 Energy and Utilities
 Healthcare
 Media & Entertainment
 Oil & Gas Mining
 Retail & Ecommerce
 Logistics & Distribution

Gujarat Technological University 1 Darshan College of Engineering and Technology


Team Id - 203020 Overview Of the Company

 Travel & Hospitality


 Public Sector

1.3 SERVICES

Company’s software development services do not restrict to specific domain or


technology but inclusively covers every business industry with offerings such as:

 Custom Software Development


 Web Development
 Dedicated Development Team
 Product Development
 E-commerce
 Mobile Apps
 UI/UX Design
 Software Testing & QA
 Enterprise Solution

1.4 TECHNOLOGIES

 Backend
Combat development challenges by reinforcing the backend functioning of the
application with easy synchronization of different features and seamless
communication with relation or NoSQL database.
o .Net
o Java
o Node Js
o PHP
o ROR

 Frontend
Reinvent the look and feel of web applications using JavaScript technologies along
with HTML and CSS to improve aesthetics and enhance the digital experience of
your customers.

Gujarat Technological University 2 Darshan College of Engineering and Technology


Team Id - 203020 Overview Of the Company

o Angular Js
o React Js
o View Js

 Mobile Apps
Transform web applications into leading-edge mobile applications by enabling
mobility across multiple platforms such as iOS, Android and Windows.
o Android
o iOS
o Flutter
o React Native
o Xamarin

 Database
Consolidate data from multiple complex data sources and manage end-to-end data
integration to predict significant and actionable insights.
o SQL Server
o MySQL
o mongoDB
o ORACLE
o PostgreSQL
o Elasticsearch

1.5 VALUES

 Quality Driven
 Innovation
 Well Established Processes
 Broad Industry Experience

Gujarat Technological University 3 Darshan College of Engineering and Technology


Team Id - 203020 Introduction to Internship

CHAPTER – 2 INTRODUCTION TO INTERNSHIP

2.1 ABOUT THE INTERNSHIP PROGRAM

Gujarat Technological University provides the opportunity to get experience before


students step into professional life. The 8th semester contains only one elective program,
which has choices like a project or internship. From that, I have chosen to do an
internship.

All students are allowed to choose their internship, and they can complete their internship
at any company. This is a great opportunity for every individual.

I got the chance to complete my internship at Tatvasoft Ahmedabad. It started from


January 3rd, 2022, to April 15th, 2022.

2.2 INTERNSHIP REPORT OBJECTIVE

Every student has to submit a final report after completing the internship. The report
needs to be filled with the day-to-day activities of the student during the internship
period. The report should contain the company profile, the student’s project involvement,
professional growth, hard and soft skills, and learned technologies.

2.3 SCOPE

This report is a reflection of the days I have spent at the internship. It has a list of my
achievements, activities, and learning, as well as my mental and professional growth.

I feel I have improved myself. I am not standing in the place where I was before the
internship. I am ahead. This report will put light on that fact.

Gujarat Technological University 4 Darshan College of Engineering and Technology


Team Id - 203020 Introduction to Internship

2.4 INTERNSHIP SUMMARY

From this internship, I have learned how industry-level projects are built from scratch and
how to write code with proper coding standards and styling. It also helped me enhance
my soft skills, like talking with seniors, teamwork, management, and taking initiative.
During the internship, I was supposed to watch video lectures and, parallelly, have to
refer to different documents regarding Android. And by learning from that, I have
performed a demo of that particular topic. And then I have to use all that gained
knowledge in developing the tasks assigned to me. After completing those tasks, I have to
submit them to my mentor. Then they review it and guide me if any changes are required.
This way, my internship was carried out. As a result, this regular evaluation of my work
has greatly aided me in improving my work.

2.5 PURPOSE/ OBJECTIVE

The main objective of this internship was to make candidates work-ready in mobile
development using Android technology. I was mainly focused on practical and self-
learning. I aimed to build my programming base and write code by following coding
standards. From an individual employee’s point of view, the main aims are:

 Be self-assured and introduce ourselves in professional settings.


 Be skilful in one or more areas of expertise.
 Develop soft skills like taking public speaking initiatives, taking responsibility for
some work/task/event and many more.
 To gain leadership quality.

Gujarat Technological University 5 Darshan College of Engineering and Technology


Team Id - 203020 Tool and Technologies

CHAPTER–3 TOOL AND TECHNOLOGIES

3.1 ABOUT TECHNOLOGY

The technology assigned to me in this internship was Android. They provided me with
materials to learn Android from scratch and advanced by referring to that.

3.1.1 What Is Android?

Android is an open source and Linux-based Operating System for mobile devices
such as smart phones and tablet computers. Android was developed by the Open
Handset Alliance, led by Google, and other companies.

Android offers a unified approach to application development for mobile devices


which means developers need only develop for Android, and their applications
should be able to run on different devices powered by Android.

3.1.2 Why Android?

We use android on a wide scale because of following reasons:


 Open Source
 Large Development and Community Reach
 Increased Marketing
 Inter App Integration
 Reduced cost of Development
 High Success Ratio
 Rich Development Environment

Gujarat Technological University 6 Darshan College of Engineering and Technology


Team Id - 203020 Tool and Technologies

3.1.3 Programming Languages Used In Android Development

 JAVA
 KOTLIN
The technologies mentioned above are the ones in which we can develop Android
applications. Kotlin is preferred as the official language for Android development
by Google. But in this internship, I have started learning technology, first in the
Java language. Then, after gaining the proper knowledge and confidence, I started
learning the Kotlin language and using it for developing Android apps.

3.2 ANDROID DEPARTMENT IN COMPANY

Android apps are used by almost half of the population of the world which makes the
android platform highly considerable when it comes to developing any kind of mobile
app. Tatvasoft is a reliable Android app development company that aims at improving
your digital experience while providing an engaging, user friendly mobile app.

3.2.1 Android App Development Services

 Android Mobile App Development Consulting


 Custom Android App Development
 UI/UX design
 Back-end Engineering
 Testing and Maintenance
 Team Augmentation

3.2.2 Technology Stack Of Android

 Backend
o .NET
o JAVA
o PHP
o Node

Gujarat Technological University 7 Darshan College of Engineering and Technology


Team Id - 203020 Tool and Technologies

o Ruby on Rails

 Frontend
o JAVA
o KOTLIN
o Rx-JAVA
o Rx-KOTLIN
o Coroutines Kotlin

 DevOps
o CI/ CD
o GitHub Actions

 Database
o SQLite
o Realm
o Core Data
o Firebase

 Testing
o Appium
o Katalon Test Studio
o Browser Stack

 Project Management Tools


o Jira
o Trello
o Slack
o Microsoft Team

3.2.3 App Development Process

1. Discovery
2. UI/ UX Design
3. Development
4. API Integration

Gujarat Technological University 8 Darshan College of Engineering and Technology


Team Id - 203020 Tool and Technologies

5. Testing
6. Deployment
7. Maintenance

3.3 TOOLS AND TECHNOLOGIES

3.3.1 Android Studio

Android Studio is the official Integrated Development Environment (IDE) for


android application development. Android Studio provides more features that
enhance our productivity while building Android apps.

Android Studio was announced on 16th May 2013 at the Google I/O conference as an
official IDE for Android app development. It started its early access preview from
version 0.1 in May 2013. The first stable built version was released in December
2014, starts from version 1.0.

Since 7th May 2019, Kotlin is Google's preferred language for Android application
development. Besides this, other programming languages are supported by Android
Studio.

Features:

o It has a flexible Gradle-based build system.


o It has a fast and feature-rich emulator for app testing.
o Android Studio has a consolidated environment where we can develop for all
Android devices.
o Apply changes to the resource code of our running app without restarting the
app.
o Android Studio provides extensive testing tools and frameworks.
o It supports C++ and NDK.
o It provides build-in supports for Google Cloud Platform. It makes it easy to
integrate Google Cloud Messaging and App Engine.

Gujarat Technological University 9 Darshan College of Engineering and Technology


Team Id - 203020 Tool and Technologies

3.3.2 SQLite Database

SQLite is an open-source relational database i.e. used to perform database


operations on android devices such as storing, manipulating or retrieving persistent
data from the database.

It is embedded in android by default. So, there is no need to perform any database


setup or administration task.

3.3.3 Firebase Database

Firebase is a Backend-as-a-Service (BaaS) which started as a YC11 start up. It grew


up into a next-generation app-development platform on Google Cloud Platform.
Firebase is a real-time database that allows storing a list of objects in the form of a
tree. We can synchronize data between different devices.

Google Firebase is Google-backed application development software which allows


developers to develop Android, IOS, and Web apps. For reporting and fixing app
crashes, tracking analytics, creating marketing and product experiments, firebase
provides several tools.

3.3.4 JAVA Programming Language

Java is a programming language and a platform. Java is a high level, robust, object-
oriented and secure programming language. The primary objective of Java
programming language creation was to make it portable, simple and secure
programming language. Apart from this, there are also some excellent features which
play an important role in the popularity of this language. The features of Java are also
known as Java buzzwords.

Features:

1. Simple
2. Object-Oriented

Gujarat Technological University 10 Darshan College of Engineering and Technology


Team Id - 203020 Tool and Technologies

3. Portable
4. Platform independent
5. Secured
6. Robust
7. Architecture neutral
8. Interpreted
9. High Performance
10. Multithreaded
11. Distributed
12. Dynamic

3.3.5 Kotlin Programming Language

Kotlin is a general-purpose, statically typed, and open-source programming


language. It runs on JVM and can be used anywhere Java is used today. It can be
used to develop Android apps, server-side apps and much more.

Features:
o Concise: Kotlin reduces writing the extra codes. This makes Kotlin more
concise.
o Null safety: Kotlin is null safety language. Kotlin aimed to eliminate the
Null Pointer Exception (null reference) from the code interoperable.
o Interoperable: Kotlin easily calls the Java code in a natural way as well
as Kotlin code can be used by Java.
o Smart cast: It explicitly typecasts the immutable values and inserts the
value in its safe cast automatically.
o Compilation Time: It has better performance and fast compilation time.
o Tool-friendly: Kotlin programs are build using the command line as well
as any of Java IDE.
o Extension function: Kotlin supports extension functions and extension
properties which mean it helps to extend the functionality of classes
without touching their code.

Gujarat Technological University 11 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

CHAPTER – 4 CONCEPT LEARNING AND EXERCISE

MODULES

In this whole internship period, I have learned all the topics from basics to advance in
Android technology, which are useful for building mobile apps. Below are topics which
were covered in it:

• Fundamentals
• Activities and Intents
• Testing, debugging and using support libraries
• User Interaction
• Delightful user experiences
• Testing user components
• Background tasks
• Triggering, scheduling and optimizing background tasks
• Preferences and settings
• Storing data using SQLite
• Sharing data with content providers
• Loading data using loaders
• Permissions, performance and security
• Firebase and AdMob
• Jetpack architecture components
• MVVM architecture
• Clean architecture
• Publish app on Google play store

After completion of every module, respective tasks were assigned to me, which I had to
complete as an application of the particular topic.

Gujarat Technological University 12 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.1 ASSIGNMENT - 1

4.1.1 Purpose

This was the first task assigned in the internship period. The purpose of assigning
this task was to get practice in designing proper Ui designs. In which I have to use
different layouts as per instructions and design the screens and required
functionalities.

4.1.2 Functionality

This task requires me to create three screens.


Screen-1: In this I have to do Ui design as per the given template.
Screen-2: Design of a simple user signing form with validation
Screen-3: I have to implement one demo screen using constraint layout.
And to handle button clicks.

Gujarat Technological University 13 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.1 Home Screen Fig 4.2 Form

Fig 4.3 Layout

Gujarat Technological University 14 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.2 ASSIGNMENT - 2

4.2.1 Purpose

The purpose of this task was to get practical knowledge of the activity lifecycle
and the handling of its states. Along with that, there was the implementation of
intents. There are two types of intents, both of which were used here for different
functionalities.

 States of Activity Lifecycle :


o On Create
o On Start
o On Resume
o On Pause
o On Restart
o On Stop
o On Destroy
 Types of Intents :
o Explicit Intent
o Implicit Intent

4.2.2 Functionality

This app has two screens. On both screens, there is a list of activity lifecycle states
as per the activity has attained the states along with a time stamp at which it
stained that state and a small description regarding it.

List Screen: On this screen, along with the list of states, there are two buttons
named "Send" and "Grid." By clicking on Send, the user gets options to send the
text of the state log with a time stamp to someone via any other app like email,
whatsapp, and others that can send text files. And by clicking the grid button, the
grid layout screen is opened.

Grid Screen: the same state log along with a time stamp is displayed but in grid
view.

Gujarat Technological University 15 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.4 List Screen Fig 4.5 Grid Screen

Gujarat Technological University 16 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.3 ASSIGNMENT – 3

4.3.1 Purpose

The purpose of this assignment was to learn how to do the debugging of our app
while in building stage, how to solve errors, testing and using support libraries.

4.3.2 Functionality

Debugging is used to solve following things:


 Error detection and correction
 Rectify unusual or undesirable behaviour
 Unit tests help identify bugs and prevent regression
 User testing helps identify interaction bugs

We can also solve or find errors by adding log messages to code. There are
different types of log levels in which messages can be visible those are:

 Verbose - All verbose log statements and comprehensive system


 Debug - All debug logs, variable values, and debugging notes.
 Info - Status info, such as database connection
 Warning - Unexpected behaviour, non-fatal issues
 Error - Serious error conditions, exceptions, crashes only

Gujarat Technological University 17 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.4 ASSIGNMENT – 4

4.4.1 Purpose

This app is based on the Book Management System. The purpose of this task was
to get a grip on adding a navigation drawer to the home screen and menus on the
screen. In addition to that, we have to implement sorting, filtering, and search
functions in the list of books.

4.4.2 Functionality

Home Screen: Navigation drawer which has two options i.e. add book and book
list, which means they can navigate to that screen by selecting that.

Add Book Screen: On this screen, there is one form in which you can make an
entry for a book with details like name, author, launched date, type, genre, and age
group. Then, on clicking the "add" button, that entry is inserted into the database
and displayed in the book list.

Book List Screen: This screen as designed by using recycler-view. That screen
displays the list of all books with book name and author name of each entry. There
is also search bar on the top of screen, from which user can search book using
book name. It includes options menu in it from which user can sort list books by
book name and launch date, and also filtering can be done by author name, book
type and book genre. By clicking on the list entry, detail screen of that entry is
opened.

Book detail Screen: On this screen, all the details of the selected book are
displayed. By selecting an option menu in this screen, the user will be redirected
to the edit book form with filled data. From there, if the user wants to edit any
details, they can do so. By clicking the edit button, data will be updated in the
database also and in the book list.

Gujarat Technological University 18 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.6 Home Screen Fig 4.7 Navigation Drawer

Fig 4.8 Add Book Screen Fig 4.9 Book List Screen

Gujarat Technological University 19 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.10 Options menu Fig 4.11 Detail Screen

Gujarat Technological University 20 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.5 ASSIGNMENT – 5

4.5.1 Purpose

In this app, the main aim was to learn proper design using Material elements,
implementing different user controls, adding drawables, how to use custom styles,
and making a UI that supports both orientation and user localization in one or
more languages.

4.5.2 Functionality

There was only one screen in this demo, containing a user profile form with two
sections, i.e., personal details and educational details. For proper submission,
validation for every input field was added. This validation checks the input on the
click of the Sign In button. If inputs are proper, toast for "Sign up successfully" is
displayed, and for improper values, an error is displayed in the field with invalid
data. In this form, many user input controls like edit text, radio buttons, date
pickers, check boxes, seek bars, and dropdowns are used.

As this layout UI supports both orientations, there is a different UI for each


orientation. It also supports user localization, so when changing languages from
device settings, all the text will be displayed in the selected language.

Gujarat Technological University 21 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.12 Splash Screen Fig 4.13 User Form(1)

Fig 4.14 User Form (2) Fig 4.15 User Form (3)

Gujarat Technological University 22 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.16 User Form (4)

Fig 4.17 User Form (5)

Gujarat Technological University 23 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.6 ASSIGNMENT – 6

4.6.1 Purpose

This task was assigned to learn how the UI testing is done for Android apps. I was
told to write test cases manually as per the requirements and also learn to record
the espresso test.

4.6.2 Functionality

I created a sample app for learning UI testing that includes one form with various
user input controls and a save button that validates the form and displays toast for
successful signup.

Firstly, I have added one espresso recorded test case for the whole app.

I also wrote manual test cases, which test the visibility of all user input controls
and test cases about validations and display of Toast.

Gujarat Technological University 24 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.18 Form (1) Fig 4.19 Form (2)

Fig 4.20 Test Cases Result Snapshot

Gujarat Technological University 25 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.7 ASSIGNMENT – 7

4.7.1 Purpose

The main purpose of this assignment was to learn the practical use of background
tasks: how to implement them, how to use them, and everything else. Background
tasks such as the use of an async task class, a broadcast receiver, services, and an
internet connection Along with it, there was also the use of an API to learn its
integration, to fetch data, and everything. Because this task was related to Google
maps, I also learned how to implement it; how to get the current location; how to
access the latitude and longitude of any location; how to add markers at our
required locations; and many other things. I need to use a broadcast receiver to
display the device's battery percentage.

4.7.2 Functionality

I have made three screens in this demo of a weather forecast app. In addition to
this, I also added a splash screen to the app.

City List Screen: On this screen, the list of bookmarked cities is displayed. Along
with the city name, there is one delete button for every item. By clicking on
which, the user can delete that bookmarked city from their list. In the action bar as
an option menu, there is a map icon from which the user can navigate to the
Google map screen.

Google map screen: On this screen, a Google map is displayed across the whole
screen, along with one bookmarked button. When a user selects a proper place or
city on the map, a marker is added at that location, and if the user wants to
bookmark that city, they must click the bookmark button. For multiple
bookmarks, users have to follow the same thing. If the selected place is not a
proper city or land area, then they want to be able to bookmark it.

Gujarat Technological University 26 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

City Detail Screen: A user can open this screen by clicking on the city name in
the list screen. So the weather forecast for that city is displayed here. Those details
are fetched from the Open Weather Map API, like temperature, minimum
temperature, maximum temperature, rain, wind speed, humidity, pressure, and
wind degree. On this screen, beside the city name, there is also a battery
percentage of the device mentioned along with an appropriate battery icon.

Fig 4. 21 City List Screen Fig 4.22 City Details Screen

Gujarat Technological University 27 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.23 Google Map Screen

Gujarat Technological University 28 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.8 ASSIGNMENT – 8

4.8.1 Purpose

The implementation of notifications, scheduling alarms, background tasks, and


services was the focus of this project. I learnt how to establish notifications for
various device operations, including as charging, network connectivity, GPS
availability, and a variety of other events, as a result of this. Also, you may set one
alarm to go off at a specified time and another to go off after a certain amount of
time, which notifies both the foreground and the background.

4.8.2 Functionality

This app has two screens. But only one is visible normally.

Main Screen: On that screen, there is a list of actions along with an individual
switch to on/off that action. If the action's switch is on, then it will be able to
notify the user when that action takes place. This notification will be sent by the
app even if the app is in the background.

List of actions for which notifications are set:

 Notify while in charge mode


 Notify when battery is low
 Notify when network state changes
 Notify when GPS enabled/disabled
 Notify when device is idle

Along with these notification actions, there are two items to set alarms such as:
 Set alarm on predefined time
 Set alarm after certain amount of time

In setting these alarms, the user has to select a specific time and turn on the switch
to set the alarm at a predefined time, and for another one, the user has to enter the

Gujarat Technological University 29 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

amount of time in seconds and turn the switch on. All notifications and alarms
have an event name and a short description in it.

Notification Detail Screen: By clicking on received notification this screen will


be opened with proper event name, short and long description of that notification
or alarm.

Fig 4.24 Home Screen Fig 4.25 Notification Screen

Gujarat Technological University 30 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.9 ASSIGNMENT – 9

4.9.1 Purpose

The purpose of this task was to learn how to get access to the internal storage of a
device and display images from a specific folder in a gallery. For accessing
internal storage, runtime permissions are required, so learn how to ask for runtime
permissions. It also has a feature to change the theme of the app by changing the
action bar and status bar color. Shared preferences were used to store the choices
of themes and folders to view images.

4.9.2 Functionality

In this app there are 3 screens designed to make the gallery app.

Images Screen: This is the main screen, which is designed using a grid layout to
show a grid of images. It displays all the images from a selected folder in the
device's internal storage. It has one option menu with a settings option. From
there, we can open the settings screen.

Settings Screen: There are two options on this screen: the first is to customize the
theme by choosing colors for the action bar and status bar, and the second is to
choose the folder in internal storage from which the user wants to display images.
Before selecting a folder, the user has to allow the runtime permission for internal
storage access and then images are displayed in the images screen.

Full Image Screen: This screen is opened by clicking on any image in the grid
layout on the images screen. Then the user can slide to the next and previous
image by clicking the navigation arrows at the bottom of the screen.

Gujarat Technological University 31 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.26 Images Screen Fig 4.27 Settings Screen

Fig 4.28 Full Image Screen

Gujarat Technological University 32 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.10 ASSIGNMENT – 10

4.10.1 Purpose

This app was assigned to get a grip on using an SQLite database. In that, I have to
learn the creation of databases, creating tables and applying different operations
on them, like insert, update, and delete. By applying different queries, we learn
how to get data as per requirements.

4.10.2 Functionality

In this app, I have to make a user directory app, in which one can add user data,
display it, update it, and delete it. There are two screens in this app that store the
user’s data in a database.

User List Screen: On this screen, a list of users is displayed with details like
name, blood group, telephone number, country, and an appropriate icon as per
selected gender. Each entry has two corresponding icons called the "edit" button
and the "delete" button. The Edit button is used to edit the details of that user and
by clicking the Delete button, one alert dialogue is a popup to verify that deleting
the entry and selecting the Ok button means that entry is deleted from the database
as well as that list. There is also one floating action button at the bottom of the
screen. By pressing it, a new screen is opened in which the user form is there.

Add User Screen: When a user wants to add an entry, they can open this screen
by clicking on the add button in the list screen. On this screen, a form is displayed
in which they have to enter all the details properly. And by clicking the add user
button, form validation takes place, and if all the data is proper, it is inserted into
the database and displayed in the user list. By clicking on Edit, the user is
redirected to this screen, but this time the form is pre-filled with all the details and
allows the user to edit it and update it in the database.

Gujarat Technological University 33 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.29 User List Screen Fig 4.30 Add User Screen

Fig 4.31 Update User Screen Fig 4.32 Delete User Screen

Gujarat Technological University 34 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

4.11 ASSIGNMENT – 11

4.11.1 Purpose

The goal of this project was to learn how to create a view pager fragment and how
to set the screen's tabs. It was primarily due to content providers' applications.
How to utilize it and extract data from the phone book, audio file list, and other
areas of the device.

4.11.2 Functionality

This app has only one screen, but that screen is divided into two sections due to
the addition of a tab view (Fig 4.33). So in one tab I have added a list of contacts
in my phone book and in the other a list of audio files from device storage.

4.12 ASSIGNMENT – 12

4.12.1 Purpose

The purpose of this app was to learn how to implement the view pager fragment
and how to set the tabs on the screen. And here it was the application of loaders. I
learned the implementation of loaders. There are two types of loaders, i.e., cursor
loader and Async Task loader. How to use it and get the data from the device's
contacts list, audio files list, and many other things.

4.12.2 Functionality

This app has only one screen, but that screen is divided into two sections due to
the addition of a tab view (Fig 4.33). So in one tab I have added a list of contacts
in my phone book and in the other a list of audio files from device storage.

Gujarat Technological University 35 Darshan College of Engineering and Technology


Team Id - 203020 Concept Learning and Exercise Modules

Fig 4.33 Contact List Tab Fig 4.34 Audio files List Tab

Gujarat Technological University 36 Darshan College of Engineering and Technology


Team Id - 203020 Conclusion

CHAPTER – 5 CONCLUSION

During our internship program, we have gained a lot of knowledge in terms of improving
our practical skills. The various types of tasks and training that I have completed over the
last four months of my internship have increased my knowledge of developing mobile
apps. I am very glad to see that what I have learnt at university can be repeated in the
working world. In this real-life situation, I was able to apply our theoretical knowledge.

During these past four months, I have been able to see the different theoretical aspects
and methodologies. I've been able to satisfy my curiosity about how to practically develop
mobile apps through this internship program.

Generally, the internship program laid a sound foundation for us to start our career. It
would definitely be sensible to scale this practice up and to replicate it in other disciplines
as well.

Gujarat Technological University 37 Darshan College of Engineering and Technology


Team Id - 203020 References

REFERENCES

 Android Developer Fundamentals Introduction - YouTube

 Android Developers

 Codelabs for Android Developer Fundamentals | Training Courses | Android

Developers

 Stack Overflow - Where Developers Learn, Share, & Build Careers

Gujarat Technological University 38 Darshan College of Engineering and Technology

You might also like