You are on page 1of 32

EIGHT WEEKS INDUSTRIAL TRAINING REPORT

On

[ANDROID APP DEVELOPMENT]

at

INTERNSHALA TRAININGS

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD OF THE


DEGREE OF

BACHELOR OF TECHNOLOGY

(Computer Science and Engineering)

SUBMITTED BY :

NAME : AMRIT PAL SINGH

UNIVERSITY ROLL NO. : 1915036

DECEMBER, 2021

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CHANDIGARH ENGINEERING COLLEGE

JHANJERI,MOHALI
1
CANDIDATE’S DECLARATION

I “AMRIT PAL SINGH” hereby declare that I have undertaken Eight weeks Industrial Training
at Internshala Trainings during a period from 01.08.2021 to 02.011.2021.The project entitled
“Android App Development” submitted by Amrit pal Singh (1915036) in partial fulfillment of
the requirement for the award of degree of the B.Tech (Computer Science and Engineering)
submitted in Chandigarh Engineering College Jhanjeri, Mohali is an authentic record of my own
work carried during Eight Weeks Industrial Training. The matter presented in this project has
not formed the basis for the award of any other degree, diploma, fellowship or any other similar
titles.

Signature of the Student :

Date : 18.12.21

2
CERTIFICATE OF TRAINING COMPLETION

3
ACKOWLEDGEMENT

I express my sincere gratitude to the I. K.Gujral Punjab Technical University, jalandhar,

Kapurthala for giving me the opportunity to undergo Eight Weeks Industrial Training after my
4th semester of B.Tech(CSE)

I would like to thank Dr. Rajneesh Talwar, Director and Dr.Anil Lamba Head of Department,
CSE at Chandigarh Engineering College Jhanjeri, Mohali for their kind support.

I also owe my sincere gratitude towards Ms. for her valuable advice and healthy criticism
throughout my training which helped me immensely to complete my work successfully.

I would also like to thank everyone who has knowingly and unknowingly helped me throughout
my work.

Last but nott least, a word of thanks for all those books and papers which Ihave cosulted during
my training as well as for preparing the report.

Amrit pal Singh

4
ABSTRACT

Avengers are very famous and their Movies, Web Series are watched all over the World. The main purpose of
this Project is to learn about Android App Development. In this, ‘The Avengers MVI Application’ is designed
by using the Kotlin and XML ( Extensible Markup Language ) Programming language. Kotlin is a statically
typed programming language based on Java-Virtual Machine. XML is a meta language which allows users to
defne their own customized markup languages, especially in order to display documents on Internet. In XML
we use Tags which store some information. In this we have used IDE( Integrated Development Environment )
which is a software application which consists of many tools like an editor, compiler, automation tools, package
manager, debugger and we have used Android Studio is an IDE for Android App Development. Android Studio
has Intellij’s powerful code editor and developer tools and various other fetaures that enhance productivity
while developing Android Applications. Android Studio require collection of libraries and data and this
collection are not avaialable in Android Studio but are present in SDK ( Software Development Kit ) and
therfore, SDK is required for App Development. In Android App Development, Android Studio and SDK are
bound together and they help us in developing Android Applications.

5
Table of Contents

Declaration of students 2
Certificate 3
Acknowledgement 4
Abstract 5
1. INTRODUCTION 7-8
1.1 Organization/website Profile
1.2 Introduction of Project
1.3 Limitation of Existing System
1.4 Objective of Project
1.5 Introduction of the technology

2. PROJECTS UNDERTAKEN 9-11


2.1 Project 1 Overview
2.1.1 Objectives
2.1.2 Feasible Study
2.1.3 SRS Reqiurement Specification
2.1.4 Hradware Specification
2.1.5 Software Specification

3. DEVELOPMENT ENVIRONMENT 12
3.1 Introduction to Front End
3.2 Introduction to Back End
4. SYSTEM DESIGN 13-14
4.1 Flow Charts/DFDs/ERDs
4.2 Screenshots of front end Design
4.3 Screenshots of back end Design

5. IMPLEMENTATION AND TESTING 15-30


5.1 Testing
5.2 Implementation and running project Screenshots…
6. CONCLUSION 31
7. REFERENCES 32
6
1. INTRODUCTION
1.1 Organization/website Profile

Internshala is an internship and online training platform, based in Gurgaon, India. Founded by Sarvesh
Agrawal, an IIT Madras alumnus, in 2011, the website helps students find internships with organisations
in India.

1.2 Introduction of Project

The Avengers Application is a small MVI application.

MVI stands for Model-View-Intent :

 Model: instead of having a separate state for the View, ViewModel, and the Data layer, the
Model will be the single source of truth of the overall state, and it’s immutable to ensure that
it will be updated from only one place.

 View: represent the UI layer, the activity, or the fragment, it defines the user actions and
renders the state emitted by the model.

 Intent: do not confuse it with the Android Intent, it’s the intention to perform an action either
by the user or the app itself.

1.3 Limitation of Existing System


 Currently the present system holds the 6 members in the Application only.
 No logout option is available.

1.4 Objective of Project


 Single Activity App
 Beautiful UI with Material Design
 MVI

7
1.5 Introduction of the Technology

Kotlin

Kotlin gives us access to coroutines, flow, extension properties on Activity, Fragment, ViewModel and
more. Also, because Kotlin is the future for programming in many domains try to use Kotlin whereever I
can, even in my Gradle build files.

XML
Extensible Markup Languages (XML) history begins with the development of Standardised Generalised
Markup Language (SGML) by Charles Goldfarb, along with Ed Mosher and Ray Lorie in the 1970s
while working at IBM (Anderson, 2004).
 Xml (eXtensible Markup Language) is a mark up language.
 XML is designed to store and transport data.
 Xml was released in late 90’s. it was created to provide an easy to use and store self describing data.
 XML became a W3C Recommendation on February 10, 1998.
 XML is not a replacement for HTML.
 XML is designed to be self-descriptive.
 XML is designed to carry data, not to display data.
 XML tags are not predefined. You must define your own tags.
 XML is platform independent and language independent.

8
2. PROJECTS UNDERTAKEN
2.1 Project Overview
2.1.1 Objectives
 To handle multiple users at the same time.
 Simple UI(user-interface) and user-friendly.
 Secure database for the privacy of the users.

2.1.2 Feasible Study


Feasibility study is used to check the visibility of the project under the consideration of the theoretical
project.

2.1.3 SRS Requirement Specification


Android Studio
Android Studio is the official integrated development environment (IDE) for Google's Android
operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android
development. It is available for download on Windows, macOS and Linux based operating systems. It is
a replacement for the Eclipse 6 Android Development Tools (ADT) as primary IDE for native Android
application development.
Android Studio was announced on May 16, 2013 at the Google I/O conference. It 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. The current stable version is 3.2, which was released in September 2018.

KOTLIN
Kotlin is a statically-typed programming language based on Java Virtual Machine. Google announced
Kotlin to be the fundamental language for the development of Android Applications in 2017.
Some features of Kotlin programming language are
• Kotlin programming languages is statically typed programming language.
• Kotlin Programming Language also supports the function of extension.
• Semicolons are not required in Kotlin programming language.
9
• Kotlin programming language has a small runtime.
• Kotlin codes are simple and easy to read.
• Kotlin programming language supports multi paradigm like imperative, functional, etc.
• Kotlin Programming Language also provides the feature of null safety.

XML (Extensible Markup Language)


In computing, Extensible Mark-up Language (XML) is a mark-up language that defines a set of rules
for encoding documents in a format that is both human-readable and machine-readable. The W3C's
XML 1.0 Specification and several other related specifications all of them free open standards define
XML. The design goals of XML emphasize simplicity, generality, and usability across the Internet. It is
a textual data format with strong support via Unicode for different human languages. Although the
design of XML focuses on documents, the language is widely used for the representation of arbitrary
data structures such as those used in web services. Several schema systems exist to aid in the definition
of XML-based languages, while programmers have developed many application programming interfaces
(APIs) to aid the processing of XML data.

ANDROID
Android is a mobile operating system developed by Google, based on a modified version of the Linux
kernel and other open source software and designed primarily for touch screen mobile devices such as
smartphones and tablets. In addition, Google has further developed Android TV for televisions, Android
Auto for cars, and Wear OS for wrist watches, each with a specialized user interface. Variants of
Android are also used on game consoles, digital cameras, PCs and other electronics. Initially developed
by Android Inc., which Google bought in 2005, Android was unveiled in 2007, with the first commercial
Android device launched in September 2008. The operating system has since gone through multiple
major releases, with the current version being 9.0 "Pie", released in August 2018. The core Android
source code is known as Android Open Source Project (AOSP) and is primarily licensed under the
Apache License. Android is also associated with a suite of proprietary software developed by Google,
including core apps for services such as Gmail and Google Search, as well as the application store and
digital distribution platform Google Play, and associated development platform. These apps are licensed
by manufacturers of Android devices certified under standards imposed by Google, but AOSP has been
used as the basis of competing Android ecosystems, such as Amazon.com, Fire OS, which use their own

10
equivalents to the Google Mobile Services. 8 Android has been the best-selling OS worldwide on
smartphones since 2011 and on tablets since 2013. As of May 2017, it has over two billion monthly
active users, the largest installed base of any operating system, and as of June 2018, the Google Play
store features over 3.3 million apps.

2.1.4 Hardware Specification


On Personal Computer (PC) Below is the minimum requirement for the proposed system:
Processor should be dual core.
RAM more than 8 GB.

2.1.5 Software Specification


Android Studio
Android Studio is an IDE for Android App Development. Android Studio has Intellij’s powerful code
editor and developer tools and various other fetaures that enhance productivity while developing
Android Applications.

IDE ( Integrated Development Environment)


IDE( Integrated Development Environment ) is a software application which consists of many tools like
an editor, compiler, automation tools, package manager and debugger.

SDK (Software Development Kit )


A software development kit (SDK) is a set of tools that provides a developer with the ability to build a
custom app which can be added on, or connected to, another program. SDKs allow programmers to
develop apps for a specific platform. SDK is required for any kind of App Development.

11
3. DEVELOPMENT ENVIRONMENT

3.1 Introduction to Front End


 Front End Front End ( i.e., what we see on the screen )
 It is also known as UI or User Interface.

3.2 Introduction to Back End


 Back End (It is the logic of the app)
 This is used to add the functionality to the applicatiion.

Both these parts are need to be coded using different programming language.
The Front End or the Screens are developed using XML and Back End or Logic is coded using Kotlin, Java,
C++

12
4. SYSTEM DESIGN
4.1 Flowcharts / DFDs / ERDs

13
DATA FLOW DIAGRAM
A data flow diagram (DFD) maps out the flow of information for any process or system. It uses defined symbols like
rectangles, circles and arrows, plus short text labels, to show data inputs, outputs, storage points and the routes
between each destination. Data flowcharts can range from simple, even hand-drawn process overviews, to in-depth,
multi-level DFDs that dig progressively deeper into how the data is handled. They can be used to analyze an existing
system or model a new one. Like all the best diagrams and charts, a DFD can often visually “say” things that would
be hard to explain in words, and they work for both technical and nontechnical audiences, from developer to CEO.
That’s why DFDs remain so popular after all these years. While they work well for data flow software and systems,
they are less applicable nowadays to visualizing interactive, real-time or database-oriented software or systems.

4.2 Screenshots of front end Design

14
5. IMPLEMENTATION AND TESTING
5.1 Testing
Software Testing is evaluation of the software against requirements gathered from users and system
specifications. Testing is conducted at the phase level in software development life cycle or at module level
in program code. Software testing comprises of Validation and Verification.

Unit Testing
While coding, the programmer performs some tests on that unit of program to know if it is error free.
Testing is performed under white-box testing approach. Unit testing helps developers decide that
individual units of the program are working as per requirement and are error free.

Integration Testing

Even if the units of software are working fine individually, there is a need to find out if the units if
integrated together would also work without errors. For example, argument passes and data updating etc.

System Testing
The software is compiled as product and then it is tested. This can be accomplished using one or more of
the following tests: Functionality testing Tests all functionalities of the software against the requirement.
Performance Testing
This test proves how efficient the software is. It tests the effectiveness and average time taken by the
software to do desired task. Performance testing is done by means of load testing and stress testing
where the software is put under high user and data load under various environment conditions.
Acceptance Testing
When the software is ready to hand over to the customer it must go through last phase of testing where
it is tested for user-interaction and response. This is important because even if the software matches all
user requirements and if user does not like the way it appears or works, it may be rejected.
Alpha Testing
The team of developer themselves perform alpha testing by using the system as if it is being used in
work environment. They try to find out how user would react to some action in software and how the
system should respond to inputs.

15
Beta Testing
After the software is tested internally, it is handed over to the users to use it under their production
environment only for testing purpose. This is not yet the delivered product. Developers expect that users
at this stage will bring minute problems, which were skipped to attend.

5.2 Implementation and running project Screenshots…

Scrollview_example.xml

16
17
18
19
20
21
22
23
24
25
Output

26
Activity_login.xml

27
28
29
Output :

30
6. CONCLUSION

Kotlin is simple and powerful programming language which is mostly used in developing Android applications

Kotlin programming language is easy to write and easy to read Programming Language which means beginner
programmers can easily learn it

The scope of creating Android Applications are increasing day by day. Its development has become an
essential part of today’s programming curriculum.
Many android Applications are developed using concepts of Kotlin and XML Programming languages.
Example-Uber, Pinterest, coursera etc.
Such ideas can be most effectively implemented by developing user-friendly Android Applications.

31
7. REFERENCE
https://trainings.internshala.com/
http://www.geeksforgeeks.com/
https://www.javatpoint.com/
https://www.answersjet.com/
https://www.github.com/

32

You might also like