The document discusses Android fragmentation and provides recommendations for developing apps that can handle fragmentation. It notes that over 40% of Android devices run older versions and there are variations in hardware, OS versions, and displays. It recommends setting the target SDK to the latest version, using classes to check OS versions, supporting multiple APKs, focusing testing on common issues, and designing flexibly using fragments, points instead of pixels, and resources for different configurations.
Android Application Development Training by NITIN GUPTA NITIN GUPTA
Android Application Development Please SUBSCRIBE TECH POINT Channel on YouTube.
Here's Channel Link
PLEASE SUBSCRIBE Our channel TECH POINT ..
FOLLOW US ON TWITTER:https://twitter.com/Nitin_TECHPOINT
Follow us on Facebook:https://www.facebook.com/NitinGupta1054.Official.PSIT
Follow us on Instagram:https://www.instagram.com/nitingupta_official
SUBSCRIBE Our channel:https://www.youtube.com/channel/UCj3XVydYG3oPVJeZscU4NIg?sub_confirmation=1
Are you interested about Android App, JAVA and App Development? Have great news for you. http://abhiandroid.com/ is a popular site that share all about Android App. You can Learn How to Create Android App with Examples, Code and Tutorials.
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin
René Ruppert shows you how to easily integrate the power of three different Azure Cognitive Services into a Xamarin application. Given that nobody can decipher René's handwriting, he's going to use the power of Azure to turn it into clear text and use that as input for further processing.
Watch the recording at https://youtu.be/ipeXRXetmFE
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin
Mark Smith shows you how to automate your app development pipeline with Visual Studio App Center. You’ll walk through how to connect your app to App Center and start improving your development process and your apps immediately.
Watch recording at https://youtu.be/QXLOzdpYPXU
More Related Content
Similar to Beating Android Fragmentation, Brett Duncavage
Android Application Development Training by NITIN GUPTA NITIN GUPTA
Android Application Development Please SUBSCRIBE TECH POINT Channel on YouTube.
Here's Channel Link
PLEASE SUBSCRIBE Our channel TECH POINT ..
FOLLOW US ON TWITTER:https://twitter.com/Nitin_TECHPOINT
Follow us on Facebook:https://www.facebook.com/NitinGupta1054.Official.PSIT
Follow us on Instagram:https://www.instagram.com/nitingupta_official
SUBSCRIBE Our channel:https://www.youtube.com/channel/UCj3XVydYG3oPVJeZscU4NIg?sub_confirmation=1
Are you interested about Android App, JAVA and App Development? Have great news for you. http://abhiandroid.com/ is a popular site that share all about Android App. You can Learn How to Create Android App with Examples, Code and Tutorials.
Xamarin University Presents: Building Your First Intelligent App with Xamarin...Xamarin
René Ruppert shows you how to easily integrate the power of three different Azure Cognitive Services into a Xamarin application. Given that nobody can decipher René's handwriting, he's going to use the power of Azure to turn it into clear text and use that as input for further processing.
Watch the recording at https://youtu.be/ipeXRXetmFE
Xamarin University Presents: Ship Better Apps with Visual Studio App CenterXamarin
Mark Smith shows you how to automate your app development pipeline with Visual Studio App Center. You’ll walk through how to connect your app to App Center and start improving your development process and your apps immediately.
Watch recording at https://youtu.be/QXLOzdpYPXU
Get the Most Out of iOS 11 with Visual Studio Tools for XamarinXamarin
In this webinar deck Craig Dunn shows what’s new in iOS 11 and how to take advantage of the latest updates – from drag-and-drop for iPad to machine learning and more – 100% in .NET and Visual Studio. Whether you’re building new or updating existing Xamarin.iOS apps, you’ll see how to implement new frameworks, APIs, and UI features, walk-through code samples, get expert tips and tricks, so you can start shipping iOS 11-ready apps to your users.
Watch webinar at https://youtu.be/mXAbpXLT1vo
Get the Most out of Android 8 Oreo with Visual Studio Tools for XamarinXamarin
In this webinar deck Tom Opgenorth dives into what’s new in Android 8 Oreo and shows how to add the latest features – like Picture-in-picture, notification channels, downloadable fonts, and more – to your apps, 100% in .NET and Visual Studio. Whether you’re building new or updating existing Xamarin.Android apps, you’ll get the step-by-step demos, code samples, and expert tips you need to start shipping Android 8 Oreo-ready apps to your users immediately.
Watch webinar at https://youtu.be/qEW6AyUdnKw
Build Better Games with Unity and Microsoft AzureXamarin
David Antognoli shows you how to take your Unity games to the next level with powerful cloud services. He’ll walk through how to connect your apps to Microsoft Azure, adding compelling features that users love, like leaderboards and heatmaps, and demo how new Unity and Visual Studio 2017 features improve your development process and your users' experience.
In the session, you’ll:
• Create and configure a new Unity project and integrate with Azure Easy tables – from scratch
• Reference external packages from NuGet in Unity projects
• Update the Unity Mono security certificate store
• Add leaderboards and use the Azure Mobile Client SDK to save data telemetry
• Analyze heatmap telemetry to improve your game design
• Ask questions and receive guidance from our team of experts
Watch the webinar recording at https://channel9.msdn.com/Events/Xamarin/Recent-Webinars/Build-Better-Games-with-Unity-and-Microsoft-Azure
Exploring UrhoSharp 3D with Xamarin WorkbooksXamarin
In this webinar recording Charles Petzold show how to build a 3D app from the ground up with UrhoSharp and Xamarin Workbooks. UrhoSharp is a powerful, high performance 3D graphics engine suitable for games, animation, and data visualization. UrhoSharp and Xamarin Workbooks give developers a streamlined way to get started with 3D graphics programming quickly.
Regardless whether you're using UrhoSharp to target Android, iOS, macOS, Xamarin.Forms, or Windows, you can use Workbooks to develop and perfect your UrhoSharp code. The Workbooks approach brings an interactive immediacy to 3D graphics that inspires experimentation, exploration, and discovery.
Watch the webinar recording at https://aka.ms/urho-sharp-3d-webinar
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinXamarin
These are the slides from Mark Smith's webinar where he shows how to apply your existing desktop development skills, knowledge, and code to mobile development. With Microsoft’s mobile tools and cloud services, you can start delivering native user experiences without learning new languages.
Mark compares desktop and mobile UI/UX and share best practices for porting existing desktop apps to Android, iOS, and UWP. Whether you’re building apps for consumers, employees, or suppliers, you’ll learn how to overcome common obstacles and get the step-by-step training you need to deliver high quality apps.
Watch the webinar recording at aka.ms/xamu-desktop-devs-video
Developer’s Intro to Azure Machine LearningXamarin
Azure Machine Learning makes it easy for developers to incorporate intelligence and predictive analytics into their apps. Jason teaches core Machine Learning concepts and shows you how use Azure Machine Learning Studio to start building smarter apps immediately.
Watch the webinar recording at aka.ms/xamu-azure-ml-video
Explore Xamarin University at xamarin.com/university
Rob Gibbens shows you how to build better Xamarin.Forms UI using platform-specific APIs that aren’t directly exposed by the framework. He’ll demo how to integrate native controls and adjust visual properties that are unique to each platform while still sharing the majority of your code across platforms. You’ll leave ready with the step-by-step guidance you need to take full advantage of the latest OS-specific UI patterns and designs.
Watch the webinar recording at aka.ms/xamu-xamarin.forms-ui-video
Explore Xamarin University at xamarin.com/university
Session 4 - Xamarin Partner Program, Events and ResourcesXamarin
This is the presentation slides of video session delivered at the Xamarin Partner Summit 2017. Microsoft speaker Greg Urquhart, describes the Xamarin Partner Program and upcoming changes. Microsoft speaker Francine Anthony, highlights upcoming events and resources for Xamarin Partners.
Watch the session recording at channel9.msdn.com/Events/Xamarin-Partners/Xamarin-Partner-Summit-2017/Xamarin-Partner-Program-Events-and-Resources
Session 3 - Driving Mobile Growth and ProfitabilityXamarin
This is the presentation slides of video session delivered at Xamarin Partner Summit 2017 by Microsoft speakers, Neil Smith, Sebastien Le Calvez, Alex Popp and Matt Larson. It provides practical advice on ways that Xamarin Partners can leverage Microsoft technologies and programs to create further growth and profitability across their mobile practice.
Watch the session recording at channel9.msdn.com/Events/Xamarin-Partners/Xamarin-Partner-Summit-2017/Driving-Moble-Growth-and-Profitability
Session 2 - Emerging Technologies in your Mobile PracticeXamarin
This is the presentation slides of video session delivered at Xamarin Partner Summit 2017 by Microsoft speakers, Jaclyn Stiles, Neil Smith and Matt Larson. It focuses on emerging technologies - such as Cognitive Services, Machine Learning, IOT and more - as key components of a "mobile +" strategy and approach.
Watch the session recording at channel9.msdn.com/Events/Xamarin-Partners/Xamarin-Partner-Summit-2017/Emerging-Technologies-in-your-Mobile-Practice
Session 1 - Transformative Opportunities in Mobile and Cloud Xamarin
The opening keynote address delivered at Xamarin Partner Summit 2017. During the address, Microsoft speakers Greg Urquhart and Erik Polzin explore Xamarin and Microsoft since the acquisition in 2016, the theme of mobile-first, cloud-first and the "mobile +" shift driving greater opportunities for Xamarin Partners. Microsoft speaker and Xamarin technical expert, Colby Williams, also demos Visual Studio Mobile Center.
Watch the session recording at channel9.msdn.com/Events/Xamarin-Partners/Xamarin-Partner-Summit-2017/Transformative-Opportunities-in-Mobile-and-Cloud
SkiaSharp, powered by Google’s Skia graphics library, helps developers extend their Xamarin.Forms apps with compelling 2D graphics. Charles Petzold shows you how to include a SkiaSharp canvas in your Xamarin.Forms apps and make the most of the extensive and versatile SkiaSharp library.
Watch the webinar recording at aka.ms/xamu-skiasharp-video
Explore Xamarin University at xamarin.com/university
Building Games for iOS, macOS, and tvOS with Visual Studio and AzureXamarin
René Ruppert shows you how to use your .NET skills to deliver multi-player games for the latest Apple devices, from iPhone to tvOS. He’ll demo SpriteKit basics, create a mobile version of the popular Connect Four board game, easily integrate with scalable cloud services, and teach best practices for sharing C# game logic, UI, and infrastructure code across platforms.
Watch the webinar recording at aka.ms/xamu-ios-apps-video
Explore Xamarin University at xamarin.com/university
Intro to Xamarin.Forms for Visual Studio 2017Xamarin
Jesse Dietrichson shows you how to take your .NET skills mobile with Xamarin.Forms for Visual Studio 2017. With Xamarin.Forms, you’re able to maximize code reuse and quickly build fully native apps for Android, iOS, and Windows. Jesse will show you how to use the latest Visual Studio features to design, develop, and test your apps faster than ever.
Watch the webinar recording at aka.ms/xamu-vs2017-xamarin.forms-video
Explore Xamarin University at xamarin.com/university
Whether you’re a new mobile developer or an experienced enterprise team lead, Microsoft’s Azure App Service and Xamarin give you everything you need to build engaging Android, iOS, and Windows apps.
Watch webinar recording at aka.ms/xamuazurevideo
Explore Xamarin University at xamarin.com/university
Introduction to Xamarin for Visual Studio 2017Xamarin
James Montemagno walks you through how Xamarin for Visual Studio 2017 makes it even easier to deliver fully native Android, iOS, and UWP apps from a single C# codebase. You'll learn what's new, including: the Xamarin Inspector and Profiler, new language features in C# 7, and how Visual Studio 2017 streamlines mobile development for .NET developers everywhere.
Watch webinar recording at https://aka.ms/introtoxamarinvs2017
Building Your First iOS App with Xamarin for Visual StudioXamarin
Anything you can do in Objective-C or Swift and XCode, you can do in C# with Xamarin for Visual Studio. Chris Van Wyk, Xamarin University mobile expert, shows how you can use your .NET skills to build fully native iOS apps — completely in C#.
Watch webinar recording at https://aka.ms/xamuiosappvideo
Explore Xamarin University at xamarin.com/university
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
5. The Landscape
• Over 40% of devices in the wild are running Gingerbread! (Android
version 2.3.x,API level 8)
• "Modern" Android OS versions (Honeycomb and higher) are < 50%
of the market.
• Thus, in order to reach all potential users in your market, you must
deal with OS fragmentation.
6. Basic Defense
• Set targetSdk to the current highest API level.
• Use helper classes to encapsulate OS version checking logic.
Reflection will not work. But you can check
Build.VERSION.SdkInt
• Optionally set minSdk to the lower bound of Android API level
your app supports.
• It is possible to have multiple APKs in Google Play that support
different Android API levels.
10. Rdio’s Long-tail (is long)
• 2866 unique devices per month (as determined by Build.Product,
Build.Model)
• Top 10 devices represent 23% of all users
• 255 devices represent 85% of all users
• 894 devices had exactly (one) user
11. How Did We Get This Data?
• Not from Google Play.
• Even a simple means of identifying the device types and Android
versions running your app/service will prove invaluable.
• Embedding the Build.Model, Build.Product,
Build.VERSION.SdkInt into the User-Agent header, for
example.
• A service that pings an API endpoint every 24 hours. (The example
app has an implementation of this method).
12. Be Cautious
• The product and model strings can be too granular sometimes.
• Many devices with the same street name have multiple model and
product strings.
• The Samsung Galaxy S III has at least 5 unique model strings.
13. PickYour Battles
• Use data to drive your development focus.
• Make smart decisions on where you cut off support.
• It is _possible_ to support all the way down to Android 1.6, but is
it worth it?
• Focus on device-specific issues that a lot of your users have.
15. Device DisplayVariations
• Display dimensions
• Display density (dpi)
• Display quality
• Don’t try to collect
them all.
• Use SDK tools to help
during design
16. Tools
• Android support library:Adds support for certain features (such as
Fragments) all the way back to Donut (1.6).
• ActionBar Sherlock:An open source library that adds support for
ActionBar to all versions of Android. http://actionbarsherlock.com
• android-ui-utils: https://code.google.com/p/android-ui-utils/
17. Use Fragments!
• Activities are heavy, Fragments are light.
• Allow for more flexible UI design and runtime configuration.
18. Think in Points, not Pixels
• You can’t make a pixel perfect implementation, so don’t try.
• A point is a logical representation of a pixel, based on the actual size
of a pixel on a 160dpi display.
• When designing start with the baseline (160dpi), and extrapolate
upwards. At this density 1pt == 1px (roughly).
19. Think in Points, not Pixels
• 9-patch is your friend. If your designers aren’t using 9-patch, make
them. There is an excellent 9-patch tool that ships with the Android
SDK (draw9patch).
• 9-patch images are specially formatted PNGs that define what areas
can and cannot be stretched.
21. Design for Android
• Don’t just take a design made for iOS and shoehorn it into Android.
• Use Android UI idioms:ActionBar, long-press, support landscape
orientation whenever possible, etc.
• RTFM! Google provides some excellent resources on how to design
and develop apps to support different display types.
22. Level-upYour Layout!
• Two easy, and often overlooked, resources are dimens.xml, and
integers.xml.
• Use Android’s resource directory structure to include multiple
versions (as with any resource). Layout-land, Layout-large, etc.
• For example, define number of columns in a grid view in
integers.xml so different values will be used depending on screen
size and orientation (in lieu of using auto_fit).
25. Level-upYour Layout!
• Use layout aliases: Define your different layouts (single_pane.xml,
dual_pane.xml, etc) in Resource/Layout, and provide mappings in the
size-qualified values directories (Resource/Values-large, etc).
• This saves you from having duplicate layouts residing in different
Layout directories (i.e. Layout-large/ and Layout-sw600dp/).
26. Don’t Forget About Focused State
• When designing buttons, or any other clickable/tappable widget,
don’t forget to supply a focused state.
• Without the focused state, the pointing device becomes useless as
the user will have no visual feedback to indicate which control has
focus and will be activated on click.
•<item android:state_focused="true"
android:drawable="@drawable/button_focused" />
27. Hardware Fragmentation
• May not be an issue depending on your application’s domain.
• Use your manifest to inform Google Play of your hardware
requirements (requires camera, etc).
• Use available APIs to determine fallback action at runtime if optional
peripheral is not available. Such as SensorManager.
28. External Storage
• Not always external or removable
• Never use a hardcoded path! /sdcard is wrong, wrong, wrong.
• Environment.ExternalDirectory can return a path to internal
storage.
• Store vital application data on internal storage (sqlite database, etc).
29. Media Framework
• OEMs use many different vendors for their media hardware needs.
• OEMs don’t always or can’t use the default Android MediaPlayer
implementation.
• This means the MediaPlayer can behave in insane ways.
30. How Rdio Mitigates Device Issues
• Trial and Error (and sometimes luck).
• Beta users group.
• Send one-off test builds to affected users.
• Remote device laboratories such as DeviceAnywhere and Perfecto
Mobile.
31. Conclusion
• You have no choice, you will encounter fragmentation.
• Be pragmatic, choose your battles, and use usage data to backup
your decisions on where to focus resources.
• Design for Android! Android is not iOS,Android users are not iOS
users, make an app that Android users will like.
32. Thanks!
• There are 4 of us from Rdio at Evolve (Anthony, Eric, Patrick, and
myself), if you see us, say hi!
• Brett Duncavage, Rdio Android Lead
• @xforward, http://brett.duncavage.org
• Source for example available here: https://github.com/bduncavage/
evolve2013