An Internship Report
On
ANDROID DEVELOPER
In partial fulfilment of the requirements for the award of the degree of
Bachelor of Technology
In
Artificial Intelligence and Machine Learning
Submitted By
Priyanshu Kumar
(Roll No. 2101921640036)
Under the Supervision of
Dr. Santosh Kumar Srivastava
(Duration: July 2024 to September 2024)
G.L. Bajaj Institute of Technology & Management,
Greater Noida
Affiliated to
Dr. A. P. J. Abdul Kalam Technical University, Lucknow
(2024-25)
G.L. Bajaj Institute of Technology & Management
Greater Noida
Department of Computer Science & Engineering (AIML)
Certificate
This is to certify that the Internship Report entitled “Android Developer” has
been successfully completed by Priyanshu Kumar (Roll No. 2101921640036), in
partial fulfilment of the requirements for the award of the degree of Bachelor of
Technology in Artificial Intelligence and Machine Learning, for the academic
session 2024-2025. He has completed his internship at “Google”.
Date:
Dr. Santosh Kumar Srivastava Dr. Naresh Kumar
(Associate Professor) (Dean/HOD)
Department of CSE (AIML) Department of CSE (AIML)
ii
Acknowledgement
The merciful guidance bestowed to me by the almighty made me stick out this
internship to a successful end. I humbly pray with sincere heart for his guidance to
continue forever.
I pay thanks to our Internship Coordinator Dr. Santosh Kumar Srivastava who
has given guidance and light to me during this internship. His versatile knowledge
has helped me in the critical times during the span of this internship.
I pay special thanks to our Head of the Department Dr. Naresh Kumar who has
been always present as a support and help me in all possible way during this
internship.
I also take this opportunity to express my gratitude to all those people who have
been directly and indirectly with me during the completion of the internship.
I want to thank my friends who have always encouraged me during this internship.
Name - Priyanshu Kumar
Roll No. - 2101921640036
iii
Certificate of Internship
iv
TABLE OF CONTENT
Certificate..............................................................................................................(ii)
Acknowledgement................................................................................................(iii)
Certificate of Internship........................................................................................(iv)
Table of Content....................................................................................................(v)
Chapter 1. Introduction.................................................................................. 1
Chapter 2. Objectives...................................................................................... 3
2.1. Practical Application of Theoretical Knowledge............................ 3
2.2. Skill Development and Certificate Attaiment................................. 3
2.3. Seamless Integration into Android Development Workforce......... 3
2.4. Networking Opportunities and Industry Exposure......................... 4
2.5. Validation of Skills and Profile....................................................... 4
2.6. Contribution to Academic and Professional Growth...................... 4
Chapter 3. Courses Undertaken..................................................................... 5
3.1. Getting Started................................................................................ 5
3.2. Kotlin Basic.................................................................................... 5
3.3. Creating UI & Designing Component ........................................... 6
3.4. Core Topics..................................................................................... 6
3.5. Continuing Core Topics.................................................................. 6
Chapter 4. Tools & Technologies.................................................................... 8
4.1. Jetpack Compose............................................................................ 8
4.2. Firebase........................................................................................... 9
4.3. Kotlin.............................................................................................. 9
4.4. Figma.............................................................................................. 10
4.5. XML............................................................................................... 11
Chapter 5. Learnings....................................................................................... 12
5.1. Mastery of Android Development Tools....................................... 12
v
5.2. Advanced UI Design and Development......................................... 13
5.3. Real-World Application of Android Development Concepts......... 13
5.4. Debugging and Performance Optimization.................................... 14
5.5. Enhanced Problem-Solving and Critical Thinking......................... 14
5.6. Understanding Industry Standard and Best Practices..................... 15
Chapter 7. Conclusion..................................................................................... 16
References
vi
Chapter 1
Introduction
Internships serve as a crucial bridge, connecting theoretical learning with practical
application in the ever-evolving professional landscape. Modern organizations
perceive work as more than a mere means of earning; it embodies commitment,
responsibility, and ownership. Navigating this dynamic paradigm, both companies
and students find the AICTE internship portal, particularly Eduskills, to be an
invaluable resource. The portal serves as a symbiotic platform, allowing students to
showcase their skills and aspirations while aiding companies in efficiently posting
and matching internship opportunities.
In my case, this transformative journey led me into the realm of Android
Development through a virtual internship facilitated by the AICTE internship
portal. The focus of my internship was Android Developer certification. Google, a
renowned Global Problem solutions provider, presented a unique opportunity to
delve into the intricacies of solving problem and gain a certification that is
recognized for covering foundational knowledge and advancements in Android
Development concepts.
This virtual internship experience proved to be a stepping stone, offering a practical
application of the theoretical Android Development knowledge acquired in
academic settings. The portal not only facilitated the connection between aspiring
interns and companies but also enabled a seamless entry into a specific domain
within the Android Development landscape.
The AICTE internship portal played a pivotal role in streamlining the internship
process. It facilitated a quick and efficient connection between companies seeking
skilled interns and students eager to apply their theoretical knowledge in a practical
1
setting. The portal's automated matching system and validation process ensured a
seamless experience, from creating opportunities to validating profiles, ultimately
resulting in a well-matched and verified internship placement.
In conclusion, the AICTE internship portal has proven to be a transformative
resource, offering a symbiotic platform for students and companies alike. My
journey into the Android Development domain through the certification was a
testament to the portal's efficacy in connecting theoretical knowledge with practical
application, ultimately shaping a meaningful and impactful virtual internship
experience.
2
Chapter 2
Objectives
In undertaking the virtual internship facilitated by AICTE's internship portal,
Eduskills, with a specific focus on the Android Development domain and the
Google certification, several overarching objectives were identified to ensure a
comprehensive and enriching experience.
2.1. Practical Application of Theoretical Knowledge
Objective: Bridge the gap between theoretical learning and practical application in
the Android Development domain.
Details: Apply academic knowledge to real-world scenarios, gaining hands- on
experience in network security fundamentals and cutting-edge advancements.
2.2. Skill Development and Certification Attainment
Objective: Develop and enhance skills relevant to the Android Development
landscape and attain the certification.
Details: Acquire practical skills in areas such as Designing Component, Android
lifecycles, and Kotlin technologies, culminating in the recognition of the
certification.
2.3. Seamless Integration into Android Development Workforce
Objective: Facilitate a seamless transition for interns into the professional Android
Development workforce.
3
Details: Provide exposure to industry-relevant tools, technologies, and
methodologies, preparing interns for the challenges of an Android Development
career.
2.4. Networking Opportunities and Industry Exposure
Objective: Foster networking opportunities and provide exposure to the broader
Android Development industry.
Details: Connect interns with professionals in the field, enabling them to build a
valuable network and gain insights into industry trends and best practices.
2.5. Validation of Skills and Profile
Objective: Validate and enhance the interns' skills and profiles through a rigorous
matching and validation process.
Details: Ensure that the skills, aspirations, and profiles of interns align seamlessly
with the demands and expectations of the Android Development internship
opportunities.
2.6. Contribution to Academic and Professional Growth
Objective: Contribute to both academic and professional growth through a holistic
learning experience.
Details: Provide a structured curriculum that not only aligns with academic
requirements but also nurtures skills essential for professional success in the Data
Analytics domain.
4
Chapter 3
Courses Undertaken
3.1. Getting Started
Objective: This introductory module aimed to provide a comprehensive overview
of the Android development ecosystem while setting up the development
environment. Topics Covered: The session introduced Android Studio's interface,
the basics of Kotlin, and the structure of Android projects.
Activities:
o Understanding the project structure
o Exploring the Android lifecycle
o Creating a basic "Hello World" app Benefits: This module served as
the foundation for understanding the essential tools and languages in
Android development, specifically Android Studio and Kotlin. It
enabled the intern to successfully create and run their first basic
Android app.
3.2. Kotlin Basics
Objective: This module focused on providing a solid understanding of Kotlin,
which is the primary language for Android development. Topics Covered: The
session covered Kotlin's syntax, basic constructs, and how Kotlin integrates with
Android development.
Activities:
o Learning Kotlin variables, data types, and control structures
o Understanding functions, classes, and objects in Kotlin
o Working with Kotlin-specific features such as null safety and
extension functions Benefits: By the end of this module, the intern
gained proficiency in Kotlin, equipping them to write efficient and
clean code for Android applications.
5
3.3. Creating UI & Design Components
Objective: This module focused on building user interfaces (UI) for Android apps
using the tools and components provided by Android Studio. Topics Covered: The
session covered the fundamentals of UI design, including layouts, views, and UI
components in Android.
Activities:
o Designing UIs using XML layouts
o Implementing various UI components such as buttons, text fields,
and image views
o Understanding the use of ConstraintLayout, LinearLayout, and other
layout types Benefits: The intern gained hands-on experience in
creating interactive and visually appealing user interfaces. By the
end of this module, they were able to design intuitive and functional
UIs for Android apps.
3.4. Core Topics
Objective: The core topics module focused on deepening the intern’s knowledge
of essential Android development skills and techniques. Topics Covered: The
session delved into key Android concepts such as date and time handling, working
with rows and columns in data, and performing complex data manipulations.
Activities:
o Using Kotlin functions and libraries to handle dates and times
o Understanding and manipulating rows vs columns in data sets
o Working with Android’s storage mechanisms and data persistence
Benefits: This module empowered the intern with the foundational
knowledge to handle various technical challenges in Android
development, such as data manipulation and storage management.
3.5. Continuing Core Topics
Objective: The final module provided a deeper understanding of advanced core
topics and how to work with complex data transformations in Android apps. Topics
6
Covered: The session explored advanced Android features for data handling,
including transforming data sets, changing data layouts, and advanced techniques
for data manipulation such as VLOOKUPs and appending fields.
Activities:
o Applying data transformation techniques to Android app
development
o Learning about advanced UI components and layouts
o Writing and managing data through various data structures and
components Benefits: By the end of this module, the intern had a
deeper understanding of transforming and managing complex data
in Android applications, making them more proficient in building
sophisticated apps.
7
Chapter 4
Tools & Technologies Used
This module introduced the intern to the essential tools and technologies commonly
used in Android development, equipping them with the knowledge to build modern
Android applications.
Topics Covered: The session covered a range of popular tools and technologies
including Jetpack Compose, Firebase, Kotlin, and Figma, all of which are integral
to developing high-performance and user-friendly Android apps.
Activities:
o Exploring the features and capabilities of Jetpack Compose
o Understanding the integration of Firebase for backend services
o Learning how Kotlin is used to build Android applications
o Using Figma for designing app layouts and prototypes
Benefits: This module provided the intern with an in-depth understanding of the
primary tools used in Android development, enabling them to create high-quality,
scalable, and visually appealing mobile apps. Mastering these tools set a solid
foundation for building sophisticated Android applications.
4.1. Jetpack Compose
Objective: This module focused on Jetpack Compose, a modern UI toolkit for
building Android user interfaces, offering a more intuitive and flexible approach
than XML-based UI design.
Topics Covered: The session provided hands-on experience with Jetpack
Compose, including its composable functions, state management, and theming
capabilities.
Activities:
o Learning to create UI components using composables
8
o Understanding the role of states and how to manage them within
Compose
o Customizing UI components with Material Design and custom
themes
o Implementing navigation and layout designs using Compose
Benefits: By the end of this module, the intern gained proficiency in using Jetpack
Compose to create declarative UIs, streamlining the app development process and
allowing for more efficient design and coding practices.
4.2. Firebase
Objective: This module aimed to familiarize the intern with Firebase, a
comprehensive platform for building mobile apps that provides essential backend
services such as real-time databases, authentication, and cloud storage.
Topics Covered: The session covered the integration of Firebase with Android
applications, focusing on Firebase’s features that enable developers to easily
manage backend services.
Activities:
o Setting up Firebase in an Android project
o Implementing Firebase Authentication for user sign-in
o Storing and syncing data in Firebase Realtime Database
o Using Firebase Cloud Storage to upload and retrieve files
o Integrating Firebase Analytics to track user behavior
Benefits: The intern learned how to seamlessly integrate Firebase services into
Android applications, reducing the need for manual backend setup and allowing
them to focus on building feature-rich apps with cloud-based solutions.
4.3. Kotlin
Objective: Kotlin, as the official programming language for Android, was a core
component of this module, which provided a deep dive into the language's syntax
and its role in modern Android development.
9
Topics Covered: The session covered Kotlin's features and how it enhances
Android development by offering a safer, more concise, and expressive alternative
to Java.
Activities:
o Writing Kotlin code to handle Android app logic
o Learning about Kotlin’s null safety, extension functions, and
lambdas
o Using Kotlin to handle asynchronous tasks with coroutines
o Integrating Kotlin into existing Java-based Android projects
Benefits: The intern gained a thorough understanding of Kotlin, enabling them to
write more efficient, readable, and maintainable code for Android applications,
while also leveraging Kotlin’s modern features to enhance app functionality.
4.4. Figma
Objective: Figma, a web-based UI/UX design tool, was introduced to help the
intern design, prototype, and collaborate on app interfaces, emphasizing the
importance of well-designed user experiences.
Topics Covered: The session covered how Figma can be used for app design and
collaboration, and how it integrates with the Android development workflow.
Activities:
o Designing app screens and user flows in Figma
o Creating interactive prototypes to visualize app functionality
o Using design components and reusable assets for consistency
o Collaborating with developers and other stakeholders using Figma’s
sharing features
Benefits: By the end of this module, the intern was able to create visually
compelling designs, ensuring that user interfaces were intuitive and aligned with
the app’s functionality. They also learned how to bridge the gap between design and
development, making the app development process more efficient.
10
4.5. XML
Objective: This module focused on XML (Extensible Markup Language), which is
used to define and design user interface layouts in Android applications.
Topics Covered: The session introduced XML's role in Android UI development,
including its structure, syntax, and how it is used to organize and design UI
components.
Activities:
o Learning how to create and organize layout files using XML
o Defining views and UI components such as buttons, text fields, and
images
o Implementing different types of layouts like LinearLayout,
RelativeLayout, and ConstraintLayout
o Styling and customizing UI elements using XML attributes
Benefits: By the end of this module, the intern gained a solid understanding of how
to use XML to design and structure Android app interfaces, providing the
foundation for building functional and visually appealing layouts.
11
Chapter 5
Learnings
The Android Development virtual internship provided an excellent opportunity to
enhance my skills in mobile application development, focusing on practical hands-
on experience and theoretical learning. This section outlines the key learnings
achieved during the internship, emphasizing the application of Android
development concepts, mastering Android tools, and solving real-world app
development challenges.
5.1. Mastery of Android Development Tools
One of the most significant takeaways from the internship was mastering the core
Android development tools and frameworks that are integral to building Android
applications:
Android Studio: I became proficient in using Android Studio, the official
IDE for Android development. I worked with various components of the
IDE, including the layout editor, code editor, and built-in emulator, to design
and develop Android apps. I also explored advanced features such as
debugging, version control integration, and code refactoring to streamline
the development process.
Jetpack Compose: I gained hands-on experience with Jetpack Compose,
Google's modern toolkit for building UIs. I learned how to create dynamic,
responsive user interfaces using Kotlin and Compose’s declarative
approach, enabling efficient UI design without relying on XML-based
layouts.
Firebase: I explored Firebase, a comprehensive platform for building
mobile apps, learning how to integrate various Firebase services such as
authentication, real-time databases, cloud storage, and push notifications. I
also worked on using Firebase Analytics for app performance tracking.
12
Kotlin: Throughout the internship, I deepened my understanding of Kotlin,
the preferred language for Android development. I learned how Kotlin
enhances Android development by providing concise, readable, and type-
safe code. I also worked with Kotlin-specific features like coroutines and
extension functions for more efficient app development.
5.2. Advanced UI Design and Development
The internship provided a deep dive into advanced UI design and development,
which is critical for creating user-friendly and visually appealing Android
applications:
UI Components and Layouts: I developed skills in working with essential
UI components like Buttons, TextViews, ImageViews, RecyclerViews, and
more. I also learned how to create adaptable and responsive layouts using
ConstraintLayout, LinearLayout, and other layout types.
Jetpack Compose for UI Design: By using Jetpack Compose, I explored
how to build modern UIs programmatically, focusing on reusable UI
components, state management, and theming. This approach enhanced my
ability to develop flexible and maintainable interfaces.
Custom Views and Animations: I gained experience in creating custom
views, handling user input, and adding animations/transitions to improve
the app's user experience, making the apps more interactive and engaging.
5.3. Real-World Application of Android Development Concepts
The internship provided an extensive understanding of how Android development
concepts are applied in real-world scenarios. I worked on various projects that
enabled me to design and deploy functional Android apps:
App Development Projects: I applied my knowledge by developing
complete Android applications, which ranged from simple task management
apps to more complex solutions involving data persistence, networking, and
third-party integrations.
13
Database Integration: I learned how to integrate databases such as SQLite
and Firebase Realtime Database to store and retrieve data. This was crucial
for building apps that require data persistence, such as note-taking apps and
inventory management systems.
Networking and API Integration: I worked with libraries like Retrofit to
interact with RESTful APIs, sending and receiving data from remote
servers. This was particularly useful for apps that fetch and display data
dynamically, such as news apps or weather apps.
5.4. Debugging and Performance Optimization
A critical learning outcome from this internship was developing effective
debugging and performance optimization skills for Android applications:
Debugging Tools: I became proficient in using Android Studio’s debugging
tools, such as breakpoints, the Logcat console, and step-through debugging,
to identify and resolve issues in app logic and behavior.
Performance Optimization: I explored performance optimization
techniques to ensure smooth and responsive app performance. This included
optimizing memory usage, reducing CPU consumption, and ensuring
smooth transitions and animations. I also used Android Studio's profiling
tools to monitor app performance and identify potential bottlenecks.
Battery and Network Optimization: I worked on optimizing battery
consumption and network usage, especially in apps that required constant
background processes or relied on network communication.
5.5. Enhanced Problem-Solving and Critical Thinking
The internship sharpened my problem-solving and critical thinking abilities,
particularly when facing complex Android development challenges:
Handling Complex UI Layouts: I tackled challenges like designing UIs
that adapt seamlessly across different screen sizes, densities, and
orientations, ensuring that apps worked efficiently across a wide range of
devices.
14
Dynamic Data Handling: I used advanced data manipulation techniques to
manage dynamic datasets and worked with tools like RecyclerView and
ViewModel to handle complex user interactions, data transformations, and
updates.
Error Handling and Resilience: I developed a strong understanding of
error handling and implemented mechanisms to ensure app stability, even in
situations involving network failures or unavailable resources.
5.6. Understanding Industry Standard and Best Practices
Through the internship, I gained invaluable insight into industry standards and best
practices for Android development, which are essential for creating high-quality,
scalable, and maintainable apps:
Architecture Patterns: I learned about modern Android architecture
patterns, including Model-View-ViewModel (MVVM) and Repository
patterns, which help in organizing code for scalability and maintainability.
This made it easier to separate concerns and implement features more
efficiently.
Testing and Quality Assurance: I was introduced to Android testing
frameworks like Espresso for UI testing and JUnit for unit testing. These
tools helped me ensure the reliability and stability of the apps before
deployment.
Version Control and Collaboration: I gained practical experience using
Git for version control, collaborating in a team environment, and managing
code changes efficiently, which is crucial for large-scale projects.
15
Chapter 6
Conclusion
The virtual internship in Android Development provided a transformative learning
experience, bridging the gap between theoretical knowledge and practical
application in the mobile app development field. Through structured training
modules and hands-on exercises, I gained a comprehensive understanding of
Android development, ranging from fundamental concepts to advanced techniques
for building modern, high-performance Android applications.
The internship exposed me to essential tools and technologies within the Android
ecosystem, including Android Studio, Jetpack Compose, Firebase, and Kotlin. I
learned to design, develop, and deploy Android apps using a variety of features such
as UI design, database integration, API handling, and performance optimization.
Working with tools like Android Studio's debugging features, Firebase for real-time
data storage, and Jetpack Compose for modern UI development, I built scalable,
efficient, and user-friendly applications.
Moreover, the practical exercises and real-world scenarios emphasized during the
internship helped sharpen my problem-solving and critical-thinking skills. These
projects prepared me to tackle complex Android development challenges while
adhering to industry standards and best practices. Additionally, the internship
provided the foundation for mastering key Android development concepts, which
are essential for pursuing Android Developer certifications and professional growth
in this domain.
The knowledge and skills gained during this internship have significantly enhanced
my technical expertise and contributed to my professional development. This
experience has laid a solid foundation for pursuing a career in Android
16
development, equipping me to contribute meaningfully to the growing mobile
application development field.
17
References
Android Developer Official Website: "Learn Android Development." Available
at: https://developer.android.com/
Kotlin Official Website: "Kotlin Programming Language." Available at:
https://kotlinlang.org/
Firebase Documentation: "Firebase for Android." Available at:
https://firebase.google.com/docs/android
Jetpack Compose Documentation: "Jetpack Compose Overview." Available at:
https://developer.android.com/jetpack/compose
Android Studio Guide: "Android Studio User Guide." Available at:
https://developer.android.com/studio
18