0% found this document useful (0 votes)
100 views

Google Android Report

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)
100 views

Google Android Report

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/ 50

Accredited by NBA & NAAC with "A" Grade Recognised by UGC under section 2(f) & 12(B)

Approved byAICTE -New Delhi Permanently Affiliated to JNTUK,SBTET Ranked as "A" Grade by

Govnt.o

Internship
Report On

ANDROID DEVELOPER

By

KHANDAVALLI HARSHITHA
(21K61A0479)
Bachelor of Engineering
In

Electronics and Communication Engineering

AICTE-EDUSKILLS supported by

MICROCHIP TECHNOLOGY

#806, DLF Cyber City, Technology Corridor, Bhubaneswar,

Odisha751024,eduskills foundation.org, Microchip

Technology-Chandler, Arizona, USA


Internship Report on ANDROID Developer
DECLARATION

I KHANDAVALLI HARSHITHA , REG No.21K61A0479, student of


Electronics and communications engineering at Sasi Institute of

Technology& Engineering Tadepalligudem hereby declare that the

summer Training Report entitled ‟ ANDROID Developer “ is an

authentic record of my own work as requirements ofIndustrial

Training during the period from 22/05/23to 30/10/23.I obtained

the knowledge of what is android development, whatis firm ware.

Through the selfless efforts of the Employee arranges to me bythe

Organization . A Training reports was made on the same and the

suggestions are by the faculty were duly in corporate

KHANDAVALLI HARSHITHA

21K61A0479
SIGNATURE OF THE HOD SIGNATURE OF THE CLASS INCHARGE
Abstract

Android software development is the process by which applications


are created for devices running the Android operating system. Google
states that "Android apps can be written using Kotlin, Java, and C++
languages" using the Android software development kit (SDK), while
using other languages is also possible. All non-Java virtual machine
(JVM) languages, such as Go, JavaScript, C, C++ or assembly, need
the help of JVM language code, that may be supplied by tools, likely
with restricted API support. Some programming languages and tools
allow cross-platform app support (i.e. for both Android and iOS). Third
party tools, development environments, and language support have
also continuedto evolve and expand since the initial SDK was released
in 2008. The official Android app distribution mechanism to end users
is Google Play; it also

allows staged gradual app release, as well as distribution of pre


release appversions to testers.

The Android 3.1 platform (also backported to Android 2.3.4)


introduces Android Open Accessory support, which allows external

USB hardware (anAndroid USB accessory) to interact with an Android-


powered device in a special "accessory" mode. When an
Android-powered device is in accessory mode, the connected
accessory acts as the USB host (powers the bus and enumerates
devices) and the Android-powered device acts as the USB device.
Android USB accessories are specifically designed to attach to Android-
powered devices and adhere to a simple protocol (Android accessory
protocol) that allows them to detect Android-powered devices that
support accessory mode.
4
Organization Information
EduSkills is a platform promoting education and skill development. NEAT Cell

(National Educational Alliance for Technology) focuses on using technology to

enhance learning. AICTE (All India Council for Technical Education) is a regulatory

body in India, ensuring quality in technical education and fostering innovation in

institutions.

Programs and opportunities at the organization


EduSkills offers diverse programs and opportunities aimed at fostering

holistic education and skill development. It provides online courses,

workshops, and certification programs to enhance learners' knowledge and

employability. Additionally, EduSkills collaborates with industry experts and

educational institutions to create a dynamic learning ecosystem, ensuring

alignment with current industry needs.

NEAT Cell, under the AICTE, focuses on leveraging technology to


revolutionize education. It facilitates the integration of Artificial Intelligence in
learning platforms,
promoting personalized and adaptive learning experiences. NEAT Cell also

connects students with internships, mentorship programs, and industry-relevant

projects, enhancing their practical skills and preparing them for the demands of

the modern workforce. AICTE, as a regulatory body, ensures quality standards and

facilitates innovation in technical education institutions, contributing to a robust

and responsive education system in India.


Methodologies
Interns immerse themselves in real-world projects, applying principles of app

design, coding, debugging, and testing. Through a mentor-guided approach,

participants learn the intricaciesof Android Studio, Java/Kotlin programming, and

integration of APIs. The internship emphasizes collaboration, offering insights into

industry best practices and the software development life cycle. Regular feedback

sessions and project milestones ensure continuous improvement. By completing

this virtual internship, aspiring Android developers gain


practical skills, a portfolio of work, and a solid foundation for a successful

career in mobileapp development.

5
Key parts of the report

1.*Project-Based Learning:* Engage in hands-on, real-world Android app

developmentprojects to apply theoretical knowledge into practical skills.

2. *Android Studio Mastery:* Gain proficiency in using Android Studio,

the officialintegrated development environment (IDE) for Android app

development.

3. *Programming Languages:* Learn Java/Kotlin, the primary languages

for Androiddevelopment, to write efficient and effective code.

4. *API Integration:* Understand how to integrate third-party APIs into

Androidapplications, expanding functionality and accessing external

services.

5. *Debugging Techniques:* Develop skills in debugging and

troubleshooting commonissues to ensure the smooth performance of

Android applications.

6. *Collaboration:* Experience collaborative development by working with

mentors,receiving feedback, and participating in discussions with fellow

interns.
7. *Version Control:* Learn to use version control systems like Git to track

changes andcollaborate effectively with a development team.

8. *User Interface (UI) Design:* Gain insights into UI/UX principles for creating

visuallyappealing and user-friendly Android applications.

9. *Testing Practices:* Explore various testing methodologies, including unit

testing and UItesting, to ensure the reliability and stability of developed apps.
10. *Documentation:* Emphasize the importance of clear and

comprehensive documentationfor code, providing a reference for future

development and collaboration.

6
11. *Software Development Life Cycle (SDLC):* Understand the key phases

of SDLC, fromproject initiation to deployment, ensuring a systematic and

organized development process.

12. *Continuous Learning:* Foster a mindset of continuous learning by

staying updated onthe latest Android development trends, tools, and best

practices.

This comprehensive approach ensures that Android developer virtual interns gain

practicalskills, theoretical knowledge, and a holistic understanding of the software

development process, preparing them for success in the field.

Benefits of the Company/Institution through my report

EduSkills offers diverse education and skill programs, while NEAT Cell and

AICTE focus on technology-driven learning and quality technical education. The

collaboration ensuresa dynamic, industry-aligned ecosystem, enhancing practical

skills and preparing individuals for the evolving workforce, fostering a

well-rounded and future-ready skill set.


INDEX
S. No Contents Page No

1 Abstract 4

2 Introduction to Company/Institution 5-7

3 Internship Certificate 8

4 Learning Objectives/Internship 10
Objectives
5 Weekly overview of internship activities 11-12

6 Introduction to Internship Topic 13-15

6.1 Modules, if any 16-23

7 Analysis 24

8 Software Requirement Specification 25

9 Technology 27

10 Coding 27

11 Conclusion 2
8
12 Bibliography 2
8

9
Learning Objectives/Internship Objectives
∙ Internships are generally thought of to be reserved for college students looking

to gain experience in a particular field. However, a wide array of people can

benefit from TrainingInternships in order to receive real world experience and

develop their skills.

∙ An objective for this position should emphasize the skills you already

possess in the areaand your interest in learning more.

∙ Internships are utilized in a number of different career fields, including

architecture,engineering, healthcare, economics, advertising and

many more.

∙ Some internship is used to allow individuals to perform scientific research

while others arespecifically designed to allow people to gain first-hand

experience working.

∙ Utilizing internships is a great way to build your resume and develop skills that

can be emphasized in your resume for future jobs. When you are applying for

a Training Internship, make sure to highlight any special skills or talents that

can make you stand apart from the rest of the applicants so that you have an

improved chance of landing the position.

10
WEEKLY OVERVIEW OF INTERNSHIP ACTIVITIES
Wee Date Da Name of topic / Module completed
k y

Wee Date Da Name of topic / Module completed


k y
II

Wee Date Da Name of topic / Module completed


k y
III
Wee Date Da Name of topic / Module completed
k y
IV

Wee Date Da Name of topic / Module completed


k y

11
Wee Date Da Name of topic / Module completed
k y
VI
Wee Date Da Name of topic / Module completed
k y
VII

Wee Date Da Name of topic / Module completed


k y
VIII

Wee Date Da Name of topic / Module completed


k y
IX
Wee Date Da Name of topic / Module completed
k y

12
Introduction to Internship Topic:
The Android Developer Virtual Internship provides a dynamic learning experience

for aspiring app developers. Participants engage in practical, project-based tasks

to master Android app development skills. Guided by mentors, interns work on

real-world projects,

honing expertise in languages like Java/Kotlin and utilizing tools such as Android

Studio. Theprogram emphasizes API integration, UI/UX design, debugging, and

collaboration within a virtual environment. With a focus on industry-relevant

projects, this internship offers a

hands-on approach to mastering the intricacies of Android development. Interns

emerge with practical experience, a comprehensive skill set, and a portfolio ready for a

successful career inAndroid app development.


Android Developer:
Android developers are professionals who specialize in creating applications for the

Androidoperating system. They possess expertise in programming languages like Java

or Kotlin and
use development tools such as Android Studio. Android developers design, code,

test, and debug applications, ensuring they meet user requirements and function

seamlessly on a variety of devices. Their responsibilities often include

implementing user interfaces, integrating with back-end services, and staying

updated on the latest industry trends. Androiddevelopers play a crucial role in the

rapidly evolving mobile technology landscape, contributing to the creation of

innovative and user-friendly mobile applications.

Process Automation:
Process Automation involves using technology to streamline and
optimize repetitive tasks, reducing manual effort and enhancing efficiency. It
employs tools like workflow

automation platforms to automate complex processes, improving accuracy and

speed. Process Automation is integral to modern industries, enhancing

productivity and enabling organizations to focus on strategic initiatives.

Android Developer process automation:


Process automation for Android development involves streamlining

repetitive tasks,enhancing efficiency, and ensuring consistency

throughout the app development lifecycle. Here's a general guide:

13
1. *Build Automation:*
Utilize build automation tools like Gradle to automate the build process.

- Define build configurations, dependencies, and tasks in build scripts. -

Automate tasks suchas compiling code, managing libraries, and

generating APKs.

2. *Continuous Integration (CI):*


Implement CI tools like Jenkins or GitHub Actions to automate code

integration andtesting.
Set up automated builds triggered by code commits to maintain code quality.

3. *Version Control Integration:*

Integrate version control systems (e.g., Git) to automate versioning and

track changessystematically.

4. *Automated Testing:*
Implement automated testing frameworks (e.g., Espresso for UI testing)

to ensure appfunctionality.

Run unit tests, integration tests, and UI tests automatically as part of the build process.

5. *Code Quality Analysis:*

Use static code analysis tools (e.g., SonarQube) to automate the detection

of code issuesand ensure adherence to coding standards.


6. *Deployment Automation:*
Automate the deployment process using tools like Fastlane or Google Play Console API.
Streamline the release process and reduce manual errors during app deployment.

7. *Task Automation with Scripts:*

Write scripts (e.g., shell scripts or Python scripts) to automate

repetitive tasks likecleaning, formatting code, or generating

documentation.

8. *Template and Code Snippet Usage:*

Create and utilize templates and code snippets for common tasks to

save time andmaintain consistency.

14
9. *Dependency Management:*
Use dependency management tools to automate the retrieval and

integration of librariesand external dependencies.

10. *Monitoring and Logging:*


Implement automated monitoring and logging mechanisms to

identify issues andperformance bottlenecks early in development.

11. *Documentation Automation:*


Automate the generation of documentation using tools like Doxygen or
Javadoc to keepproject documentation up-to-date.

By incorporating these automation practices into the Android development

workflow, developers can reduce manual effort, enhance collaboration, and

ensure the delivery of highquality apps efficiently.


Modules in Andriod Developer Virtual Internship:
There are 8 modules present in the Andriod Developer Virtual Internship. 1.
YOUR FIRST ANDRIOD APP

2. BUILDING APP UI
3. DISPLAY LISTS AND USE MATERIAL DESIGN
4.NAVIGATION AND APP ARCHITECTURE

5. CONNECT TO THE INTERNET


6. DATA PERSISTENCE
7. WORK MANAGER

8. VIEWS AND COMPOSE

15
MODULE-1

YOUR FIRST ANDRIOD APP


Learn programming basics and create your first Android app.
∙ Write simple Kotlin programs that display text output.

∙ Download and install Android Studio.


∙ Build an Android app with a simple user interface that displays text and images. ∙

Run the app on a device or emulator.

16
MODULE-2
BUILDING APP UI
Continue learning the fundamentals of Kotlin, and start building more interactive apps.

∙ Use conditionals, function types, classes, and


lambda expressions in Kotlin. ∙
Understand how composition and recomposition works.

∙ Add a button to an app UI and respond to user taps.

∙ Create an app that works with data entered by the user.

∙ Learn how to use state to display data and reflect the changes
automatically when thedata gets updated.

∙ Write unit tests to test isolated functions.

17
MODULE-3
DISPLAY LISTS AND USE MATERIAL DESIGN
Build
appsthat display a list of data and learn how to make your apps more
beautiful with Material Design.

∙ Use data classes, functions, and collections in Kotlin.


∙ Create a scrollable list in an app that displays both text and images. ∙

Add click listeners to interact with list items.

∙ Add an app bar to the app and modify the app theme.

∙ Use Material Design to build modern and intuitive user interfaces,


using colors,shapes and typography.
18
MODULE-4

NAVIGATION AND APP ARCHITECTURE


Learn the
best practices of app architecture to build more complex apps. Enhance your
users' ability tonavigate across, into and back out from the various screens within
your app for a consistent and predictable user experience.
∙ Explain activities and their lifecycles.

∙ Understand Modern Android architecture.

∙ Use State Flow and UDF pattern to work with state and events.

∙ Add a View Model to save data and state.

∙ Set up and use the Navigation component with Compose.

∙ Understand what responsive UI is.

∙ Use window class sizes to build for different screen sizes.

∙ Add a navigation drawer to an app.

19
MODULE-5
CONNECT TO THE INTERNET
Use
Kotlincoroutines to perform multiple tasks at once, and learn about HTTP and
REST to get data from the internet using Retrofit. Then use the Coil library to
display images in your app.
∙ Describe the basics of concurrency and how to use coroutines in

an Android app. ∙Define and understand the data layer in Modern

Android app architecture. ∙ Implement a repository to centralize data

access.

∙ Use Retrofit to retrieve data from a remote server.

∙ Load and display images using the Coil library.

∙ Implement dependency injection to decouple the classes, making it


easier to test,maintain, and scale the app.
20
MODULE-6
Learn how to store data locally on the device and keep your apps working
through anynetwork disruptions for a smooth and consistent user experience.

∙ Learn the basics of SQL to insert,


update, and delete data from a SQLite database. ∙
Use the Room library to add a database to an Android app.

∙ Use Database Inspector to test and debug database issues.

∙ Use Preference DataStore to store user preferences.

21
MODULE-7

WORK MANAGER
Use Android Jetpack's WorkManager API to schedule necessary background
work, such asdata backups or fresh content downloads, that keeps running even
if the app exits or the device restarts.

∙ Define long running tasks that need to run in background work.

∙ Add WorkManager to an Android app.

∙ Create a Worker object and enqueue work.


∙ Create constraints on WorkRequests.

∙ Use the Background Task Inspector to inspect and debug WorkManager.

22
MODULE-8

VIEWS AND COMPOSE


Lear
nhow to use Compose and the older UI toolkit based on Views side-by-side in
the same app. In this unit, you will learn interoperability APIs and best practices
to add a new feature to anexisting app in Views, use an existing library that uses
Views, or use a UI component that isnot yet available in Compose.

∙ Understand the View-based UI toolkit and build app UI using XML. ∙

Add a composable in an app built with Views.

∙ Add Navigation component to the app and use it to navigate between fragments. ∙

Use AndroidView to display views.

∙ Add existing View-based UI components in a Compose app.

23
ANALYSIS
Analyzing the role of an Android developer involves assessing their key
responsibilities,skills, and the evolving landscape of Android app development:

1. *Responsibilities:*
Designing and implementing user interfaces.

Collaborating with cross-functional teams to define, design, and ship new features.

Debugging and resolving application issues.

Integrating data storage solutions, APIs, and third-party libraries.

Staying updated on Android development trends and best practices.

2. *Key Skills:*

Proficiency in programming languages like Java or Kotlin.

Experience with Android Studio and other development tools.

Understanding of UI/UX principles for effective app design.

Knowledge of database management and backend integration.

Strong problem-solving and debugging skills.

Familiarity with version control systems like Git.

3. *Trends and Technologies:*

Adoption of Jetpack libraries for modern Android development.

Emphasis on Kotlin as the preferred language for Android app

development. - Integration of machine learning and artificial

intelligence in mobile applications. -Growing importance of security

considerations in app development. - Focus on modularization and

architecture patterns for scalable apps.

4. *Industry Impact:*

Android developers contribute significantly to the vast ecosystem of mobile


applications,catering to diverse user needs.
24
With the proliferation of smartphones, the demand for skilled Android
developerscontinues to rise.

The Google Play Store serves as a platform for global app


distribution, offeringopportunities for developers to reach a wide
audience.
5. *Challenges:*

Fragmentation of Android devices and OS versions poses challenges for


ensuring appcompatibility.

Security concerns, including data privacy and protection against malware.

Keeping pace with rapid technological advancements in the Android


developmentecosystem.

6. *Career Outlook:*

Android developers have promising career prospects given the


continued growth inmobile technology.

Opportunities to specialize in areas like augmented reality, Internet of


Things (IoT), andmobile gaming.

Remote work options and the flexibility to work independently or within


developmentteams.

In summary, the role of an Android developer is dynamic and essential in the ever-
evolvinglandscape of mobile app development. Keeping abreast of emerging
technologies and industry trends is crucial for a successful and fulfilling career in
Android development.
SOFTWARE REQUIREMENT SPECIFICATION

ANDRIOD DEVELOPERS VIRTUAL INTERNSHIP requires a language to implement and to

give working procedure to the app . So, you will build apps by writing code in the Kotlin

programming language, which is the language recommended by Google when creating

new Android apps. Kotlin is a modern programming language that helps developers be more

productive. For example, Kotlin allows youto be more concise and write fewer lines of code

for the same functionality compared to other programming languages. Apps that are built

with Kotlin are also less likely to crash, resulting in a more stable and robust app for users.

Essentially, with Kotlin, you can write better Android apps in a


25
shorter amount of time. As a result, Kotlin is gaining momentum in the industry and is the

language thatthe majority of professional Android developers use.


TECHNOLOGY
Android developers utilize a variety of technologies to design, build, and

optimize mobileapplications for the Android platform. Here are key

technologies commonly used in Android development:

1. *Android Studio:*

The official integrated development environment (IDE) for Android development.


Offers tools for coding, debugging, and testing Android applications.

2. *Programming Languages:*

*Java:* Traditional language for Android development.


*Kotlin:* Preferred modern language offering concise syntax and enhanced features.

3. *Android SDK (Software Development Kit):*

A set of tools and libraries provided by Google for developing Android

applications. -Includes essential components for app development, such as

APIs, documentation, and sample code.

4. *XML (eXtensible Markup Language):*

Used for designing Android app layouts through XML-based layout files.

5. *Gradle:*

Build automation tool used to manage dependencies, build configurations,

and automatethe build process.

6. *Jetpack Libraries:*

26
A set of libraries, tools, and guidance to help developers write
high-quality apps moreeasily.

Includes libraries for UI components, navigation, data storage, and more.

7. *Firebase:*

A comprehensive mobile development platform by Google, offering services like real


time database, authentication, and cloud functions.

8. *RESTful APIs:*

Used for integrating mobile apps with backend services, enabling data

exchange betweenthe app and server.

9. *Version Control (e.g., Git):*

Facilitates collaboration and tracks changes in the source code.

10. *Material Design:*

Google's design language for creating visually appealing and consistent user interfaces.

11. *RxJava:*

Reactive Extensions for Java, facilitating asynchronous programming and event handling.
12. *Dagger or Koin:*

Dependency injection frameworks to manage and organize code dependencies.

13. *Espresso:*
UI testing framework for writing automated UI tests.

14. *ProGuard:*

Code shrinking and obfuscation tool to optimize and secure the app's code.

15. *OpenGL ES:*

Graphics library for rendering 2D and 3D graphics in Android games and applications.

27
Staying abreast of the latest technologies and tools is crucial for Android

developers to createefficient, secure, and feature-rich mobile applications. The


choice of specific technologies may vary based on project requirements and

industry best practices.

CODING
The coding of functions in kotlin programming language uses default

parameters andnamed arguments.


By using the kotlin playground, we use to run the programs using that
platform for theoutput result.

28
CONCLUSION
In conclusion, the Android Developer Virtual Internship provides a comprehensive

andimmersive learning experience for aspiring app developers. Through hands-on

projects,

collaboration with mentors, and exposure to real-world challenges, participants

gain practicalskills in Android app development. The internship covers key

aspects such as programming languages, API integration, UI/UX design, and

collaboration tools. With a focus on industry relevant tasks, the virtual internship

equips participants with a portfolio showcasing their abilities. As the demand for
skilled Android developers continues to grow, this virtual internship serves as a

valuable stepping stone, preparing individuals for success in the dynamic and

rewarding field of Android app development.


BIBLIOGRAPHY

1. Ed, Burnette (July 13, 2010). Hello, Android: Introducing Google's


Mobile Development Platform (3rd ed.). Pragmatic Bookshelf. ISBN
978-1-934356-56-2. 2. Ableson, Frank; Sen, Robi; King, Chris (January
2011). Android in Action, Second Edition (2nd ed.). Manning. ISBN
978-1-935182-72-6.
3. Conder, Shane; Darcey, Lauren (July 24, 2012). Android Wireless
ApplicationDevelopment Volume II: Advanced Topics (3rd ed.).
Addison-Wesley
Professional. ISBN 978-0-321-81384-8.
4. Murphy, Mark (June 26, 2009). Beginning Android (1st ed.). Apress.
ISBN 978-1-4302-2419-8.
5. Meier, Reto (March 2010). Professional Android 2
Application Development (1st ed.). Wrox Press. ISBN
978-0-470-56552-0.
6. Haseman, Chris (July 21, 2008). Android Essentials (1st ed.). Apress.
ISBN 978-1-4302-1064-1.
Clifton, Ian (August 3, 2012). The Essentials of Android Application
Development LiveLessons (Video Training) (1st ed.). Addison-Wesley
Professional. ISBN 978-0-13-299658-7

29

You might also like