Gayatri Vidya Parishad College of Engineering (Autonomous)
Madhurawada, Visakhapatnam - 530048
Department of computer science and Engineering
GOOGLE ANDROID DEVELOPER VIRTUAL INTERNSHIP
TEAM MEMBERS
B.Harini - 21131A0519
D.Chinni - 21131A0536
D.V.Lakshmi Priya - 21131A0545
UNDER THE GUIDANCE OF
Course Co-Ordinator Course Mentor
Mr.Ch.Srikanth Varma(CSE) Mr.Ch.Srikanth Varma(CSE)
(Associate Professor) (Associate Professor)
ABSTRACT
This provides a comprehensive overview of the Android platform, covering its
architecture, key components, and development tools. It traces significant
milestones such as the introduction of Android Studio and the adoption of
Kotlin as an official language, highlighting advancements that have shaped the
Android ecosystem. Fundamental concepts and best practices for Android
development are explored, including user interface design, data storage, and
networking strategies for creating robust applications
OBJECTIVE
The objective of this report is to educate aspiring Android developers
comprehensively and enable them to apply key concepts effectively in the
development of practical and impactful Android applications. By covering
Android's architecture, essential components, and development tools, alongside
advancements like Kotlin and Jetpack libraries, developers will gain the
necessary skills in UI design, data management, performance optimization, and
quality assurance. Through guided projects and mentorship, the aim is to
empower developers to create robust and user-friendly Android applications that
adhere to industry best practices and leverage emerging technologies.
UNITS IN ANDROID DEVELOPMENT VIRTUAL INTERNSHIP
Your First Android app
Building app UI
Display lists and use Material Design
Navigation and app architecture
Connect To the Internet
Data Persistence
WorkManager
Views and Compose
Your First Android App Building app UI
Kotlin programming through Kotlin Playground, an online Building app UI involves designing the user interface
tool where Kotlin code can be written and executed. It (UI) components that users interact with. This typically
explains that while Kotlin is readable by humans, includes layout, navigation, and visual elements such
computers require a compiler to translate it into as buttons, text fields, and images. In Android
executable instructions. The chapter covers the basics of development, UI design is often done using XML for
functions, defining them with names, optional inputs, and layout and resources, along with Kotlin or Java for
bodies that contain instructions to perform specific tasks. behavior and logic. Modern tools like Android Studio
It emphasizes the distinction between defining a function provide visual editors to facilitate UI design, ensuring
(specifying instructions) and calling it (executing those apps are both functional and visually appealing across
instructions). different devices and screen sizes.
Display lists and use Material Design Navigation and app Architecture
Displaying lists in Android apps is efficiently achieved Navigation in Android involves how users move
using RecyclerView, which manages large datasets by between different screens or sections within an app,
recycling views. Material Design principles guide the UI using UI elements like bottom navigation bars, tabs, or
development, ensuring consistent components like navigation drawers. It's crucial for creating intuitive
user journeys and ensuring easy access to app
buttons and cards, coherent typography, color schemes,
features.
and engaging motion for a modern and user-friendly
App architecture refers to the organization and
experience.In Android app development, displaying lists structure of an Android app's codebase. It defines how
efficiently involves using RecyclerView, which optimizes components like UI, data handling, and business logic
memory usage by recycling views that are no longer interact. Adopting a clear architecture pattern such as
visible. This component is crucial for handling large MVVM or MVP helps developers build scalable,
datasets and providing smooth scrolling performance. maintainable apps by separating concerns and
improving code reusability and testability. This
approach leads to more efficient development and a
better user experience overall.
Connect to the Internet Data Persistence
Connecting to the internet in Android involves using Data persistence in Android involves storing and
networking libraries like HttpURLConnection or OkHttp to retrieving data over time, ensuring it remains
send and receive data from web servers. Apps must accessible even after the app closes or the device
declare the INTERNET permission in the restarts. Options include SharedPreferences for
AndroidManifest.xml file to access the internet securely. simple key-value pairs, SQLite databases for
Networking operations should be asynchronous to avoid structured data, and Room Persistence Library for
blocking the main UI thread, with error handling to managing SQLite databases efficiently. Content
manage network issues and ensure a smooth user Providers facilitate data sharing between apps, while
experience. Android Backup Service ensures data integrity through
automatic backups. Effective data persistence
enhances app usability and user experience by
maintaining data continuity.
Work Manager Views and Compose
Work Manager is a powerful library in Android Jetpack that Views in Android refer to the UI components that are
simplifies and manages background tasks in your app. It used to create the visual and interactive elements of
allows you to schedule deferrable, asynchronous tasks an app's user interface. Each view corresponds to a
that need to run even if the app is in the background or widget or UI element, such as buttons, text fields,
the device restarts. Work Manager chooses the images, etc. Views are defined in XML layout files and
appropriate execution method based on factors like device can be customized with attributes like size, color, and
API level and available resources, ensuring efficient task behavior. They form the building blocks of the user
execution. It supports tasks with constraints, periodic interface and are arranged in hierarchies within
execution, and chained tasks, offering a flexible and activities or fragments to create the app's layout.
reliable solution for handling background work in Android
applications.
CASE STUDY
Problem Statement:
Design and implement a modern news application using MVVM architecture, focusing on efficient data
management with Room database, seamless integration of news retrieval and display using Retrofit, and
intuitive navigation using Android Navigation Components.
Develop a User friendly News app for viewing news from internet:
Develop a sophisticated news application leveraging MVVM architecture to ensure a clear separation of
concerns between data presentation and business logic. Implement Room database to efficiently manage offline
data storage, ensuring seamless access to previously viewed articles. Utilize Retrofit to facilitate smooth
integration with news APIs, enabling real-time fetching and display of current news content. Incorporate Android
Navigation Components to provide users with intuitive navigation flows between news categories, articles, and
settings. The goal is to create a robust and user-friendly application that enhances the news reading experience
through optimized data handling and intuitive user interactions.
It includes, news that can be viewed from the internet, add favorite news to the favorite window by storing
operation using local room database, delete added favorites and also to view a detailed description of news
scrolling all of these
are implemented using navigation tool icon bars at the bottom of the application.
Technologies and Concepts used in development of app:
• Development Environment: Android Studio, Kotlin
• Architecture of App: Model View & View Model (MVVM) architecture
• Local Data Base: Room Database storage, update, delete
• News API to get data from Internet : https://newsapi.org/
• Navigation Component Library to flow across various screens
• User Interface of the app includes : xml format and jet compose libraries
Feed Page/Home Detailed view Page Favorites News Page Search News By Keyword
CONCLUSION
News app serves as a practical example of how adopting structured architectural patterns can lead to more
robust and user-friendly applications. It provides valuable insights for developers aiming to build scalable and
maintainable Android apps while delivering a superior user experience.
Google android developer helps to dive deep into the world of Android app development, mastering essential
skills like writing code in languages like Java or Kotlin which are like the building blocks of Android apps.
I picked up valuable problem-solving skills, learning how to tackle tricky challenges that come up during app
development. as a Google Android developer, one has access to a wide array of resources provided by
Google, including comprehensive documentation, development tools like Android Studio, and a supportive
community. Therefore, one can learn how to design sleek and user-friendly interfaces that make people want
to use your app again and again.
REFERENCES
Course and Learning path links- Android Basics with Compose course |
AndroidDevelopers
Kotlin Playground link- Kotlin Playground Android Developers
Kotlin Examples link- Kotlin Examples: Learn Kotlin Programming By Example (
kotlinlang.org)
Android Studio Download link- Download Android Studio & App Tools -
Android Developers