Professional Documents
Culture Documents
Pritish-Sinha ISR
Pritish-Sinha ISR
SUMMARY REPORT
BACHELOR OF TECHNOLOGY
in
Submitted by
1
BONAFIDE CERTIFICATE
2
INTERNSHIP CERTIFICATE
3
CERTIFICATE
I hereby certify that the work which is being presented in the Internship project report
entitled “Virtual Internship - Android Application Development using Kotlin“ in partial
fulfillment for the requirements for the award of the degree of Bachelor of Technology in the
School of Computing Science and Engineering of Galgotias University , Greater Noida, is an
authentic record of my own work carried out in the industry.
To the best of my knowledge, the matter embodied in the project report has not been
submitted to any other University/Institute for the award of any Degree.
Pritish Sinha(20SCSE1010033)
This is to certify that the above statement made by the candidate is correct and true to
the best of my knowledge.
4
TABLE OF CONTENTS
5
ABSTRACT
SmartBridge and Google have teamed up to create an outcome-driven skilling effort that will train
2000+ educators and 5000 students on android application development in Kotlin programming.
This program has been recognised by AICTE for delivery as a virtual internship program to all
higher education students in India. Program will be executed in two phases, phase-1 is to teach the
educators on android skills and application lifecycle management and qualify them as "Mentor on
Campus" to drive the phase-2 of the program in campus called virtual internship program. The
virtual internship program is 100+ Hrs. experiential learning program containing hands-on
bootcamps, courses, learning resources and project work. Successful learners will be receiving the
virtual internship completion certificate. Also, they will get an opportunity to join the Google
6
LIST OF FIGURES
1 Directory 14
2 Enviroment Setting 15
3 Path entry 16
4 Path 16
5 Cmd installation 17
6 Android Studio 21
7 Choose Template 22
8 Create Project 23
9 Codebase 24
10 Architecture 25
11 GCP Dashboard 26
13 Cred Page 27
14 Create API 27
15 API Library 29
17 Building APK 30
18 Final Map 31
7
CHAPTER 1
INTRODUCTION
Kotlin is a cross-platform programming language that may be used as an alternative to Java for
Android App Development. Kotlin is much simpler for beginners to try as compared to Java and
this Kotlin Android Tutorial can also be used as an ‘entry point’ for Android App Development.
Kotlin is sponsored by Google, and announced as one of the official languages for Android
Example of Kotlin –
fun main()
println("Hello Geeks");
8
/* Java Code */
class Book {
return title;
this.title = title;
return author;
9
this.author = author;
But in Kotlin only one line used to define the above class –
/* Kotlin Code */
Concise – It drastically reduces the extra code written in other object-oriented programming
languages.
Safe – It provides the safety from most annoying and irritating NullPointerExceptions by
10
Interoperable with Java – Kotlin runs on Java Virtual Machine(JVM) so it is totally
interoperable with java. We can easily access use java code from kotlin and kotlin code from java.
Functional and Object Oriented Capabilities – Kotlin has rich set of many useful methods
which includes higher-order functions, lambda expressions, operator overloading, lazy evaluation,
Higher order function is a function which accepts function as a parameter or returns a function or
can do both.
println(result)
myFun("JetBrains","Kotlin",fn)
Output:
JetBrains develops Kotlin
Smart Cast – It explicitly typecasts the immutable values and inserts the value in its safe cast
automatically.
11
If we try to access a nullable type of String ( String? = “BYE”) without safe cast it will generate a
compile error.
print(string.length)
Tool- Friendly – It has excellent tooling support. Any of the Java IDEs – IntelliJ IDEA, Eclipse
and Android Studio can be used for Kotlin. We can also be run Kotlin program from command
line.
12
● Easy to learn – Basic is almost similar to java.If anybody worked in java then easily
understand in no time.
● Kotlin is multi-platform – Kotlin is supported by all IDEs of java so you can write
your program and execute them on any machine which supports JVM.
● It’s much safer than Java.
● It allows using the Java frameworks and libraries in your new Kotlin projects by using
advanced frameworks without any need to change the whole project in Java.
● Kotlin programming language, including the compiler, libraries and all the tooling is
completely free and open source and available on github. Here is the link for Github
https://github.com/JetBrains/kotlin
Applications of Kotlin language:
13
CHAPTER 2
TECHNICAL DESCRIPTION
Kotlin runs on Java Virtual Machine, so it is necessary to install JDK and set the path in local
system environment variable. To install the JDK and JRE in your system and set the path in
environment variable, please refer this article – Setting up the environment in Java.
You can download the latest version of standalone compiler of kotlin form Github Releases. Now
the latest version is 1.3.31.
● First of all, extract the downloaded file in any location where you have write access.
● Copy path upto bin directory of kotlinc.
14
Figure 1. Directory
● Now open my computer properties ->Advance System setting and then click on
environment variables.
15
● Click on the path in system variables then edit button.
● Now paste the copied path of bin directory here and click ok -> ok -> ok.
16
Figure 4. Path
Hello, World! is the first basic program in any programming language. Let’s write the first
program in Kotlin programming language.
The “Hello, World!” program in Kotlin: Open your favorite editor notepad or notepad++ and
create a file named firstapp.kt with the following code.
println("Hello, World!")
17
}
$ kotlinc firstapp.kt
$kotlin firstapp.kt
Hello, World!
Note: You can run the program in Intellij IDEA as shown in the Setting up the environment
article.
Line #1: First line is a comment which is ignored by the compiler. Comments are added to the
program with the purpose to make the source code easy to read and understand by the readers.
18
2. Multiple line comment
/* This is
multi line
comment
*/
// ...
The main() function is the entry point of every program. All functions in kotlin start fun keyword
followed by the name of function(here main is the name), a list of parameters, an optional return
type, and the body of the function ( { ……. } ).
In this case, main function contains the argument – an array of strings and return units. Unit type
corresponds to void in java means the function does not return any value.
19
Line #3: The third line is a statement and it prints “Hello, World!” to print the output of the
program.
println("Hello, World!")
20
CHAPTER 3
SYSTEM IMPLEMENTATION
Below are the steps to create a new project in Kotlin programming Language.
Step 1: In Welcome to Android Studio screen, select Start a new Android Studio Project.
21
Figure 7. Choose Template
Step 3: Here we write name of our application and select the language Kotlin for the project.
22
Figure 8. Create Project
Step 4: Finally our newly created project opens which contains different number of files.
23
Figure 9. Codebase
24
CHAPTER 4
Over the span of 30 days we were given to follow training modules and build 6 mini projects in
each learning phase. Final outcome An Android Application To Search Nearby Business Using
Kotlin
A mobile app is built where the user can search for his nearby locations based on his requirement.
Whenever the user gives input of business type like a hotel, petrol pumps, hospitals, etc. using
Place API and as a response we obtain the co-ordinates that are marked on the Google map.
Architecture:
In this milestone you will be working with the API. You need to create an project & enable the
place API
25
Steps For Creating A Project
Refer to the steps given and create a project on the cloud console
26
Figure 13. GCP API services panel
Click on the API key and the API key will be created.
27
Figure 15.1 Create API
28
Figure 16. API Library
29
Figure 18.0 Building APK
Gradle will build the APK file. Click on locate which will open the APK file path.
30
The output APK file is obtained, and you share the file to android mobile and install it.
31
CHAPTER 5
This course is for anyone who wants to be a Kotlin programmer from scratch. The course will
start by fundamentals of Kotlin. You will first install the development environment then you will
run your first Kotlin app. Then you will learn about variables, math operation, priorities, logical
operations, making a decision, loops, how to work with files, functions and OOP concept that you
need to use when you program apps with Kotlin. You will learn about multi-processing and how
to run multi-process same time. You will learn how to build apps and game on Android like
Pokemon and tic tac toy and work with restful web services and JSON by build apps like getting
sunshine time. You will learn how to work with SQLite database to add, delete and update
records. Also, you will learn how to use Firebase for online gaming and build social media app
like twitter. Learn how to create apps with sensors like run music when a light is on, and Nimbuzz
32
CHAPTER 6
APPENDICES
Learning Experiences
a. Knowledge acquired:
● Step-by-Step procedure to develop mobile application
● Confirming the idea & market research - using Mural
● Wireframe design - using Figma
● Kotlin Basics
● Layouts
● Navigation
● Connect to the internet
● Data Persistence
● Work manager
b. Skills learned:
● Expressive and concise: You can do more with less. Express your ideas and reduce the
amount of boilerplate code. 67% of professional developers who use Kotlin say Kotlin has
increased their productivity.
● Safer code: Kotlin has many language features to help you avoid common programming
mistakes such as null pointer exceptions. Android apps that contain Kotlin code are 20%
less likely to crash.
● Interoperable: Call Java-based code from Kotlin, or call Kotlin from Java-based code.
Kotlin is 100% interoperable with the Java programming language, so you can have as
little or as much of Kotlin in your project as you want.
● Structured Concurrency: Kotlin coroutines make asynchronous code as easy to work
with as blocking code. Coroutines dramatically simplify background task management for
everything from network calls to accessing local data.
33
CHAPTER 7
REFERENCES
Sites
Tutorials
● Hello World - An interactive tutorial by JetBrains that illustrates Kotlin features and
syntax.
Videos
● Kotlin bootcamp for programmers: This Udacity course teaches you the essentials of
Kotlin.
Kotlin language.
● Developing Android apps with Kotlin: This Udacity course shows you how to architect
Books
● Android development with Kotlin: Learn how to make Android development much faster
using a variety of Kotlin features, from basics to advanced, to write better quality code.
34