0% found this document useful (0 votes)
56 views44 pages

Summer Internship 2 Templete EduSkills

The document is a report on a summer internship completed by Puppalla Rama Krishna in Android Development at EduSkills, submitted for the B.Tech degree in Computer Science and Engineering. It outlines the internship's objectives, the skills gained, and the structure of the organization involved. The report includes sections on the internship experience, activity logs, and acknowledgments to various individuals and institutions that supported the internship process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views44 pages

Summer Internship 2 Templete EduSkills

The document is a report on a summer internship completed by Puppalla Rama Krishna in Android Development at EduSkills, submitted for the B.Tech degree in Computer Science and Engineering. It outlines the internship's objectives, the skills gained, and the structure of the organization involved. The report includes sections on the internship experience, activity logs, and acknowledgments to various individuals and institutions that supported the internship process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Summer Internship-2 Report

On
Android Developer Virtual Internship

Submitted in accordance with the requirement for the degree of

BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING

Under the Esteemed Guidance of

Mr G Manthru Naik
M. Tech(Ph.D)
Associate Professor.

Submitted by
PUPPALLA RAMA KRISHNA
Reg. No: 228X1A05F7

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

KALLAM HARANADHAREDDY INSTITUTE OF TECHNOLOGY


(AUTONOMOUS)
Approved by (AICTE, New Delhi; Permanently Affiliated to JNTU KAKINADA)
Accredited by NAAC with an ‘A’ Grade
NH – 16, Chowdavaram, Guntur – 522019 (A.P)
(A. Y: 2024-25)
CERTIFICATE

This is to certify that the training work entitled “ Android Developer Virtual
Internship-2024” is a Bonafide work carried out in the Fifth Semester by PUPPALLA RAMA

KRISHNA (228X1A05F7) in partial fulfillment for the award of B.Tech in Computer Science and

Engineering from KALLAM HARANADHAREDDY INSTITUTE OF TECHNOLOGY,


Chowdavaram during the year 2024-2025.

Mr. G Manthru Naik Dr. V Rajiv Jetson


(Co-Ordinator) (Head of the Department)

EXTERNAL EXAMINER
PROGRAM BOOK FOR SUMMER INTERNSHIP-2

Name of the Student: PUPPALLA R A M A KRISHNA

Name of the College: KALLAM HARANADHAREDDY INSTITUTE OF TECHNOLOGY

Registration Number: 228X1A05F7

Period of Internship: 10 WEEKS FROM JULY 2024 TO SEPTEMBER 2024

Name & Address of the Internship Organization: EduSkills


STUDENT’S DECLARATION

I PUPPALLA RAMA KRISHNA a student of B.Tech Program, Reg. No. 228X1A05F7

of the Department of CSE, Kallam Haranadhareddy Institute of Technology do hereby declare that I have
completed the mandatory internship virtually from JULY 2024 TO SEPTEMBER 2024 In Android
Developer Virtual Internship under the Faculty Guideship of Mr G Manthru Naik M. Tech (Ph.D)
Associate Professor, Department of CSE Kallam Haranadhareddy Institute of Technology.

(Signature and Date)


INTERNSHIP COMPLETION CERTIFICATE
ACKNOWLEDGEMENT

We profoundly express our gratitude and respect towards our honorable chairman Sri Kallam
Mohan Reddy Chairman, KHIT for his precious support in the college.

We sincerely express our deepest gratitude to dynamic director of our institute Dr. M. Uma Shankara
Reddy M.Sc., Ph.D., Director, KHIT for his valuable guidance.

We owe our sincere gratitude to Dr. B. S. B. Reddy M.Tech, Ph.D., Principal, KHIT for
providing a great support and for giving us the opportunity of doing the Internship.

Our deepest thanks to Dr. V Rajiv Jetson M.Tech, Ph.D., Head of the Department, CSE -KHIT
for inspiring us all the way and for arranging all the facilities and resources needed for our internship.

It is with immense pleasure that we would like to express our indebted gratitude to our
internship coordinator Mr G Manthru Naik M.Tech,(Ph.D) Associate Professor, Department of
CSE,KHIT who has guided us a lot and encouraged us in every step of the intern project work, his
valuable moral support and guidance throughout the Intern project helped us to a greater extent.

I would also like to thank the Directors of India Edu Program for giving me the opportunity to do an
internship within your organization. I would like to thank our internship mentor Dr. Satya Rajan
Biswal, Edu Skills consultant and our mentors who has guided us a lot and encouraged us in every
step of the intern project work.

Finally, we would like to thank our parents and friends for being supportive all the time, and we are
very much obliged to them.
CONTENTS

SI.NO. TITLE Page No.

1 CHAPTER 1: EXECUTIVE SUMMARY 01

2 CHAPTER 2: OVERVIEW OF THE ORGANIZATION 02-06

3 CHAPTER 3: INTERNSHIP PART 07-10

4 CHAPTER 4: ACTIVITY LOG & REPORT 11-25

5 CHAPTER 5: OUTCOMES DESCRIPTION 26

6 CHAPTER 6: CONCLUSION 27

7 SELF-EVALUATION 28

8 OUTPUT SCREENS 29-30


LIST OF TABLES

Table No. Table Description Page No.

1 ACTIVITY LOG FOR THE FIRST WEEK 11

2 ACTIVITY LOG FOR THE SECOND WEEK 12

3 ACTIVITY LOG FOR THE THIRD WEEK 13

4 ACTIVITY LOG FOR THE FOURTH WEEK 14

5 ACTIVITY LOG FOR THE FIFTH WEEK 15

6 ACTIVITY LOG FOR THE SIXTH WEEK 16

7 ACTIVITY LOG FOR THE SEVENTH WEEK 17

8 ACTIVITY LOG FOR THE EIGHTH WEEK 18

9 ACTIVITY LOG FOR THE NINE WEEK 19

10 ACTIVITY LOG FOR THE TEN WEEK 20


LIST OF FIGURES

Figure No. FIGURE DESCRIPTION Page No.


1 INTRODUCTION TO SAL 9

2 GET DATA FROM THE INTERNET 9

3 ARCHITECTURE COMPONENTS 10

4 SET UP ANDROID STUDIO 10

5 INTERACTING WITH UI AND STATE 10

6 LOAD AND DISPLAY IMAGES FROM THE INTERNET 10


CHAPTER 1: EXECUTIVE SUMMARY

Learning Objectives:
1. Understand Android fundamentals (architecture, components, lifecycle).
2. Learn java or Kotlin programming language.
3. Learn how to make Android apps usable by people with accessibility needs.
4. Learn how to deploy applications on Goole play.
5. Familiarize yourself with Android Studio and Gradle.

Learning Outcomes:
1. 30 Hrs of experiential learning.
2. Experience android application development in Kotlin.
3. Understand App development life cycle.
4. Receive App development life cycle.
5. Become google recognized educator.

This report is about my 10 weeks virtual internship program with Eduskills In this comprehensive report,
I have discussed about every major aspect of the company which I observed and perceived during my virtual
internship program.

During my virtual internship program, I have learned and mainly worked on Introduction to SQL, Process
Architecture Components and Kotlin Fundamentals. All the details have been discussed in detail. All the
policies and procedures of the company have been discussed in detail.

For most Android developers, we recommend the hybrid format. It allows you to showcase your technical
skills upfront. You can immediately highlight your proficiency in Android Studio, APIs, Java, Kotlin, and any
other tools or languages you’re good with. It also helps you put a spotlight on specific projects or achievements
that might get buried in a simple chronological listing. For example, if you developed an app that gained
significant traction or featured new integrations, you can highlight it in the skills section.

1
CHAPTER 2: OVERVIEW OF THE ORGANIZATION

A. Introduction of the Organization

What Is Android Developer?

An Android Developer is a software professional who specializes in designing, building, and maintaining
applications for devices running the Android operating system. These developers use programming
languages like Java or Kotlin and tools like Android Studio to create mobile apps, ensuring they function
smoothly across a wide range of Android devices. They are responsible for developing user-friendly
interfaces, integrating apps with external services, and ensuring optimal performance. Android developers
play a key role in bringing mobile app ideas to life, from concept to deployment on the Google Play Store.

B. Key Responsibilities of an Android Developer

1. Designing and Building Applications: Developers are responsible for designing, coding, and deploying
Android apps, ensuring they work on various Android devices with different screen sizes and hardware
specifications.
2. UI/UX Design: They collaborate with designers to create user interfaces that are intuitive and functional,
adhering to Android's design guidelines.
3. Testing and Debugging: Android developers test applications to identify bugs and issues. They work
with debugging tools to ensure smooth performance.
4. Writing Clean Code: Using Java, Kotlin, or sometimes C++, Android developers write efficient and
scalable code following best practices.
5. Working with APIs: They integrate apps with external services, APIs, and databases to fetch and display
real-time data.
6. Optimizing Performance: An Android developer must optimize apps for performance, security, and
battery life, as mobile devices have limited resources.
7. App Store Deployment: They manage the process of submitting apps to the Google Play Store, including
preparing necessary assets (e.g., descriptions, icons, screenshots).
8. Maintenance and Updates: After launch, they provide updates, fix bugs, and enhance functionality as
user needs evolve

2
C. Required Skills for an Android Developer:

1. Programming Languages:
 Java: The traditional programming language for Android development.
 Kotlin: The modern, preferred language for Android development (officially supported by Google).
2. Android SDK:
 Knowledge of the Android Software Development Kit (SDK), which provides the tools and libraries needed to
build Android.
3. Android Studio:
 Proficiency in Android Studio, the official integrated development environment (IDE) for Android app
development.
4. XML:
 Used for designing app layouts and UI components. Understanding of XML for defining user interface elements is
crucial.
5. APIs and Web Services:
 Ability to integrate with RESTful APIs and web services to fetch data and interact with external systems.
6. Databases:
 Familiarity with databases like SQLite, Firebase, or other NoSQL databases to store and manage data in apps.
7. Version Control:
 Experience with Git or other version control systems to manage code changes and collaborate with teams.
8. Material Design Guidelines:
 Understanding of Google’s Material Design principles to create apps with a consistent and visually appealing user
experience.
9. Testing and Debugging:
 Skills in using debugging tools and testing frameworks like JUnit or Espresso to ensure app reliability and
performance.
10. Optimization:
 Ability to optimize apps for better performance, low memory usage, and reduced battery consumption.
11. Problem-Solving:
 Strong analytical and problem-solving skills to address challenges during development, from fixing bugs to
handling app crashes.
12. Mobile App Architecture:
 Knowledge of different app architectures such as MVC (Model-View-Controller), MVP (Model-View-
Presenter), and MVVM (Model-View-ViewModel) to create scalable and maintainable code.
13. User Interface (UI) and User Experience (UX) Design:
 Collaboration with UI/UX designers to ensure the app is intuitive, user-friendly, and visually engaging.
14. Continuous Learning:
 Willingness to stay updated with new Android technologies, tools, and frameworks as the Android ecosystem
evolves rapidly.
3
D. Android Architecture

Android architecture contains a different number of components to support any Android device’s needs.
Android software contains an open-source Linux Kernel having a collection of a number of C/C++
libraries which are exposed through application framework services. Among all the components Linux
Kernel provides the main functionality of operating system functions to smartphones and Dalvik Virtual
Machine (DVM) provide a platform for running an Android application.

Components of Android Architecture


The main components of Android architecture are the following:-
 Applications
 Application Framework
 Android Runtime
 Platform Libraries
 Linux Kernel

Pictorial representation of Android architecture with several main components and their sub-
components

1. Applications
Applications is the top layer of android architecture. The pre-installed applications like home,
contacts, camera, gallery etc and third party applications downloaded from the play store like chat
applications, games etc. will be installed on this layer only. It runs within the Android run time
with the help of the classes and services provided by the application framework.

2. Application framework
Application Framework provides several important classes which are used to create an Android
application. It provides a generic abstraction for hardware access and also helps in managing the
user interface with application resources. Generally, it provides the services with the help of which
we can create a particular class and make that class helpful for the Applications creation. It
includes different types of services activity manager, notification manager, view system, package
4
manager etc. which are helpful for the development of our application according to the
prerequisite.

3. Application runtime
Android Runtime environment is one of the most important part of Android. It contains components like core
libraries and the Dalvik virtual machine(DVM). Mainly, it provides the base for the application framework and
powers our application with the help of the core libraries. Like Java Virtual Machine (JVM), Dalvik Virtual
Machine (DVM) is a register-based virtual machine and specially designed and optimized for android to
ensure that a device can run multiple instances efficiently. It depends on the layer Linux kernel for threading
and low-level memory management. The core libraries enable us to implement android applications using the
standard JAVA or Kotlin programming languages.

4. Platform libraries
The Platform Libraries includes various C/C++ core libraries and Java based libraries such as Media, Graphics,
Surface Manager, OpenGL etc. to provide a support for android development.
 Media library provides support to play and record an audio and video formats.
 Surface manager responsible for managing access to the display subsystem.
 SGL and OpenGL both cross-language, cross-platform application program interface (API) are used for
2D and 3D computer graphics.
 SQLite provides database support and FreeType provides font support.
 Web-Kit This open source web browser engine provides all the functionality to display web content and to
5
simplify page loading.
 SSL (Secure Sockets Layer) is security technology to establish an encrypted link between a web server
and a web browser.

5. Linux Kernel
Linux Kernel is heart of the android architecture. It manages all the available drivers such as display drivers,
camera drivers, Bluetooth drivers, audio drivers, memory drivers, etc. which are required during the runtime.
The Linux Kernel will provide an abstraction layer between the device hardware and the other components of
android architecture. It is responsible for management of memory, power, devices etc. The features of Linux
kernel are:
 Security: The Linux kernel handles the security between the application and the system.
 Memory Management: It efficiently handles the memory management thereby providing the freedom to
develop our apps.
 Process Management: It manages the process well, allocates resources to processes whenever they need
them.
 Network Stack: It effectively handles the network communication.
 Driver Model: It ensures that the application works properly on the device and hardware manufacturers
responsible for building their drivers into the Linux build.

6
CHAPTER 3: INTERNSHIP PART

Google Android Developers refers to the official development community and resources provided by Google for
creating Android applications. This platform is designed to support developers with tools, documentation, training,
and guidance to help them build, test, and distribute Android apps efficiently.

The EduSkills Android Developer Program, in partnership with AICTE and supported by Google for Developers, is
designed to equip students with skills in Android app development. This virtual internship targets creating an
industry-ready workforce by offering a structured learning experience on mobile app development, one of the
fastest-growing markets in India. Students from engineering, polytechnic, and related fields can participate.

The program spans over two months and includes both coursework and project work. During the internship,
participants will have access to online courses, assessments, and real-world projects, mentored by industry experts.
Successful completion grants students certificates and badges, along with career advancement opportunities.

Badges:
Badges for Android developers are digital credentials that signify a developer’s skills and achievements in
Android development. These badges are often issued after the completion of courses, certifications, or
internships, and they help in validating a developer's expertise to employers or peers.

1. Introduction to SQL:

SQL (Structured Query Language) is a standardized programming language used for managing and
manipulating relational databases. It allows users to query, insert, update, and delete data within a database, as well
as manage database structures like tables, indexes, and relationships between tables.
1. Data Manipulation: SQL allows users to perform operations on data within a database, including querying
(SELECT), inserting (INSERT), updating (UPDATE), and deleting (DELETE) records. This enables efficient data
management and retrieval.
2. Database Structure: SQL is designed to work with relational databases, organizing data into tables with rows
and columns. It supports relationships between tables through foreign keys, ensuring data integrity and consistency.
3. Advanced Features: SQL includes advanced functionalities such as joins for combining data from multiple
tables, stored procedures for reusable code, and indexes for optimizing query performance, making it a powerful
tool for data analysis and management.

2. Get data from the internet:


Most Android apps in the market connect to the internet to perform network operations, such as retrieving
emails, messages, or other information from a backend server. Gmail, YouTube, and Google Photos are
example apps that connect to the internet to display the user data.

7
Prerequisites:
 Basic knowledge of how to create Composable functions.
 Basic knowledge of how to use Android architecture components ViewModel.
 Basic knowledge of how to use coroutines for long-running tasks.
 Basic knowledge of how to add dependencies in build.gradle.kts.

3. Architecture Components:
Android Architecture Components are a set of libraries that help developers design robust, testable, and
maintainable applications. They were introduced to simplify common development tasks and improve
app performance. Here are the key components:

Benefits of Using Architecture Components:


 Separation of Concerns: Promotes a clear separation between UI and business logic, making the app
easier to manage.
 Lifecycle Awareness: Automatically handles UI updates based on lifecycle changes, reducing the risk of
memory leaks.

 Testability: Facilitates easier unit testing due to the modular nature of components.

4. Set up Android Studio

To set up Android Studio, you can download the software and install it on your computer. Here are some
things to consider before you begin:
 System requirements
Android Studio requires the following to run:
 64-bit Microsoft Windows 8/10/11
 x86_64 CPU architecture
 8 GB of RAM or more
 8 GB of available disk space
 1280 x 800 minimum screen resolution

5. Interacting with UI and state


Interacting with UI and managing state in Android applications is essential for creating
responsive and dynamic user experiences. Here’s an overview of the key concepts and best
practices for handling UI interactions and state management:

8
Best Practices:
 Separation of Concerns: Keep UI logic separate from business logic. Use ViewModels to handle data
and LiveData to expose it to the UI.
 Lifecycle Awareness: Always consider the lifecycle of your components. Use LiveData and ViewModel
to prevent memory leaks and crashes.
 Avoiding UI Logic in Activity/Fragment: Minimize direct UI manipulation in Activities and
Fragments; rely on data binding or Compose to handle updates.
 Testing State Management: Use unit tests to ensure that state management logic works as expected and
that UI components react correctly to state changes.

6. Load and display images from the internet

Loading and displaying images from the internet in an Android application can be efficiently accomplished
using libraries designed for this purpose. Here are the key steps and recommended libraries:
Tips for Optimization
 Caching: Use built-in caching features to reduce network usage and improve performance.
 Error Handling: Implement error handling to manage scenarios where the image fails to load.
 Image Transformations: Leverage image transformation capabilities (e.g., resizing, cropping) to
optimize images for different screen sizes.

Fig1: Introduction to SQL Fig2 : Get data from the internet

9
Fig3: Architecture Components Fig4: Set up Android Studio

Fig5: Interacting with UI and state Fig6: Load and display images from the internet

10
CHAPTER-4: ACTIVITY LOG AND REPORT

ACTIVITY LOG FOR THE FIRST WEEK

DAY
BRIEF DESCRIPTION OF THE
& LEARNING OUTCOME
DAILY ACTIVITY
DATE

Day – 1
Module: Is a standardized programming language
Monday
Introduction to SQL used for managing and manipulating
(15/7/24)
relational databases

Day – 2
A SQL statement—sometimes called a
Module:
Tuesday query—is used to read or manipulate a
SQL select
(16/7/24) database.

Day – 3
SQL operates on databases, which are
Module:
Wednesday structured collections of data. These
Data Base
(17/7/24) databases typically consist of multiple
tables.

Day – 4
SQL is divided into various types of
Thursday Module:
commands that allow users to manage and
(18/7/24) SQL Commands
manipulate data.

Day – 5
A table is a collection of related data
Module:
Friday organized in rows and columns. Each
SQL Tables
(19/7/24) column in a table represents a field
(attribute), and each row represents.
Day – 6
The SQL Understanding its help to use the
Quiz:
modules.
Saturday SQL
(20/7/24)

11
ACTIVITY LOG FOR THE SECOND WEEK

DAY
BRIEF DESCRIPTION OF THE
& LEARNING OUTCOME
DAILY ACTIVITY
DATE

Day – 1
It seems like you might be asking
Monday Module:
for information on how to retrieve
(22/7/24) Get data from the internet
or access data from the internet.

Day - 2 Web services are online services


Module:
that allow different applications to
Tuesday Web services
(23/7/24) communicate with each other over
the internet.

Day – 3 The internet is a vast network of


Module:
interconnected computers and
Wednesday
Internet servers that communicate with
(24/7/24)
each other using standardized
protocols.

Day – 4
Module: The requested data is typically
Thursday
Json formatted in one of the common
(25/7/24)
data formats like XML or JSON.

Unit testing code that uses


Day – 5
Module: coroutines requires some extra

Friday Unit Test attention, as their execution can be

(26/7/24) asynchronous and multiple threads.

Day – 6
QUIZ: The Understanding its help to use
Saturday
Get data from the internet the Quiz.
(27/7/24)

12
ACTIVITY LOG FOR THE THIRD WEEK

DAY
BRIEF DESCRIPTION OF THE DAILY
& LEARNING OUTCOME
ACTIVITY
DATE

The architecture of the internet


Day – 1
consists of several key components
Monday Module:
that work together to facilitate
(29/7/24) Architecture Components
communication and data exchange.

Day - 2
It encompasses everything the user
Tuesday Module: sees and interacts with, such as
(30/7/24) Ui Layer buttons, menus, forms, and layouts.

Day – 3 A well-designed UI enhances user


Module: experience by making
Wednesday
User Experience applications more intuitive and
(31/7/24)
easier to navigate.

Day – 4 Understand how to choose the


Module:
right picklist field for the job,
Thursday
Engagement manage picklists, and share
(1/8/24)
picklist values.

The UI reflects the brand’s identity


Day – 5
Module: and values, helping to create a
Friday Branding cohesive and recognizable
(2/8/24)
experience.

Day – 6
Saturday
QUIZ: The Understanding its help to use
(3/8/24)
Architecture Components the Quiz.

13
ACTIVITY LOG FOR THE FOURTH WEEK

DAY
BRIEF DESCRIPTION OF THE DAILY
& LEARNING OUTCOME
ACTIVITY
DATE

Day – 1 Interacting with the UI and


Module: managing state is a fundamental
Monday
Interacting with UI and state aspect of Android development.
(5/8/24)

Day - 2 State management involves


Module: keeping track of the data and UI
Tuesday
State Management states in your application. Here are
(6/8/24)
common approaches.

Day – 3
Understanding the lifecycle of
Wednesday Module:
activities and fragments is crucial
Fragment and Activity Lifecycle
(7/8/24) for managing state

Day – 4
You might need to persist state
Thursday Module:
even when the app is closed. Here
(8/8/24) Persisting State are common approaches:

Day – 5
Module: When a configuration change
Friday Handling Configuration Changes occurs (like rotating the device),
(9/8/24) the activity is recreated.

Day – 6
QUIZ: The Understanding its help to use
Saturday
Interacting with UI and state the Quiz.
(10/8/24)

14
ACTIVITY LOG FOR THE FIFTH WEEK

DAY
BRIEF DESCRIPTION OF THE
& LEARNING OUTCOME
DAILY ACTIVITY
DATE

Day – 1 Setting up Android Studio involves


Module: several steps to get the development
Monday environment ready for Android app
Set up Android Studio development. Here’s a step-by-step
(12/8/24) guide

Day - 2
Module: Great! Android development is a
Tuesday
Android powerful and exciting field
(13/8/24)

Day – 3
Module: Modular sections of an activity,
Wednesday
Fragments allowing for more flexible UI designs.
(14/8/24)

Day – 4
Module: The structure that defines how UI
Thursday

Layouts elements are arranged on the screen.


(15/8/24) Android uses XML to define layouts.

Day – 5 Various assets like strings, images,


Module:
and layouts used in the application.
Friday
Resources They are organized in the res folder.
(16/8/24)

Day – 6
QUIZ: The Understanding its help to use
Saturday
the Quiz.
(17/8/24) Apex Testing

15
ACTIVITY LOG FOR THE SIXTH WEEK

DAY
BRIEF DESCRIPTION OF THE DAILY
& LEARNING OUTCOME
ACTIVITY
DATE

Day – 1 Views" are replaced by a more


Module:
modern, declarative paradigm called
Monday
Views in Compose Composables
(19/8/24)

Day – 2 In Compose, UI is rebuilt


Module:
Tuesday automatically when the state
State Management
(20/8/24) changes.

Day – 3
Module: When state changes, Compose
Wednesday will "recompose" the relevant
Recomposition
(21/8/24) UI, meaning it only

Compose eliminates the need for


Day – 4 Module:
XML layouts, instead, UI is defined
Thursday Declarative UI
in Kotlin code.
(22/8/24)

Any UI component can be made


Day – 4
Module: reusable by turning it into a
Friday composable function.
Stateless UI
(23/8/24)

Day – 5
The Understanding its help to use the
Saturday QUIZ:
Quiz.
(24/8/24)
Lightning Web Components Basics

16
ACTIVITY LOG FOR THE SEVENTH WEEK

DAY
BRIEF DESCRIPTION OF THE DAILY
& LEARNING OUTCOME
ACTIVITY
DATE

Day – 1 Module: Kotlin is a modern, statically typed


Monday Kotlin Fundamentals
programming language designed by
(26/8/24) JetBrains.

Day - 2 Kotlin provides two types of


Module: variables: val (immutable) and
var (mutable)
Tuesday
Variables
(27/8/24)
Kotlin allows embedding
Day – 3
Module: variables inside strings with for
Wednesday $, making it easier to format
String Interpolation
(28/8/24) strings

Day – 4 Functions in Kotlin are first-


Module:
class citizens. You can
Thursday
Functions declare functions using the
(29/8/24)
fun keyword.

Day – 5
Module:
Kotlin supports standard conditional
Friday constructs like if, else, and when.
Conditional Statements
(30/8/24)

Day – 6 The Understanding its help to use


QUIZ: the Quiz.
Saturday

(31/8/24) Approval Process Specialist

17
ACTIVITY LOG FOR THE EIGHTH WEEK

DAY
BRIEF DESCRIPTION OF THE
& LEARNING OUTCOME
DAILY ACTIVITY
DATE

Day – 1 Let's dive deeper into some Kotlin


Module:
Monday fundamentals that build on what we've
More Kotlin fundamentals
(2/9/24) covered so far.

Day - 2 Kotlin features type inference, which


Module: means you don’t always need to
Tuesday
Type Inference and Explicit Types explicitly declare
(3/9/24)

Day – 3 Kotlin supports functions with multiple


Module:
Wednesday parameters, default parameters, and
Functions named arguments.
(4/9/24)

Day – 4 Kotlin’s if statement can be used as an


Module:
Thursday expression that returns a value.
Conditionals
(4/9/24)

Kotlin supports both for loops and while


Day – 5
Module: loops, commonly used for iteration over
Friday ranges, arrays, and collections.
Loops
(5/9/24)

Day – 6 QUIZ: The Understanding its help to use the

Saturday Quiz.
More Kotlin fundamentals
(6/9/24)

18
ACTIVITY LOG FOR THE NINE WEEK

DAY
BRIEF DESCRIPTION OF THE
& LEARNING OUTCOME
DAILY ACTIVITY
DATE

Day – 1 Kotlin is a modern, statically-typed


Module:
Monday programming language that runs on the
Introduction to programming in Kotlin
(9/9/24) Java Virtual Machine (JVM) and can
also be compiled to JavaScript or native

Day - 2
Module: In Kotlin, variables can be declared using
val (immutable) or var (mutable).
Tuesday
Variables and Data Types
(10/9/24)

Day – 3 Kotlin provides standard control flow


Module:
Wednesday structures, including if-else, when
Control Flow (similar to switch in other languages),
(11/9/24)
and loops.

Day – 4 Kotlin functions are declared with the


Module:
Thursday fun keyword
Functions
(12/9/24)

Kotlin provides built-in null safety,


Day – 5
Module: which prevents the dreaded Null Pointer
Friday Exception.
Null Safety
(13/9/24)

Day – 6 QUIZ: The Understanding its help to use the

Saturday Quiz.
Flow Elements and Resources Specialist
(14/9/24)

19
ACTIVITY LOG FOR THE TEN WEEK

DAY
BRIEF DESCRIPTION OF THE
& LEARNING OUTCOME
DAILY ACTIVITY
DATE

Day – 1 Master the use of Flow elements and


Module:
Monday resources to build effective flows in
Flow Elements and Resources Specialist
(16/9/24) Salesforce

Day - 2
Module: Integrate flows with other Salesforce
Tuesday
Flow Elements and Resources Specialist features, such as Apex and Visualforce
(17/9/24)

Day – 3 Design, build, and deploy Screen Flows


Module:
Wednesday to create user interfaces for Salesforce
Screen Flow Specialist applications
(18/9/24)

Day – 4 Use Screen Flow components and


Module:
Thursday attributes to create rich and interactive
Screen Flow Specialist user interfaces
(19/9/24)

Day – 5 Automate business processes using Flow,


Module:
Friday Screen Flows, and Approval Processes
Process Automation Specialist
(20/9/24)

Day – 6 QUIZ: The Understanding its help to use the

Saturday Quiz.
Developer Superset
(21/9/24)

20
WEEKLY REPORT
WEEK – 1 (From 15-07-2024 to Dt 20-07-2024)

Objective of the Activity Done: S tr uct ur e d Que ry Langua ge ( SQL) i s a s ta nda rd


pr og ra m m i ng l anguag e used for m a na gi ng and ma ni pul at in g re lational da ta base s

Detailed Report:

SQL is a powerful language for managing and manipulating data in relational databases.
Mastering SQL is essential for backend development, data analysis, and many other fields.
With practice and experience, you'll be able to write complex queries and effectively manage your
data.

WEEKLY REPORT
WEEK – 2 (From Dt 22-07-2024 to Dt 27-07-2024)

Objective of the Activity Done: Ge t t i n g d a t a f r o m t he i nt e r ne t i n A n d ro id a p p l i c a t i o n s


t y p i c a l l y i n v o lv e s m a ki ng n e t w or k re qu e s t s t o A P I s ( A p pl i c a t i o n Pro g ra m m in g
I n t e r f ac e s ) .

Using Retrofit in combination with Coroutines is a powerful way to fetch data from the internet in Android
apps.
This setup simplifies asynchronous programming and keeps your UI responsive while handling network
requests.
Let me know if you need more details or assistance with a specific part!

21
WEEKLY REPORT
WEEK – 3 (From Dt 29-07-2023 to Dt 03-08-2024)

Objective of the Activity Done: Here’s an overview of key Android Architecture Components and their
roles in application development

Android Architecture Components provide a solid foundation for developing robust and maintainable
applications.
By separating concerns (like UI, data handling, and navigation), using lifecycle-aware components, and
following best practices like dependency injection and testing, you can build high-quality Android apps more
efficiently.

WEEKLY REPORT
WEEK – 4 (From Dt 05-08-2024 to Dt 10-08-2024)

Objective of the Activity Done: In Android development with Jetpack Compose, interacting with UI and
managing state is central to building dynamic, interactive apps

State Management: Use remember and mutableStateOf to handle UI state. For persistence, use remember
Saveable.
State Hoisting: Pass state and events up and down composables for better control.

Handling Input: UI elements like TextField, Button, and LazyColumn work seamlessly with state to handle
user input and display dynamic content.

Side Effects: Use LaunchedEffect for side effects like loading data, and DisposableEffect for cleanup tasks.

ViewModel: Use ViewModel for complex state management that survives configuration changes.

22
WEEKLY REPORT
WEEK – 5 (From Dt 12-08-2024 to Dt 17-08-2024)

Objective of the Activity Done: If you’ re new to Android Studio, this guide will walk you
through the installation, configuration, and the first project setup.

Project View: This displays the files in your project.


Code Editor: Write and modify your Kotlin (or Java) code here.
Logcat: View logs and debug your application.
Emulator: Runs your app in a simulated environment.

WEEKLY REPORT
WEEK – 6 (From Dt 19-08-2024 to Dt 24-08-2024)

Objective of the Activity Done: I n J e t p a c k C o m p o s e , v i e w s a r e r e p l a c e d b y c o m p o s a b l e s ,


which are functions that define the UI.

In Jetpack Compose, every UI component is a composable function. Composables are annotated with
@Composable.
Text: A composable that displays text on the screen.
Column: A layout composable that arranges its children vertically.
One of the key concepts in Jetpack Compose is state. UI in Compose automatically updates when the
underlying state changes.

23
WEEKLY REPORT
WEEK – 7 (From Dt 26-08-2024 to Dt 31-08-2024)

Objective of the Activity Done: Let' s cover the e s s e n t i a l b u i l d i n g blocks of Kotlin, focusing
on ba sic syntax, key features, and c ore conc epts that will help you get comforta ble
with the language.

Immutable (val): Once assigned, the value cannot be changed.


Mutable (var): The value can be modified.
Kotlin supports for, while, and do-while loops.
Functions are declared using the fun keyword. Functions can return values and have parameters.
Kotlin eliminates the null reference problem by distinguishing between nullable and non-nullable
types.

WEEKLY REPORT
WEEK – 8 (From Dt 02-09-2024 to Dt 06-09-2024)

Objective of the Activity Done: Let's continue with more Kotlin fundamentals, covering some additional
topics to deepen your understanding of the language.

Kotlin supports four visibility modifiers:


 public (default): Visible everywhere.
 private: Visible only inside the file or class where it is declared.
 protected: Visible in the class and its subclasses.
 internal: Visible within the same module.

24
WEEKLY REPORT
WEEK – 9 (From Dt 09-09-2024 to Dt 14-09-2024)

Objective of the Activity Done: Kotlin i s a m ode rn, statically - typed program min g lang uage
develope d by Jet Brains

Interoperability: Kotlin works seamlessly with Java, allowing you to call Java code from Kotlin
and vice versa.
Conciseness: Kotlin reduces boilerplate code, making it more readable.
Null Safety: Kotlin helps prevent NullPointerException errors by enforcing null safety.
Tooling Support: Kotlin is supported by IntelliJ IDEA and Android Studio, offering powerful
development tools.
Functional Programming: Kotlin supports higher-order functions, lambda expressions, and
other functional programming features.

WEEKLY REPORT
WEEK – 10 (From Dt 16-09-2024 to Dt 21-09-2024)

Objective of the Activity Done: Master Developer Superset refers to a programming language framework
,or set tools.

1. Backward Compatibility: A superset retains full compatibility with the base language or
system. You can write code in the original system, and it will still work within the superset.
2. Additional Features: Supersets provide more advanced features or syntactic sugar to
improve the development experience, such as type checking, better tooling support, or new
language constructs.
3. Gradual Adoption: Since supersets are compatible with their base, developers can adopt
new features gradually without needing to rewrite existing codebases.
4. Better Tooling: Supersets often come with better tooling, such as more advanced compilers
or debuggers, which enhance productivity.

25
CHAPTER 5: OUTCOMES DESCRIPTION

1. App Development Expertise

Outcome: The developer will gain proficiency in designing and building robust Android applications from
scratch.
Description: Android developers will be able to create fully functional apps using programming languages
like Java or Kotlin, leveraging Android SDK tools. This includes the ability to design user interfaces,
integrate APIs, manage data, and optimize performance.

2. Proficient in Android SDK Tools


Outcome: Mastery of Android Studio and SDK.
Description: Android developers will be comfortable using Android Studio for coding, debugging, and
testing their applications. They will be able to utilize SDK tools effectively, such as emulators for testing
on different device configurations and monitors for debugging app performance.

3. UI/UX Skills Based on Material Design


Outcome: Ability to design intuitive and visually appealing user interfaces.
Description: Developers will understand and apply Material Design guidelines to create user interfaces
that are consistent, user-friendly, and visually aligned with modern design standards. They will be skilled
in designing layouts that work seamlessly across different screen sizes and orientations.

4. App Architecture and Best Practices


Outcome: Proficiency in app architecture patterns.
Description: Developers will be able to implement industry-standard architectural patterns like MVVM
(Model-View-ViewModel), ensuring clean separation of concerns and maintaining scalability and
flexibility in the code. They will follow best practices, including dependency injection and modularization.

5. Data Handling and Networking


Outcome: Competency in handling data and making network calls.
Description: Android developers will be adept at integrating backend services, using APIs to
communicate with servers, and parsing data formats like JSON. They will be able to handle local data
persistence using Room Database or SQLite, and manage remote data interactions efficiently.

6. Testing and Quality Assurance


Outcome: Ability to write and execute tests for app quality assurance.
Description: Developers will be able to write unit tests and UI tests to ensure the app's functionality and
reliability. Familiarity with testing frameworks like JUnit, Espresso, and Mockito will enable developers
to maintain high-quality, bug-free applications.

7. Collaboration and Version Control


Outcome: Proficiency in working with version control systems.
Description: Developers will be proficient in using Git or other version control tools to manage code
versions, collaborate with teams, and track changes. This is essential for working in teams, managing
projects, and ensuring code stability during development.

8. Adaptability to New Technologies


Outcome: Ability to learn and integrate new Android technologies and features.
Description: Developers will be adaptable and open to learning new Android features, APIs, and tools as
the platform evolves. This adaptability ensures they can stay current with industry trends and continuously
improve their skill set.

26
CHAPTER 6: CONCLUSION

Becoming an Android developer offers a rewarding career path, combining creativity with technical
expertise. Here’s a conclusion summarizing the journey:
An Android developer leverages their knowledge of Java or Kotlin, alongside Android SDK and
development tools like Android Studio, to create mobile applications. The role requires a blend of
technical skills, problem-solving abilities, and a passion for user-centric design. Android developers are
responsible for building responsive, secure, and efficient apps that enhance user experiences. Additionally,
continuous learning, adapting to platform updates, and collaborating with teams are key components of
success in the ever-evolving Android ecosystem.

It's no wonder that, the app development process is exhausting, and overwhelming also. There have
been lots of steps and processes to follow, and many decision making mechanism are involved as well.
But, we have tried our best to cover multiple scenarios and possibilities you might encounter.
There are still challenges that could be out of the box, but this guidebook will hopefully help you create
the basic framework for the process as well as the application

27
Student Self-Evaluation for the Short-Term Internship

Student Name: PUPPALLA RAMA KRISHNA Registration No: 228X1A05F7

Term of Internship: 10 Weeks From July 2024 to September 2024

Date of Evaluation:

Organization Name & Address: EduSkills

Name and Address of the Supervisor: Mr G. Manthru Naik M.Tech(ph.D)

Please rate your performance in the following areas:

Rating Scale: 1 is lowest and 5 is highest rank

1) Oral communication 1 2 3 4 5

2) Written communication 1 2 3 4 5

3) Proactiveness 1 2 3 4 5

4) Interaction ability with community 1 2 3 4 5

5) Positive Attitude 1 2 3 4 5

6) Self-confidence 1 2 3 4 5

7) Ability to learn 1 2 3 4 5

8) Work Plan and organization 1 2 3 4 5

9) Professionalism 1 2 3 4 5

10) Creativity 1 2 3 4 5

11) Quality of work done 1 2 3 4 5

12) Time Management 1 2 3 4 5

13) Understanding the Community 1 2 3 4 5

14) Achievement of Desired Outcomes 1 2 3 4 5

15) OVERALL PERFORMANCE 1 2 3 4 5

Date: Signature of the Student

28
OUTPUT SCREENS

29
30
31
1
31
2
31
3
31
4

You might also like