Google IO 2019 highlighted several new Android features including Bubbles for easy multi-tasking, dark theme support, sharing improvements, and gesture navigation. It also provided updates on Jetpack components like CameraX, Navigation, Compose, ViewPager 2, ViewBindings and WorkManager to improve development. Machine learning was expanded through updates to MLKit and new features for on-device translation and object detection.
Android Study Jams are community-organized study groups where people can learn to build Android apps using an online training course. There are tracks for people who are new to programming, which teach the basics of Kotlin and building simple Android apps, and for people with prior programming experience, which cover more advanced topics like databases, networking, and architecture after introducing Kotlin fundamentals. Progress is tracked by badges earned at the end of each lesson, and standout apps may be showcased by Google. Resources and support are provided to help students through the self-paced online curriculum.
This document provides information about Android Study Jams, which are community-organized study groups for learning to build Android apps using an online training course. It outlines two tracks for participants - one for those new to programming, and one for those with prior programming experience. Each track involves completing multiple pathways that teach Android and Kotlin fundamentals through building apps. Upon completion, participants will earn digital badges and certificates. System requirements for participating include a computer meeting minimum specifications, an internet connection, and optionally an Android device. The document concludes with notifying participants to ask any questions in the chat box.
This document describes an Android Study Jam hosted by Developer Student Clubs RNSIT to teach people how to build Android apps. The study jam will provide an introduction to Kotlin and guide participants through making their first apps and earning digital certificates. It promotes learning Android development for opportunities to create open source apps and find jobs in the growing field. The study jam also highlights advantages of using Kotlin, the preferred language for Android apps. Participants can choose study tracks based on their experience level to learn skills like handling user input and displaying scrollable lists.
This document provides an overview of setting up an Android development environment. It discusses downloading and installing the Java SDK, Eclipse IDE, and Android SDK. It also covers adding platforms and components to the Android SDK and configuring the development environment. Key steps include installing Java, downloading Eclipse, obtaining the Android SDK, and installing the ADT plugin for Eclipse. The document then describes creating a basic "Hello World" Android project in Eclipse to test the setup.
Android Study Jams are community-organized study groups where people can learn to build Android apps using online training courses. There are two tracks for learners - one for those new to programming, and one for those with prior programming experience.
The new to programming track involves completing the Android Basics in Kotlin course, which teaches the basics of building Android apps with Kotlin through six pathways that involve building simple apps.
The prior experience track involves first completing Kotlin Koans exercises to learn Kotlin syntax, then the Android Kotlin Fundamentals course which has ten pathways building more complex apps that cover topics like navigation, databases, networking, and design principles. The study jams provide resources and badges to recognize
This document provides an overview of setting up the Android development environment and creating basic Android projects. It discusses downloading the Java Development Kit (JDK), Eclipse IDE, and Android SDK. It also explains how to install the Android Development Tools (ADT) plugin for Eclipse and configure the SDK and AVD Manager. The document demonstrates how to create a simple "Hello World" project and tabbed application. It also provides information on accessing sensors like GPS and accelerometers as well as using local SQLite and remote databases with Android applications.
This document discusses key concepts for Android app development including:
- The repository layer for managing app data from both local databases and remote sources.
- Using the Room library as an ORM for local SQLite databases.
- Making network requests using Retrofit and Moshi to fetch and parse JSON API responses.
- Scheduling background tasks with WorkManager.
- Following Material Design principles and testing apps thoroughly.
Code samples and demos are provided to illustrate implementing these concepts.
The document summarizes an Android Study Jams program introduced by Developer Students Clubs. It provides an overview of what Android Study Jams is, an introduction to Android and Kotlin programming languages, and outlines the learning tracks, prerequisites, and objectives of the program. Participants will learn basic Kotlin programming, how to build their first Android app, use Android Studio, and practice object-oriented concepts in Android development. The program will run from November 25, 2020 to January 25, 2021.
This document outlines an Android study jam session for learning Kotlin programming basics. The session will introduce participants to Kotlin, basic Android terms, building a simple app, and resources for continued learning. It provides learning objectives, pathways for learning Kotlin and using Android Studio, and overviews key concepts like the emulator, user interface, views, and buttons. Participants are instructed to start the Android basics course, collect their first badge, and told to stay tuned for the next session.
Hey there !
Do you want to learn the technology that powers billions of devices?
Do you want to know what goes on at the backend of all those complex apps?
GDSC VJIT, GDSC MIET, GDSC UMIT, and GDSC VIT-M, bring to you our first ever collab - “The Android meet-up” .
Join us for a fun-packed session with our panelists Ravi Maurya, Pankaj Khushalani, Shruti Gawali, Prasad Thakare and Azeez Dandawala
Listen to their own journey and experience as an android developer and start your own journey in the android domain along with us after getting inspired by them
Android study jams info session 2021 new GDSC GECBSPDomendra Sahu
The document outlines an information session about Android Study Jams, which are community-organized study groups for learning to build Android apps. Attendees are provided guidelines and system requirements. The session introduces pathways for learning Android development based on prior experience, focusing on using Kotlin and Android Studio. Rewards are offered for completing courses and showcasing apps. Attendees are encouraged to create developer profiles and join the community.
GDSC GECBSP Android Study Jams Session 3Domendra Sahu
This document outlines an introduction to Android Study Jams, which are community-organized study groups for learning to build Android apps. Key information includes ground rules for sessions, an overview of what Android Study Jams are, equipment needed, recommended tools like Android Studio and Kotlin, and links for new programmers to start with the Android Basics in Kotlin course. The facilitator then provides a live demo and concept overview before concluding with calls to action and sharing information.
This document provides an agenda and information for a Hacktoberfest info session. The agenda includes introductions to open source software, Hacktoberfest, contributor guidelines, prizes, and a hands-on session on Git and GitHub basics. Key topics covered are an overview of open source software and its advantages, what Hacktoberfest is and participant eligibility, contribution guidelines, prizes for completing 4 valid pull requests, and an introduction to version control systems and the GitHub workflow.
Android Study Jam 1 Day 1 | December 2021 | GDSC BVCOENMGDSCBVCOENM
This document outlines an Android Study Jam session on introducing Kotlin. It provides information on prerequisites, learning objectives, and the agenda. The session will introduce participants to Kotlin basics and have them complete the Android Basics in Kotlin course over 3 days. Certificates of participation and completion will be provided upon finishing the workshop and course.
This document provides an overview of Android Studio, the new integrated development environment (IDE) for Android development based on IntelliJ IDEA. Some key points covered include performance improvements over Eclipse for build times, new features like the Gradle build system and improved stability. Tips are also provided on differences between Eclipse and Android Studio workflows and how to set up libraries and dependencies using Gradle. The future of Android development is discussed, noting that ant support is being discontinued while Eclipse ADT will still be supported, but Gradle is positioned as the future build system, despite it not yet being fully complete.
Lecture #1 Creating your first android projectVitali Pekelis
1. The document discusses setting up a basic Android project structure including an activity, layout, and manifest.
2. It explains how to create an activity class that extends Activity and sets the layout view. The activity is declared in the manifest.
3. Basic instructions are provided for running the app on a real device or emulator from Android Studio.
Creating the first app with android studioParinita03
The document provides an overview of Android Studio, the integrated development environment for Android app development. It discusses what Android is, how Android Studio differs from Eclipse, and walks through creating a new project in Android Studio. The key steps covered are installing Android Studio, creating a new project, selecting project options like the application name and form factors, adding an initial activity, and running the app on an Android emulator.
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...DicodingEvent
Jetpack is a suite of libraries and architecture components that help developers follow best practices to reduce boilerplate code and write code that is compatible across Android versions and devices. It includes libraries for UI components, navigation, data binding, room, lifecycle management, and more. Using Jetpack can help developers focus on the code that matters by eliminating redundant code and ensuring compatibility.
The document summarizes the top 10 new features in Android M:
1. Android M preview timeline and expected Q3 2015 release.
2. Changes to app permissions including runtime permissions and reduced install/update friction.
3. How to properly request and handle permissions.
4. New fingerprint API and authentication without sharing credentials.
5. Doze mode for better battery life when idle and postponing non-important tasks.
En los últimos años vimos grandes cambios en Android.
Empezando por Android Studio, dejando de lado Eclipse e incorporando Gradle. Luego el lanzamiento de Android 5 Lollipop, presentando el concepto de Material Design y por último, la incorporación de Android Wear, Auto y TV.
Son muchos cambios en poco tiempo, es por eso que necesitamos mejorar el proceso de desarrollo, incorporando las últimas tecnologías pero sin descuidar la calidad del producto.
En esta charla veremos algunas buenas prácticas para asegurar una aplicación de gran calidad.
This document discusses Android application development using Java. It provides an overview of Android, including what Android is, its system architecture using the Dalvik VM, and development environment. It covers Android application fundamentals like the application package, components, and manifest. It also discusses user interface creation using activities and resources, as well as supporting multiple screen sizes and densities. The document concludes with opportunities in the Android market.
The document introduces the Model-View-Controller (MVC) pattern and how it applies to Android application development. It discusses that MVC separates an application's data model (Model), user interface (View), and control logic (Controller). It then provides examples of how the MVC pattern is implemented in Android, with the Model managing data, the View presenting it to users, and the Controller updating the view based on user input and the model. Finally, it briefly outlines some key Android architecture components and development tools.
Video: http://youtu.be/jalTIhFAWpQ
Speakers:
Martin Donnelly, IBM, XPages Architect
Padraic Edwards, IBM, XPages Developer
Tony McGuckin, IBM, XPages Developer
Jonathan Roche, IBM, Domino Designer Developer
Abstract:
Building on top of the 9.0 release earlier this year, 9.0.1 not only improves quality and stability but also includes new capabilities for developers. Come and hear about new features for building mobile web applications with XPages. You’ll also hear about various platform upgrades which benefit applications, new REST services and enhancements for building social business applications.
IBM Social Business Toolkit: https://www.ibmdw.net/social/
After I attended Google IO 2014, I wanted to present what is new for Android Lollipop from a Developer perspective.
This presentation covers almost everything except, maybe, native Android Wear development, Android Auto and Android TV
Overview for the possibilities when it comes to developing an application for the android platform. The slides start with covering the native option, continutes with covering the hybrid option and concludes with comparing between the two.
More information about the Android course I deliver can be found at android.course.lifemichael.com
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
Rapid and Reliable Developing with HTML5 & GWT.
Manuel Carrasco Moñino proposes using modern web technologies like HTML5 and JavaScript to build rich internet applications that can run on desktops, mobile devices, and tablets from a single codebase. He suggests frameworks like Google Web Toolkit (GWT), Apache Cordova, PlayN, and NoSQL databases to develop cross-platform applications in a high-level language like Java. Carrasco provides examples of projects using these techniques and encourages contributing to open source.
Running Code in the Android Stack at ABS 2014Opersys inc.
This document provides an overview of running code in the Android stack, covering various topics:
1) It discusses the different programming languages and components used to build Android applications and the platform itself, including Java, C/C++, and various Android app components.
2) It outlines standard app mechanisms like intents, components, processes and threads that apps use to integrate with the Android system.
3) It briefly covers some special app mechanisms like services, content providers and widgets.
Android Best Practices - Thoughts from the TrenchesAnuradha Weeraman
Here are some of the key structural building blocks in Android that can be used to build the YAMBA app:
1. Activities - For the timeline view and preference screens.
2. Services - For the background process that fetches statuses from the server. This can be started on boot and stopped based on network connectivity.
3. ContentProviders - To store and retrieve statuses from local storage.
4. BroadcastReceivers - To listen for boot completed and network connectivity changes. Can start/stop the background service accordingly.
5. AsyncTasks - For fetching statuses from the server in the background without blocking the UI.
6. Intents - To start the background service from the BroadcastReceivers
Running Code in the Android Stack at ELCE 2013Opersys inc.
This document provides an overview of running code in the Android software stack. It discusses the various programming languages and mechanisms used, including Java, C/C++, and scripting languages. It also covers starting applications, system services, libraries, and more. The overall goal is to explain how to develop and integrate code at all levels of the Android operating system.
Android Pie, the latest release of Android, is officially available to World. In this talk, I will summarize new features and behaviour changes. This session will be useful for developers as well product managers who are getting their apps ready for Android 9.
Learn how to develop an AndroidApp from a senior developer — for free! We decided to make one of our “Showmaxers teaching Showmaxers” events public. This one is from our Android developer Michal Ursiny. Check it out.
What you will learn and do:
- Introduction to Android development and what it takes to develop for Android - it’s actually pretty easy to start compared to other mobile platforms
- Java vs Kotlin - you can use both, but we recommend Kotlin
- How to create new project using Android Studio, the official IDE for Android development
- How to choose the appropriate minimum SDK version
- Understanding basic project structure:
sources
resources
AndroidManifest.xml
build.gradle
- You will run the demo project generated by Android Studio and modify it
- The basic building blocks:
Activity
Fragment
View
- How to build basic layouts using resources and themes
- The challenges - lifecycles and why to use viewmodels
- Permissions - how to access REST APIs using Retrofit library and why using third party image libraries is a good idea
Getting started
Download Android Studio - the official IDE based on IntelliJ IDEA. Configure your emulator or enable developer mode on your device and connect to the computer. Get acquainted with Android Studio.
Originally, the sample project used within the tutorial was targeting our internal Showmax Search API. It was changed to use GitHub Users Search API so it’s available and useful for everyone.
On our blog on https://tech.showmax.com/2021/02/android-crashcourse/ you can watch Michal’s easy-to-digest and comprehensive presentation embedded from YouTube.
Or just read the deck and learn the basics.
Try building the app yourself by following the shared sample project: https://github.com/Showmax/GithubUsersSearch
RhoMobile Suite v5.5 provides tools to create mobile applications that work across operating systems and devices. It allows developers to build apps once and deploy them to iOS, Android, and Windows Mobile/CE. This release provides support for the latest iOS, Android, and Crosswalk features to improve app performance and capabilities. It also includes fixes for issues with cameras, networking, and building.
The document summarizes new features in Android M, including changes to app permissions where users can now revoke permissions after install instead of granting all upfront, a new fingerprint API, Doze and App Standby modes for improved battery life, Assistant support to provide context about app screens, and data binding, material design libraries, App Links, and Direct Share. The presentation was given by Amrit Sanjeev from the organization Blrdroid on introducing developers to the top 10 things in Android M.
Android development - the basics, MFF UK, 2012Tomáš Kypta
This document provides an overview of Android development basics. It discusses the Android platform, ecosystem, and SDK tools. It describes key Android concepts like activities, services, content providers, and broadcasts. It also covers user interface components, resources, handling different device configurations, fragments, threads, menus, dialogs, notifications and more. The document is intended as an introduction to the fundamentals of Android development.
This document summarizes some of the new features in Android 4.4 KitKat presented by Chet Haase and Romain Guy. It discusses the new storage access framework which allows browsing local and cloud documents through a standard interface. Printing capabilities are expanded through new PDF generation and printing APIs. The user interface is enhanced with translucent system bars, immersive full-screen mode, and a new WebView based on Chromium. Scene and transition animations can now be defined through code, resources, or a transition manager.
Similar to Google I/O 2019 - what's new in Android Q and Jetpack (20)
this resume for sadika shaikh bca studentSadikaShaikh7
I am a dedicated BCA student with a strong foundation in web technologies, including PHP and MySQL. I have hands-on experience in Java and Python, and a solid understanding of data structures. My technical skills are complemented by my ability to learn quickly and adapt to new challenges in the ever-evolving field of computer science.
An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
How to Avoid Learning the Linux-Kernel Memory ModelScyllaDB
The Linux-kernel memory model (LKMM) is a powerful tool for developing highly concurrent Linux-kernel code, but it also has a steep learning curve. Wouldn't it be great to get most of LKMM's benefits without the learning curve?
This talk will describe how to do exactly that by using the standard Linux-kernel APIs (locking, reference counting, RCU) along with a simple rules of thumb, thus gaining most of LKMM's power with less learning. And the full LKMM is always there when you need it!
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Data Protection in a Connected World: Sovereignty and Cyber Securityanupriti
Delve into the critical intersection of data sovereignty and cyber security in this presentation. Explore unconventional cyber threat vectors and strategies to safeguard data integrity and sovereignty in an increasingly interconnected world. Gain insights into emerging threats and proactive defense measures essential for modern digital ecosystems.
What Not to Document and Why_ (North Bay Python 2024)Margaret Fero
We’re hopefully all on board with writing documentation for our projects. However, especially with the rise of supply-chain attacks, there are some aspects of our projects that we really shouldn’t document, and should instead remediate as vulnerabilities. If we do document these aspects of a project, it may help someone compromise the project itself or our users. In this talk, you will learn why some aspects of documentation may help attackers more than users, how to recognize those aspects in your own projects, and what to do when you encounter such an issue.
These are slides as presented at North Bay Python 2024, with one minor modification to add the URL of a tweet screenshotted in the presentation.
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfjackson110191
These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
Performance Budgets for the Real World by Tammy EvertsScyllaDB
Performance budgets have been around for more than ten years. Over those years, we’ve learned a lot about what works, what doesn’t, and what we need to improve. In this session, Tammy revisits old assumptions about performance budgets and offers some new best practices. Topics include:
• Understanding performance budgets vs. performance goals
• Aligning budgets with user experience
• Pros and cons of Core Web Vitals
• How to stay on top of your budgets to fight regressions
Blockchain and Cyber Defense Strategies in new genre timesanupriti
Explore robust defense strategies at the intersection of blockchain technology and cybersecurity. This presentation delves into proactive measures and innovative approaches to safeguarding blockchain networks against evolving cyber threats. Discover how secure blockchain implementations can enhance resilience, protect data integrity, and ensure trust in digital transactions. Gain insights into cutting-edge security protocols and best practices essential for mitigating risks in the blockchain ecosystem.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
4. Latest Android Q Updates
● Bubbles
● Dark Theme Support
● Sharing improvements
● Notifications
● Gesture Navigation and more.
4
5. Bubbles
Easy multi tasking
● Bubbles are built into the Notification system.
● They float on top of different app content and
follow the user wherever they’re going.
● Bubbles can be expanded to reveal app
functionality and information, and might be
collapsed when not getting used.
E.g. in facebook messenger app.
Sample: https://github.com/googlesamples/android-
Bubbles
For more info:
https://developer.android.com/preview/features/bubbles
Place your screenshot
here
5
6. Dark Theme
Those eyes won’t hurt anymore
● Can reduce power usage by a significant amount.
● Improves visibility for users with low vision and those who
are sensitive to bright light.
● Strongly recommended that apps support dark theme.
● Force Dark feature automatically convert app to the dark
theme (make ‘forceDarkAllowed’ to true).
How to use?
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
OR
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
For more info :
https://developer.android.com/preview/features/darktheme
6
7. Sharing
Improvements
Updated with a new design & APIs
● The Direct Sharing API has been replaced with new
sharing shortcut APIs
● Greatly improved performance.
● Simplified & enhanced UI.
● More Developer customization options.
Sample: https://github.com/googlesamples/android-
SharingShortcuts
For more information:
https://developer.android.com/preview/features/sharing
Place your screenshot
here
7
8. Notification
Gentle & Priority, Notification Actions
● Helps organize valuable & important
notifications.
● Initially configured by developers, but can be
adjusted by users & system.
● Directly access related deeplinks.
● Quick reply with suggested responses.
● Can Generate smart replies with Firebase MLKit.
Place your screenshot
here
8
9. Gesture Navigation
● Only 2 navigation methods will be supported in the
Android platform from Q:
○ 3 buttons
○ Model moving forward.
● Making your app nav-ready:-
○ Make Your UI edge-to-edge.
○ Leverage insets for better UI.
○ Override system gestures.
● App can face conflicts with any horizontally-draggable
content (Sliders, Seekbars etc).
● Common scenarios where app can face problem with
gestures: Scrolling Views, Navigation Drawers, Bottom
Sheets, Landscape mode, Carousels (ViewPager etc).
● New API available in Q to opt out at least the back
gesture.
Place your screenshot
here
9
10. Accessibility
● One liner for accessibility actions
ViewCompat.addAccessibilityAction(...)
● Vary duration of transient UI
AccessibilityManager.getRecommendedTimeout
Millis (default:Int, flags: Int)
10
11. Text
Improve Text Performance
● Hyphenation: Hyphenation is OFF by default in Android Q & AppCompat V1.1.0. To re-
enable hyphenation:
<TextView android: hyphenationFrequency=”normal”/>
● PreComputedText:
○ Use PreComputedText with Recyclerview prefetch.
○ For more info: https://medium.com/google-developers/recyclerview-prefetch-
c2f269075710
https://medium.com/androiddevelopers/prefetch-text-layout-in-recyclerview-
4acf9103f438
Custom Fonts
● Use CustomFallbackBuilder to support multiple fonts
E.g. We want an image in between text, text having custom font (lato).
● Max 64 font families while building Typeface using CustomFallbackBuilder.
● Conceptually different font families can not be put in same Font family object.
11
12. Text
Some more..
Styling Text
● Style, Theme, TextAppearance, View Attribute, Span.
System Fonts
● 270+ pre-installed fonts.
● Find fonts used by system: FontMatcher API (NDK).
● Find installed fonts: FontEnumeration API.
Editable Text
● Now Error message of Edittext will not hide behind the keyboard.
● If you want the keyboard to learn about your password then use
android:inputType=”textVisiblePassword”
● If you don't want the keyboard to learn about your password then use
android:inputType=”textPassword”
● Use IME flags to configure soft keyboard.
12
for(font in SystemFonts.getAvailableFonts()){
//choose your font here.
}
13. Magnifier
● Android magnifier widget. Can be used by any view which is
attached to a window.
● The magnifier is already integrated with platform widgets
such as TextView, EditText, or WebView.
● It provides consistent text manipulation across applications.
● The widget comes with a simple API and can be used to
magnify anyView depending on your application’s context.
View view = findViewById(R.id.view);
Magnifier magnifier = new Magnifier(view);
magnifier.show(view.getWidth() / 2, view.getHeight() / 2);
Place your screenshot
here
13
14. Runtime Permissions
For all the apps running on Android Q
● Prevention of silent access to reading screen content
READ_FRAME_BUFFER, CAPTURE_VIDEO_OUTPUT,
CAPTURE_SCREEN_VIDEO_OUTPUT
● Instead use MediaProjection API with user’s consent
● Opportunity for the user to revoke already granted
permission when user updates to Q for the first time
● New permission ACTIVITY_RECOGNITION added to
track walking, biking or cycling activities of the user.
● Permission groups are removed from UI
Place your screenshot
here
14
15. Security
● Immutable device identifiers will no longer be
available via READ_PHONE_STATE e.g.
Build, IMEI, ESN, SIM etc.
● Mac address randomization.
● App launching & notifications.
● Declare service type in Manifest for services
15
<service
android:foregroundServiceType=”location”/>
16. Kotlin
● New Apis in Q have nullability annotations.
● Nullability enforced as an errors instead of warnings with Q.
● Incremental annotation processing with kapt in 1.3.30
● Coroutines support for Workmanager, Room, LifeCycle, LiveData, ViewModel.
● Jetpack Compose.
● Kotlin plugin part for Android Studio.
● Lint support for kotlin added
16
18. CameraX
Jetpack camera support library
● Camera development is hard because of OS flavors and the Camera API complexity etc.
● Issues tackled in previous camera API:
○ Front/back camera switch crashes.
○ Optimized camera closures etc.
● Backwards compatibility to L (90% devices).
● Easy to use and Consistent behavior across all android devices.
● CameraX benefits:
○ Reduced device specific testing.
○ 75% reduction in lines of code.
○ Smaller apk size etc.
● CameraX is lifecycle aware Easy to use.so you don’t need to start & stop cameraX.
● CameraX hides all the internal functionality from you & maintain it by own.
18
19. Jetpack Navigation
Jetpack library to manage in-app UI flows
● Now can navigate by URI (<deeplink>).
● ViewModel scoped to navigation graphs.
● Can use dialog destinations.
● CodeLabs sample:
https://codelabs.developers.google.com/codelabs/android-
navigation/#0
● Safe Args (Gradle plugin):
Escorting your arguments safely to their destination
apply plugin: “androidx.navigation.safeargs” (for java)
apply plugin: “androidx.navigation.safeargs.kotlin” (for kotlin)
19
20. Jetpack Compose
Next generation UI toolkit
● Reactive
● A kotlin compiler plugin.
● Fully compatible with your existing app/code.
@Composable
fun Greeting(name : String) {
Text(“Hello $name”)
}
● For More info: https://developer.android.com/jetpack/compose
20
21. ViewPager 2
● Like viewPager, but better
● Based on recyclerview
● RTL mode support
● Allows vertical paging.
● Improved dataset change notifications.
dependencies {
implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha04'
}
● offscreenPageLimit: allows for a tight control of the number of page
Views / Fragments kept in the view hierarchy.
21
22. ViewBindings
Coming soon in Android Studio 3.6
● Compatible with Data Binding.
● Full Studio integration.
● 100% compile time safety
● Binding classes built by Gradle Plugin.
val binding = ProfileBinding.inflate(layoutInflater)
setContentView(binding.root)
22
23. SavedState for ViewModel
ViewModel + SavedState
● ViewModel and SavedState are used for different purposes & not same.
● ViewModel works as a cache for heavy objects.
● SavedState used for small data.
class UserViewModel (val handle : SavedStateHandle) : ViewModel(){}
● Syntax for ViewModel initialization:
val viewModel : UserViewModel by ViewModels()
23
24. WorkManager
Background processing library
● Persistence
● Backwards compatibility (API 14)
● On-demand initialization
● Robolectric support available now
● Create test workers using TestWorkBuilder & TestListenableBuilder.
24
25. Room
SQL object mapping library
● Coroutines support.
● You can have suspend method for getting data, insert data etc.
@Query(“select * from Song where songId=songId”)
suspend fun getSong (songId : String) : Song
@Insert
suspend fun insertSong(song : Song)
● Full Text Search (@ Fts4 annotation)
● Database Views
● Expanded Rx support
@Insert
fun addSong(song : Song) : Completable
25
27. AI Tools
● MLKit
● Google Cloud
● TensorFlow (open source)
● For more info look here:
https://firebase.google.com/docs/ml-kit
https://cloud.google.com/solutions/mobile/
https://www.tensorflow.org/lite/guide/android
27
28. MLKit
● Existing Features
○ Vision: Landmark detection, Image labeling, Barcode Scanning,
Face detection.
○ Natural Language: Language identification, Smart Reply.
○ Custom: Model Serving.
● New features:
○ On-device translation: fast and dynamic translation for 59
languages.
○ Object detection and tracking.
28
33. RenderNode
● Efficient rendering (used by views internally)
● Contains:
○ Display list
○ Display properties
● Can be hierarchical (RenderNode can contain another RenderNode).
● Cast shadows without a view.
if (canvas.isHardwareAccelerated()) {
canvas.drawRenderNode(myRenderNode);
}
33