0% found this document useful (0 votes)
30 views26 pages

Internship Report Final

The internship report by Kamalesh P details his experience in app development, specifically focusing on creating an Android application called 'The Age Calculator' during his internship at Let's GameTech. The report covers the objectives of the internship, the technologies used, and the skills acquired, including both technical and soft skills. It also outlines the vision and mission of the college and department, along with acknowledgments and a company profile.

Uploaded by

elakkiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views26 pages

Internship Report Final

The internship report by Kamalesh P details his experience in app development, specifically focusing on creating an Android application called 'The Age Calculator' during his internship at Let's GameTech. The report covers the objectives of the internship, the technologies used, and the skills acquired, including both technical and soft skills. It also outlines the vision and mission of the college and department, along with acknowledgments and a company profile.

Uploaded by

elakkiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

INTERNSHIP REPORT

Submitted by

KAMALESH P

(622521104020)

BACHELOR OF ENGINEERING
in

COMPUTERSCIENCEANDENGINEERING

[Period: 08:07:2024 to 08:08:2024]

SELVAMCOLLEGEOFTECHNOLOGY

DEPARTMENTOF

COMPUTERSCIENCEANDENGINEERING

ANNAUNIVERSITY:CHENNAI600025
DECEMBER 2024
BONAFIDECERTIFICATE

Certified that this Internship report “APP DEVELOPMENT” is the Bonafide


workofKAMALESH P, (622521104020) who Carried out the Internship under
mysupervisioncertifiedfurther, thattothebestofmyknowledgetheworkreportedhere indoes not
from part of any other Internship report or dissertation on the basis of which a degree or award
was conferred on an earlier occasion on this or any other candidate.

SIGNATURE SIGNATURE
Mrs.R.Bhuvaneswari,M.E., Mrs.P.Abinaya,M.E.,

HeadoftheDepartment, AssistantProfessor,

Department of Computer Science and

DepartmentofComputerScienceand Engineering, Engineering,

SelvamCollegeof Technology, SelvamCollegeof Technology,

SalemRoad(NH-44) SalemRoad(NH-44)

Namakkal-637003 Namakkal-637003

Submitted to Internship Viva-Voice Examination held on

Internal Examiner
COLLEGE VISION AND MISSON

VISION

Emerging as a technical institution of high standard and excellence to produce


quality Engineers, Researchers, Administrators and Entrepreneurs with ethical and
moral values to contribute the sustainable development of the society.

MISSION

We facilitate our students

To have in-depth domain knowledge with analytical and practical skills in cutting edge

technologies by imparting quality technical education. To be industry ready and multi-

skilled personalities to transfer technology to industries and rural areas by creating

interests among students in Research and Development and Entrepreneurship.


DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VISION

To evolve as a Centre of Excellence to produce the most competent


software professionals, researchers, entrepreneurs and academicians with ethical
values in Computer Science and Engineering.

MISSION

• Imparting quality education through latest technologies to


prepare Students as software developer and system analyst.
• Inculcating the technological transformations for the sustainable
development of society.
• Promoting excellence towards higher education, research,
employability and entrepreneurship.
ACKNOWLEDGEMENT

Firstofall,Ithankthealmightygodandmyparentsfortheirblessingsandmoralsupport given tome to


completethe Internship successfully.

With pleasure,I express my sincere gratitude to ourHonorableChairmanDr.P.Selvaraj, B.V.Sc.,


beloved SecretaryDr.B.Kaviethra Nandhini,B.E.,M.S.,M.B.A.,Ph.D.,and our beloved Executive
Director Mr.M.Karthik, MCA., CCNA., for giving motivation and providing all necessary
facility for the successful completion of the Internship.

It is my privilege to thank our Respected Principal Dr.A.Jegan, M.E., Ph.D., for the moral
supportanddeedsin bringingouttheInternshipsuccessfully.

I would like to thank our beloved Head, Department of Computer Science and Engineering
Mrs.R.Bhuvaneswari, M.E., for providing me with this wonderful opportunity to do this
Internshipandencouragedmeto completeitsuccessfully.

I express my sincere thanks to my Advisor Mrs.P.Abinaya, M.E., for his continuoussupport


andtimelyhelpduringtheInternship Period.

Iexpressmythankstoallmydepartmentfacultymembers,friends,andfamilymembers
fortheiradviceandencouragementtodo theInternship Periodwithfullinterestandenthusiasm.

[KAMALESH P]

i
C

ii
TABLE OF CONTENTS

CHAPTER TITLE Page No.


NO
Cover Page

Acknowledgment i

Internship Offer Letter ii

Table of Content iii

Abstract iv

1 INTRODUCTION 1

1.1 Introduction to Android 1

1.2 Introduction to Android Studio 2

2 COMPANY PROFILE 3

2.1 Company Information 3

3 PROJECT WORK 4

3.1 Android Application Components 4

3.2 JAVA 6

3.3 Development Steps 8

4 CASE STUDY 9

4.1 Challenges 9

5 CONCLUSION 12

APPENDIX 13

iii
ABSTRACT

APP DEVELOPMENT is the main objective of this internship. It involves designing, building,
and deploying software programs for various platforms, including mobile devices, desktops, and the
web. In mobile app development, platforms like Android and iOS dominate, each requiring distinct
tools and technologies such as Android Studio with Java/Kotlin or Xcode with Swift/Objective-C. The
process begins with ideation and user-centric design, focusing on functionality, aesthetics, and ease of
use. Developers utilize frameworks, APIs, and libraries to integrate features like authentication,
databases, notifications, and multimedia capabilities. Agile development practices, including iterative
testing and refinement, ensure the app meets user needs and quality standards.

A crucial aspect of modern app development is cross-platform compatibility, achieved through


technologies like Flutter and React Native, which streamline code reuse across platforms. Security,
scalability, and performance optimization are critical considerations to ensure reliability and user trust.
With the proliferation of smart devices and cloud services, app development continues to evolve,
enabling applications to provide seamless, innovative experiences across diverse ecosystems.

The internship program not only focused on technical skills but also emphasized the
importance of soft skills, such as problem-solving, teamwork, and effective communication. By
collaborating with experienced developers and participating in code reviews, interns received valuable
feedback that contributed to their professional growth. Overall, this program has successfully fostered
a deeper understanding of Android development, enabling interns to gain essential skills and
knowledge necessary for a successful career in the fast-paced and evolving field of App development.

iv
CHAPTER 1
INTRODUCTION

This reportoutlines the experiences and skills gained during an internship as a App
Development Intern at Lets’s Gametech in Coimbatore. Overthe course of the training, close
collaboration with a team of professionals provided insights into a dynamic and collaborative
software development environment. The primary assignment involved creating an Android
Appfor a project named "The Age Calculator", offering an opportunity to apply and enhance
skills in Android Development and Java.

1.2 IntroductionToAndroid
Android is an open source and Linux-based Operating System for mobile devices such as
smartphones 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.

Android has come a long way from its humble beginnings, as the product of a small start
up, all the way to becoming the leading mobile operating system worldwide. Google’s
introduction of ProjectTreble in Android Oreo should make it easier for phone makers to update
their devices faster.

One challenge for Android device owners that has been an issue for the OS ever since it
launched is updating it with the latest security patches, for major feature updates. Google’s
supported Nexus and Pixel devices consistently receive regular monthly security updates, and the
latest version of the OS

1
1.3 Introduction To 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.

Android Studio Project Structure


The Android Studio project contains one or more modules with resource files and source
code files. These include different types of modules are Android App modules, Library modules,
and Google App Engine module

2
CHAPTER 2
COMPANY PROFILE
2.1 Company Information

COMPANY NAME : LET’S GAMETECH

COMPANY ADDRESS : 178-A5 Avinashi Road,Hopes college signal,


Coimbatore- 641004.
Location

About Our Company

Let's GameTech empowers students looking to build careers in the video game industry.
Established in 2019, they offer courses, internships, and final year project opportunities, equipping
students with the skills and experience needed to thrive in this dynamic field.
Let’s GameTech Offer coding education to school & college students through Online.We Train
the Young Minds to start their journey on Game Development, 3D Modeling and Coding.Our Trainers
prepare the Students to think creatively, to bring out the problemsolving capacity in them, and to work in
a smart way.Let’s GameTech provide Trainers Who are Corporate experts, who have lots of experience in
the field of Coding and Game Development.

3
CHAPTER 3

PROJECT WORK
The Age Calculator

3.1 ANDROID APPLICATION COMPONENTS


Components & Description

Application components are the essential building blocks of an Android application.


These components are loosely coupled by the application manifest file “AndroidManifest.xml”
that describes each component of the application and how they interact. There are following four
main components that can be used within an Android application.

S.NO Components & Description

1 Activities- They dictate the UI and handle the user interaction to the smart phone
screen.
2 Services- They handle background processing associated with an application.
3 Broadcast Receivers-They handle communication between Android OS and
applications.
4 Content Providers-They handle data and database management issues.
5 Layouts- View hierarchies that control screen format and appearance of the views
6 Services- They handle background processing associated with an application.
7 Resources-External elements, such as strings, constants and drawable pictures.

Layout Attributes

Each layout has a set of attributes which define the visual properties of that
layout. There are few common attributes among all the layouts and their are other attributes
which are specific to that layout. Following are common attributes and will be applied to all
the layouts.

4
LAYOUTS

S.NO Attribute & Description

1 android:id- This is the ID which uniquely identifies the view.


2 android:layout_width- This is the width of the layout.
3 android:layout_width- This is the width of the layout.
4 android:layout_marginTop-This is the extra space on the top side of the layout.
5 android:layout_marginBottom -This is the extra space on the bottom side of the
layout.
6 android:paddingTop- This is the top padding filled for the layout
7 android:paddingBottom- This is the bottom padding filled for the layout.
8 android:layout_marginRight- This is the extra space on the right side of the layout.
9 android:layout_gravity- This specifies how child Views are positioned.
10 android:layout_weight- This specifies how much of the extra space in the layout should
be allocated to the View.
11 android:layout_x- This specifies the x-coordinate of the layout.
12 android:layout_y- This specifies the y-coordinate of the layout.
13 android:layout_width- This is the width of the layout.
14 android:paddingLeft- This is the left padding filled for the layout.
15 android:paddingRight- This is the right padding filled for the layout.
16 android:background- Thisisadrawabletouseasthe background.
17 android:contentDescription- Thisdefinestext thatbrieflydescribescontentoftheview.
18 android:id- Thissuppliesan identifiernameforthisview.
19 android:onClick- This is the name of the method in this View's context to invoke when
the view is clicked.
20 android:visibility- This controls the initial visibility of the view.
21 android:autoText-
Ifset,specifiesthatthisTextViewhasatextualinputmethodandautomaticallycorrectssome
common spelling errors.
22 android:drawableBottom- Thisisthe drawabletobedrawnbelowthetext.
23 android:drawableRight- Thisisthedrawable to bedrawntotherightof thetext.
24 android:editable- Ifset, specifiesthatthisTextViewhasaninput method.
25 android:text- ThisistheTextto display.
26 android:background- Thisisadrawabletouseasthebackground.
27 android:contentDescription- Thisdefinestext thatbrieflydescribescontentoftheview.
28 android:id- This supplies an identifier name for this view.
29 android:onClick- This is the name of the method in this View's context to invoke
whenthe view is clicked.
30 android:visibility- This controls the initial visibility of the view.

5
3.2 JAVA

Introduction To Java

 Java is a class-based, object-oriented programming language that is designed to have as


few implementation dependencies as possible.
 It is intended to let application developers Write Once and Run Anywhere (WORA),
meaning that compiled Java code can run on all platforms that support Java without the
need for recompilation.
 Java was developed by James Gosling at Sun Microsystems Inc. in May 1995 and later
acquired by Oracle Corporation and is widely used for developing applications for
desktop, web, and mobile devices.
 Java is known for its simplicity, robustness, and security features, making it a popular
choice for enterprise-level applications.
 Java applications are compiled to byte code that can run on any Java Virtual Machine.
The syntax of Java is similar to C/C++.
 Java makes writing, compiling, and debugging programming easy. It helps to create
reusable code and modular programs.

6
Java is used in Android App development

1. App Logic: Defines behavior in Activities, Fragments, and app flow.

2. UI Management: Handles UI elements (Views, Buttons, TextFields) and user


interactions.

3. Lifecycle Management: Manages the lifecycle of Activities and Fragments (e.g.,


onCreate, onPause).

4. Networking: Communicates with APIs and web services using HTTP requests (via
libraries like Retrofit, OkHttp).

5. Data Storage: Handles local data storage using SQLite, SharedPreferences, and
ContentProviders.

6. Background Services: Manages background tasks and services (e.g., sync,


notifications).

7. Google Services: Integrates with Google APIs (Maps, Firebase, Play Services).

8. Custom Views: Creates custom UI components and animations.

9. Multi-threading: Performs tasks in the background without blocking the UI (using


Threads, AsyncTask).

10. Error Handling: Manages exceptions and logs errors for debugging.

7
3.3 DEVELOPMENT STEPS:

Steps to Create an Age Calculation App

Step 1: Creating a new project


 Open a new project.
 We will be working on Empty Activity with language as Java. Leave all other
options unchanged.
 You can change the name of the project at your convenience.
 There will be two default files named activity_main.xml and
MainActivity.java.

Step 2: Navigate to Build scripts > build.gradle(module) file and add the
following dependency to it

 implementation 'joda-time:joda-time:2.9.1'

Step 3: Working with the activity_main.xml file

 Button 1: to pick the first date user wants to enter.


 Button 2: to pick the second date user wants to enter.
 Button 3: to perform the calculation
 TextView: to show the final output(age).

Step 4: Working with MainActivity.java file

 In MainActivity.java file “onClickListener” is used on buttons to pick the date


and to perform the calculation.

8
CHAPTER 4
CASE STUDY

4.1 Challenges faced

Environment Setup
Installing Android Studio and configuring the necessary SDKs, emulators, and
dependencies can be time-consuming and complex.
Performance Issues
Android Studio can be resource-intensive, causing slowness on systems with
limited RAM or processing power.
Fragmentation
Android's wide range of devices with varying screen sizes, resolutions, and OS
versions makes app compatibility a significant challenge.
Debugging and Testing
Debugging apps on different devices and OS versions can be cumbersome. Some
issues only appear on specific configurations.
Learning Curve
Android development requires learning Java/Kotlin, XML, Gradle, and Android
APIs, which can be overwhelming for beginners.
Handling UI Design
Designing intuitive, responsive, and appealing UI for various screen sizes and
orientations can be challenging.
Publishing on Google Play

Preparing an app for publishing, including signing, optimizing, and adhering to


Play Store policies, can be tedious.

9
ATTENDANCE REPORT

10
CERTIFICATE

11
CHAPTER 5
CONCLUTION

My internship experience in app development has been both enriching and insightful,
providing me with a comprehensive understanding of the entire app development lifecycle.
From initial planning and design to coding, testing, and deployment, I gained hands-on
experience in the technical and collaborative aspects of building a functional mobile
application.

Throughout the internship, I was able to apply theoretical knowledge in real-world


scenarios, working with modern tools and technologies like [mention any specific
technologies/tools used, e.g., Swift, Java, React Native, Firebase]. This practical exposure
enhanced my problem-solving skills and deepened my understanding of user-centered design,
performance optimization, and debugging techniques.

Additionally, working closely with a team of developers, designers, and project


managers allowed me to appreciate the importance of collaboration, clear communication,
and agile development practices in delivering successful app projects. I also learned how to
effectively address challenges such as app performance, user feedback integration, and cross-
platform compatibility.

Overall, this internship has not only improved my technical skills but also prepared
me for future roles in app development by providing a well-rounded perspective on the
industry. I now feel more confident in my ability to contribute to app development projects
and am excited about pursuing further opportunities in this field.

12
APPENDIX

XML
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<!-- Parent layout as linear layout-->
<LinearLayout
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"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp"
tools:context=".MainActivity">

<!-- linear layout to show datepickers-->


<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<!-- to select the first date-->


<Button
android:id="@+id/bt_birth"
android:layout_width="150dp"
android:layout_height="50dp"
android:background="@android:color/transparent"
android:drawableRight="@drawable/ic_baseline"
android:text="01/01/2021"
android:textColor="@color/black"
android:textSize="13sp" />

<!-- displaying message as "to"-->


<TextView
android:layout_width="100dp"
android:layout_height="50dp"
android:gravity="center_horizontal"
android:text="To"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />

<!-- to display date number 2-->


<Button
android:id="@+id/bt_today"
android:layout_width="145dp"
android:layout_height="50dp"
android:background="@android:color/transparent"
android:drawableRight="@drawable/ic_baseline"

13
android:textColor="@color/black"
android:textSize="13sp" />
</LinearLayout>
<!-- to perform the calculation-->
<Button
android:id="@+id/btn_calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="calculate" />

<!-- to display the message "Result"-->


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="Result"
android:textColor="@android:color/holo_blue_bright"
android:textSize="30sp"
android:textStyle="bold" />

<!-- To show the final output(age)-->


<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="0 Years | 0 Months | 0 Days"
android:textSize="25sp"
android:textStyle="bold" />

</LinearLayout>

JAVA
MainActivity.java
import android.app.DatePickerDialog;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import org.joda.time.Period;
import org.joda.time.PeriodType;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

14
public class MainActivity extends AppCompatActivity {

// initializing variables
Button btn_birth, btn_today, btn_calculate;
TextView tvResult;
DatePickerDialog.OnDateSetListener dateSetListener1, dateSetListener2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// assign variables
btn_birth = findViewById(R.id.bt_birth);
btn_today = findViewById(R.id.bt_today);
btn_calculate = findViewById(R.id.btn_calculate);
tvResult = findViewById(R.id.tv_result);

// calendar format is imported to pick date


Calendar calendar = Calendar.getInstance();

// for year
int year = calendar.get(Calendar.YEAR);

// for month
int month = calendar.get(Calendar.MONTH);

// for date
int day = calendar.get(Calendar.DAY_OF_MONTH);

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");

// to set the current date as by default


String date = simpleDateFormat.format(Calendar.getInstance().getTime());
btn_today.setText(date);

// action to be performed when button 1 is clicked


btn_birth.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// date picker dialog is used
// and its style and color are also passed
DatePickerDialog datePickerDialog = new
DatePickerDialog(MainActivity.this,
android.R.style.Theme_Holo_Light_Dialog_MinWidth, dateSetListener1, year, month,
day
);
// to set background for datepicker
datePickerDialog.getWindow().setBackgroundDrawable(new
ColorDrawable(Color.TRANSPARENT));
datePickerDialog.show();

15
}
});

// it is used to set the date which user selects


dateSetListener1 = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
// here month+1 is used so that
// actual month number can be displayed
// otherwise it starts from 0 and it shows
// 1 number less for every month
// example- for january month=0
month = month + 1;
String date = day + "/" + month + "/" + year;
btn_birth.setText(date);
}
};

// action to be performed when button 2 is clicked


btn_today.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// date picker dialog is used
// and its style and color are also passed
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this,
android.R.style.Theme_Holo_Light_Dialog_MinWidth, dateSetListener2, year, month,
day
);
// to set background for datepicker
datePickerDialog.getWindow().setBackgroundDrawable(new
ColorDrawable(Color.TRANSPARENT));
datePickerDialog.show();
}
});

// it is used to set the date which user selects


dateSetListener2 = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
// here month+1 is used so that
// actual month number can be displayed
// otherwise it starts from 0 and it shows
// 1 number less for every month
// example- for january month=0
month = month + 1;
String date = day + "/" + month + "/" + year;
btn_today.setText(date);
}
};

// action to be performed when calculate button is clicked


btn_calculate.setOnClickListener(new View.OnClickListener() {
@Override

16
public void onClick(View view) {
// converting the inputted date to string
String sDate = btn_birth.getText().toString();
String eDate = btn_today.getText().toString();
SimpleDateFormat simpleDateFormat1 = new
SimpleDateFormat("dd/MM/yyyy");
try {
// converting it to date format
Date date1 = simpleDateFormat1.parse(sDate);
Date date2 = simpleDateFormat1.parse(eDate);

long startdate = date1.getTime();


long endDate = date2.getTime();

// condition
if (startdate <= endDate) {
org.joda.time.Period period = new Period(startdate, endDate,
PeriodType.yearMonthDay());
int years = period.getYears();
int months = period.getMonths();
int days = period.getDays();

// show the final output


tvResult.setText(years + " Years |" + months + "Months |" + days + "Days");
} else {
// show message
Toast.makeText(MainActivity.this, "BirthDate should not be larger than
today's date!", Toast.LENGTH_SHORT).show();
}
} catch (ParseException e) {
e.printStackTrace();
}
}
});
}
}

17
After this implementation of above code the Output will be the followings

1 2 3

18

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy