Internship Report Final
Internship Report Final
Submitted by
KAMALESH P
(622521104020)
BACHELOR OF ENGINEERING
in
COMPUTERSCIENCEANDENGINEERING
SELVAMCOLLEGEOFTECHNOLOGY
DEPARTMENTOF
COMPUTERSCIENCEANDENGINEERING
ANNAUNIVERSITY:CHENNAI600025
DECEMBER 2024
BONAFIDECERTIFICATE
SIGNATURE SIGNATURE
Mrs.R.Bhuvaneswari,M.E., Mrs.P.Abinaya,M.E.,
HeadoftheDepartment, AssistantProfessor,
SalemRoad(NH-44) SalemRoad(NH-44)
Namakkal-637003 Namakkal-637003
Internal Examiner
COLLEGE VISION AND MISSON
VISION
MISSION
To have in-depth domain knowledge with analytical and practical skills in cutting edge
VISION
MISSION
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.
Iexpressmythankstoallmydepartmentfacultymembers,friends,andfamilymembers
fortheiradviceandencouragementtodo theInternship Periodwithfullinterestandenthusiasm.
[KAMALESH P]
i
C
ii
TABLE OF CONTENTS
Acknowledgment i
Abstract iv
1 INTRODUCTION 1
2 COMPANY PROFILE 3
3 PROJECT WORK 4
3.2 JAVA 6
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.
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.
2
CHAPTER 2
COMPANY PROFILE
2.1 Company Information
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
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
5
3.2 JAVA
Introduction To Java
6
Java is used in Android App development
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.
7. Google Services: Integrates with Google APIs (Maps, Firebase, Play Services).
10. Error Handling: Manages exceptions and logs errors for debugging.
7
3.3 DEVELOPMENT STEPS:
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'
8
CHAPTER 4
CASE STUDY
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
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.
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
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" />
</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);
// 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);
15
}
});
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);
// 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();
17
After this implementation of above code the Output will be the followings
1 2 3
18