Android Development Report
Android Development Report
Android Development Report
On
at
INTERNSHALA TRAININGS
BACHELOR OF TECHNOLOGY
SUBMITTED BY :
DECEMBER, 2021
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.
Date : 18.12.21
2
CERTIFICATE OF TRAINING COMPLETION
3
ACKOWLEDGEMENT
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.
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
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
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.
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.
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.
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.
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.
11
3. DEVELOPMENT ENVIRONMENT
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.
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.
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