The document discusses building a consistent user experience across Android devices by leveraging XML resources, styles, themes, and layouts that adapt to different screen sizes. It emphasizes using density-independent pixels (dp) and scale-independent pixels (sp), providing alternate resources for different configurations using qualifiers, and employing the Android support libraries to ensure backwards compatibility. The document also recommends evaluating open source libraries to implement Material Design components not fully supported by the official libraries and frameworks.
From SXSW 2007: Making software predictable and consistent makes it much easier to use. This session will explain UI consistency and point out examples of failures and their consequences. We’ll discuss when it’s appropriate to break consistency, and how to build tools and process to ensure applications are consistent with human interface guidelines and real-world practices.
The document discusses principles of user interface design including layout, content awareness, aesthetics, user experience, and consistency. It provides guidelines for dividing screens into consistent areas for commands, navigation, and input/output. Field labels should be short, specific, clear and unambiguous to keep users aware of their location in the system with minimal effort. The interface should have pleasing visual design with appropriate font size, type, and whitespace while maintaining consistency in navigation, terminology, and behaviors to predictably guide both novice and experienced users.
The document provides tips for Android development. It recommends using RelativeLayout over LinearLayout to improve performance. It also recommends using the Hierarchy Viewer tool to analyze layouts and identify potential performance issues. Additional tips include using keyboard shortcuts effectively in Eclipse, using LogCat to debug problems, and properly configuring and testing applications before publishing.
The document discusses Android application development. It covers setting up an Android development environment with Android Studio and the Android SDK. It provides an overview of the Android platform, including the Android runtime, anatomy of an Android app with components like activities, services, and content providers. It also discusses Android UI fundamentals, resources, building UIs with layouts and views, and concludes with a question and answer section.
This document provides an overview of developing Android applications. It introduces key Android concepts like application components, intents, views and layouts. It discusses generating user interfaces in XML and code. It also covers practical matters like storage, packaging, resources and the application lifecycle. The document concludes by introducing the Android development toolchain, including the emulator, Eclipse plugin and debugging tools.
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.
The document discusses resources in Android applications. Resources include files like images, layout definitions, strings, animations, and other static content that code uses but are not the code itself. Resources are stored in folders under res/ and have different types like drawable, layout, values. Configurations qualifiers allow selecting resources based on device properties. The context object provides access to resources from Java code.
From SXSW 2007: Making software predictable and consistent makes it much easier to use. This session will explain UI consistency and point out examples of failures and their consequences. We’ll discuss when it’s appropriate to break consistency, and how to build tools and process to ensure applications are consistent with human interface guidelines and real-world practices.
The document discusses principles of user interface design including layout, content awareness, aesthetics, user experience, and consistency. It provides guidelines for dividing screens into consistent areas for commands, navigation, and input/output. Field labels should be short, specific, clear and unambiguous to keep users aware of their location in the system with minimal effort. The interface should have pleasing visual design with appropriate font size, type, and whitespace while maintaining consistency in navigation, terminology, and behaviors to predictably guide both novice and experienced users.
The document provides tips for Android development. It recommends using RelativeLayout over LinearLayout to improve performance. It also recommends using the Hierarchy Viewer tool to analyze layouts and identify potential performance issues. Additional tips include using keyboard shortcuts effectively in Eclipse, using LogCat to debug problems, and properly configuring and testing applications before publishing.
The document discusses Android application development. It covers setting up an Android development environment with Android Studio and the Android SDK. It provides an overview of the Android platform, including the Android runtime, anatomy of an Android app with components like activities, services, and content providers. It also discusses Android UI fundamentals, resources, building UIs with layouts and views, and concludes with a question and answer section.
This document provides an overview of developing Android applications. It introduces key Android concepts like application components, intents, views and layouts. It discusses generating user interfaces in XML and code. It also covers practical matters like storage, packaging, resources and the application lifecycle. The document concludes by introducing the Android development toolchain, including the emulator, Eclipse plugin and debugging tools.
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.
The document discusses resources in Android applications. Resources include files like images, layout definitions, strings, animations, and other static content that code uses but are not the code itself. Resources are stored in folders under res/ and have different types like drawable, layout, values. Configurations qualifiers allow selecting resources based on device properties. The context object provides access to resources from Java code.
This document provides an overview of Android application development. It introduces key concepts like the Android system architecture with multiple application components running on top of an Linux kernel. It demonstrates a simple "Hello World" application and covers major application components like Activities, Services, BroadcastReceivers and ContentProviders. It also discusses practical matters like storage, packaging, resources and application lifecycle. Finally, it introduces the Android development toolchain including the emulator, Eclipse plugin and debugging tools.
The document provides an overview of designing Drupal themes. It discusses common tools used to design themes such as Photoshop, Fireworks, and Illustrator. It also discusses Drupal-specific tools like Firebug and the Theme Developer module. The presentation covers designing for Drupal concepts like regions, blocks, and views. It provides examples of existing Drupal themes and recommendations for naming conventions, image preparation, CSS organization, and common theme techniques like CSS resets and menu placement.
Eclipse is a multi-language IDE that allows users to extend its abilities through plugins. It includes a debugging tool called DDMS that provides services like port forwarding, screen capture, and thread/heap information for Android devices. The Android emulator allows running and testing Eclipse applications on virtual Android devices. The manifest file presents essential application information to Android including elements, attributes, and declarations of launcher activities. Supporting multiple screens involves providing alternative layouts and resources for different screen densities and sizes.
Android Studio is the official IDE for Android development. It is based on IntelliJ IDEA and incorporates code editing, debugging and developer tools. The software was first released in 2013 and replaced Eclipse ADT as the primary IDE. Android Studio supports application development on Android through features like a Gradle-based build system, emulator, code templates and GitHub integration. It also includes tools to write code, test apps, compile APKs and submit apps to the Google Play Store. The manifest file declares app components, permissions, SDK version and other metadata to the OS and Play Store. Resources like images, strings and fonts are stored in directories under res.
Android development orientation for starters v2Joemarie Amparo
This slides contains overview of android development for beginners.
I created this for the students of CCA Cebu
Special thanks to Larry Walters's presentation from which I also refer.
Introduction to Android and Android StudioSuyash Srijan
This is a presentation that I gave at Google Developer Group Oxford to introduce people to Android development and Android Studio IDE, which is used to build Android apps. This presentation gives a brief overview of the platform and fundamentals of the app and what developer tools are available.
PS: Some slides do not have any text accompanying it. That is either because it wasn't relevant or because the text would've been too long to put on the corresponding slide.
The document provides an overview of the key concepts and components in the Android development environment, including:
- A 6 module course curriculum covering basics of Android through advanced concepts.
- Eclipse as the integrated development environment for writing Android applications in Java.
- Tools like DDMS and the Android Emulator for debugging apps and testing on emulated devices.
- Key aspects of the Android application lifecycle and manifest file configuration.
- Support for internationalization through localization of strings and resources.
- Handling different devices through layout configuration qualifiers and drawable assets.
Anatomy Of An Adroid Application Lecture 3.pptxMuzamil Yousaf
The document discusses the anatomy of an Android application project structure. It is divided into the main parts: App, Gradle Scripts, and folders within App - Manifests, Java, and Res. The Manifests folder contains the AndroidManifest.xml file which describes app components, permissions, and other metadata. The Java folder stores Java source code files. The Res folder organizes app resources like images, layouts, icons into type-specific directories like Drawable, Layout, Mipmap and Values.
This document provides an introduction to developing Android applications using Android Studio. It begins with a review of Android and Android Studio, then discusses setting up the Android Studio development environment. It describes the activity lifecycle and project structure in Android, including the java, manifest, res, and Gradle script folders. The document outlines different types of layouts that can be used to structure user interfaces and provides a guide to the res folder for storing app resources. It concludes by stating that the next steps will involve creating a simple app user interface.
Mit Oracle Application Express entwickelt man im Browser Applikationen, die im Browser laufen. Damit ist der Browser eines der wichtigsten Werkzeuge eines APEX Entwicklers. Beim Entwickeln mit SQL oder PL/SQL nutzen wir die reiche Funktionalitäten von IDEs (SQL Developer, TOAD, PLSQL Developer, ...) um produktive zu arbeiten. Das bauen von Webapplikationen beschränkt sich aber nicht die Datenbank. Man wird auch mit Techniken wie HTML, CSS und JavaScript konfrontiert.
Obwohl APEX die Komplexität, die diese Techniken mit sich mitbringen, zu einem großen Teil mit dem deklarativen Aufbau des Frameworks verbergen kann, desto mehr man mit APEX entwickelt, desto mehr wird man gezwungen sich mit der darunterliegenden Technik zu befassen. Das ist der Moment, dass man als Entwickler den Browser nicht allein als Applikations-Fenster, sondern auch als modernes Entwickeltool einsetzt.
Debugging, Testen, Performance Tuning, dies sind nur rein paar Möglichkeiten die durch den Browser unterstützt werden. In meiner Präsentation werde ich die wichtigsten Funktionen und Features moderner Browser, die für uns APEX Entwickler das Leben einfacher machen, erläutern und demonstrieren.
Android is an operating system for mobile devices that is developed by the Open Handset Alliance led by Google. It uses a Linux kernel with middleware, libraries and APIs written in C/C++. The Android runtime uses the Dalvik virtual machine and Java core libraries. Applications are developed using the Android SDK and written in Java. The document provides details on the architecture including system components like activities, services, content providers and intents. It also covers topics like sensors, media recording, and the Android development environment.
Infinite Scale - Introduction to Google App EngineMarian Borca
This document provides an introduction to Google App Engine (GAE), including how to build and deploy Python applications on GAE. It covers the key aspects of using GAE such as the runtime environment, frameworks, users, forms, datastore, templates, assets, testing, and deployment. The tutorial contained in the document walks through building a simple "Hello World" application and expanding it to incorporate additional GAE features and functionality.
Android application development fundamentalsindiangarg
Some concepts to understand the things that relate to basics of development on the Android Platform. The presentation explains the concept of formation of virtual machine for each android app. It also explains the main components like Activities, Services, Content Provider and Broadcast Receiver. The purpose of Intent is also explained. One can also find a brief on things that one can write in the Manifest file. The types of resources have also been explained. Finally one learns to know about the android metrics.
An overview of the way developers approach problems, for Entrepreneurs, Managers & Designers, to facilitate discussion and understanding. Developers are creative problem solvers who use words and logic to “model” stuff with objects, properties, methods, inheritance, composition, apis, and frameworks, to build: web sites, web apps, mobile apps, and iot in a repository on a stack with tools and tests at scale for our users.
5 Keys to API Design - API Days Paris 2013Daniel Feist
This document discusses 5 keys to API design: 1) The API contract is critical as it tells developers what to expect and deliver, enables parallel development, and ensures requirements are met. 2) Design to delight users by gathering feedback and iterating quickly. 3) Think of APIs as APX (API Experience) and craft them for user enjoyment. 4) Leverage patterns for resource types, collections, traits and more. 5) Engage developers through social tools, interactive consoles and prototyping tools to get their feedback. The document also promotes the RAML specification for modeling RESTful APIs in a clean, structured way.
The document discusses the concept of "Docs Like Code", which treats documentation like code by storing docs in version control systems, using plain text formats, and integrating doc writing and publishing into the same workflow as software development. It provides the case study of Apache Pulsar, which uses GitHub and other tools to collaborate effectively on docs between developers, writers and users. Benefits include better doc quality and syncing with code through continuous integration/deployment of docs.
This document provides an overview of UI and UX considerations for mobile developers using Material Design. It discusses key Material Design components like floating action buttons, cards, tabs, and toolbars. It also covers principles of interface design like focusing on the user, making the right things visible, showing proper feedback, being predictable, and being fault-tolerant. The document recommends using density-independent pixels, supporting different screen densities, and handling orientation changes properly. It emphasizes using animation and shadows to provide visual cues about objects' depth.
SEF 2014 - Responsive Design in SharePoint 2013Marc D Anderson
Presented with Christian Ståhl
Everyone is talking about responsive design. But are you really ready to bring SharePoint to mobile and tablets? While you may have an idea of what your site will look like when finished, there are many basic concepts and pitfalls that aren’t always outlined in the “How To’s”.
In this session, we will go through foundational steps to planning a responsive SharePoint site including how to handle a hybrid content scenario that uses publishing and team sites. You will learn what tools and templates can make your life easier during design, build and testing. If you are excited about the capability of bringing SharePoint to any device but not sure where to start, check out this session to get the foundational understanding of the concept, best practices and examples to get you started.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
This document provides an overview of Android application development. It introduces key concepts like the Android system architecture with multiple application components running on top of an Linux kernel. It demonstrates a simple "Hello World" application and covers major application components like Activities, Services, BroadcastReceivers and ContentProviders. It also discusses practical matters like storage, packaging, resources and application lifecycle. Finally, it introduces the Android development toolchain including the emulator, Eclipse plugin and debugging tools.
The document provides an overview of designing Drupal themes. It discusses common tools used to design themes such as Photoshop, Fireworks, and Illustrator. It also discusses Drupal-specific tools like Firebug and the Theme Developer module. The presentation covers designing for Drupal concepts like regions, blocks, and views. It provides examples of existing Drupal themes and recommendations for naming conventions, image preparation, CSS organization, and common theme techniques like CSS resets and menu placement.
Eclipse is a multi-language IDE that allows users to extend its abilities through plugins. It includes a debugging tool called DDMS that provides services like port forwarding, screen capture, and thread/heap information for Android devices. The Android emulator allows running and testing Eclipse applications on virtual Android devices. The manifest file presents essential application information to Android including elements, attributes, and declarations of launcher activities. Supporting multiple screens involves providing alternative layouts and resources for different screen densities and sizes.
Android Studio is the official IDE for Android development. It is based on IntelliJ IDEA and incorporates code editing, debugging and developer tools. The software was first released in 2013 and replaced Eclipse ADT as the primary IDE. Android Studio supports application development on Android through features like a Gradle-based build system, emulator, code templates and GitHub integration. It also includes tools to write code, test apps, compile APKs and submit apps to the Google Play Store. The manifest file declares app components, permissions, SDK version and other metadata to the OS and Play Store. Resources like images, strings and fonts are stored in directories under res.
Android development orientation for starters v2Joemarie Amparo
This slides contains overview of android development for beginners.
I created this for the students of CCA Cebu
Special thanks to Larry Walters's presentation from which I also refer.
Introduction to Android and Android StudioSuyash Srijan
This is a presentation that I gave at Google Developer Group Oxford to introduce people to Android development and Android Studio IDE, which is used to build Android apps. This presentation gives a brief overview of the platform and fundamentals of the app and what developer tools are available.
PS: Some slides do not have any text accompanying it. That is either because it wasn't relevant or because the text would've been too long to put on the corresponding slide.
The document provides an overview of the key concepts and components in the Android development environment, including:
- A 6 module course curriculum covering basics of Android through advanced concepts.
- Eclipse as the integrated development environment for writing Android applications in Java.
- Tools like DDMS and the Android Emulator for debugging apps and testing on emulated devices.
- Key aspects of the Android application lifecycle and manifest file configuration.
- Support for internationalization through localization of strings and resources.
- Handling different devices through layout configuration qualifiers and drawable assets.
Anatomy Of An Adroid Application Lecture 3.pptxMuzamil Yousaf
The document discusses the anatomy of an Android application project structure. It is divided into the main parts: App, Gradle Scripts, and folders within App - Manifests, Java, and Res. The Manifests folder contains the AndroidManifest.xml file which describes app components, permissions, and other metadata. The Java folder stores Java source code files. The Res folder organizes app resources like images, layouts, icons into type-specific directories like Drawable, Layout, Mipmap and Values.
This document provides an introduction to developing Android applications using Android Studio. It begins with a review of Android and Android Studio, then discusses setting up the Android Studio development environment. It describes the activity lifecycle and project structure in Android, including the java, manifest, res, and Gradle script folders. The document outlines different types of layouts that can be used to structure user interfaces and provides a guide to the res folder for storing app resources. It concludes by stating that the next steps will involve creating a simple app user interface.
Mit Oracle Application Express entwickelt man im Browser Applikationen, die im Browser laufen. Damit ist der Browser eines der wichtigsten Werkzeuge eines APEX Entwicklers. Beim Entwickeln mit SQL oder PL/SQL nutzen wir die reiche Funktionalitäten von IDEs (SQL Developer, TOAD, PLSQL Developer, ...) um produktive zu arbeiten. Das bauen von Webapplikationen beschränkt sich aber nicht die Datenbank. Man wird auch mit Techniken wie HTML, CSS und JavaScript konfrontiert.
Obwohl APEX die Komplexität, die diese Techniken mit sich mitbringen, zu einem großen Teil mit dem deklarativen Aufbau des Frameworks verbergen kann, desto mehr man mit APEX entwickelt, desto mehr wird man gezwungen sich mit der darunterliegenden Technik zu befassen. Das ist der Moment, dass man als Entwickler den Browser nicht allein als Applikations-Fenster, sondern auch als modernes Entwickeltool einsetzt.
Debugging, Testen, Performance Tuning, dies sind nur rein paar Möglichkeiten die durch den Browser unterstützt werden. In meiner Präsentation werde ich die wichtigsten Funktionen und Features moderner Browser, die für uns APEX Entwickler das Leben einfacher machen, erläutern und demonstrieren.
Android is an operating system for mobile devices that is developed by the Open Handset Alliance led by Google. It uses a Linux kernel with middleware, libraries and APIs written in C/C++. The Android runtime uses the Dalvik virtual machine and Java core libraries. Applications are developed using the Android SDK and written in Java. The document provides details on the architecture including system components like activities, services, content providers and intents. It also covers topics like sensors, media recording, and the Android development environment.
Infinite Scale - Introduction to Google App EngineMarian Borca
This document provides an introduction to Google App Engine (GAE), including how to build and deploy Python applications on GAE. It covers the key aspects of using GAE such as the runtime environment, frameworks, users, forms, datastore, templates, assets, testing, and deployment. The tutorial contained in the document walks through building a simple "Hello World" application and expanding it to incorporate additional GAE features and functionality.
Android application development fundamentalsindiangarg
Some concepts to understand the things that relate to basics of development on the Android Platform. The presentation explains the concept of formation of virtual machine for each android app. It also explains the main components like Activities, Services, Content Provider and Broadcast Receiver. The purpose of Intent is also explained. One can also find a brief on things that one can write in the Manifest file. The types of resources have also been explained. Finally one learns to know about the android metrics.
An overview of the way developers approach problems, for Entrepreneurs, Managers & Designers, to facilitate discussion and understanding. Developers are creative problem solvers who use words and logic to “model” stuff with objects, properties, methods, inheritance, composition, apis, and frameworks, to build: web sites, web apps, mobile apps, and iot in a repository on a stack with tools and tests at scale for our users.
5 Keys to API Design - API Days Paris 2013Daniel Feist
This document discusses 5 keys to API design: 1) The API contract is critical as it tells developers what to expect and deliver, enables parallel development, and ensures requirements are met. 2) Design to delight users by gathering feedback and iterating quickly. 3) Think of APIs as APX (API Experience) and craft them for user enjoyment. 4) Leverage patterns for resource types, collections, traits and more. 5) Engage developers through social tools, interactive consoles and prototyping tools to get their feedback. The document also promotes the RAML specification for modeling RESTful APIs in a clean, structured way.
The document discusses the concept of "Docs Like Code", which treats documentation like code by storing docs in version control systems, using plain text formats, and integrating doc writing and publishing into the same workflow as software development. It provides the case study of Apache Pulsar, which uses GitHub and other tools to collaborate effectively on docs between developers, writers and users. Benefits include better doc quality and syncing with code through continuous integration/deployment of docs.
This document provides an overview of UI and UX considerations for mobile developers using Material Design. It discusses key Material Design components like floating action buttons, cards, tabs, and toolbars. It also covers principles of interface design like focusing on the user, making the right things visible, showing proper feedback, being predictable, and being fault-tolerant. The document recommends using density-independent pixels, supporting different screen densities, and handling orientation changes properly. It emphasizes using animation and shadows to provide visual cues about objects' depth.
SEF 2014 - Responsive Design in SharePoint 2013Marc D Anderson
Presented with Christian Ståhl
Everyone is talking about responsive design. But are you really ready to bring SharePoint to mobile and tablets? While you may have an idea of what your site will look like when finished, there are many basic concepts and pitfalls that aren’t always outlined in the “How To’s”.
In this session, we will go through foundational steps to planning a responsive SharePoint site including how to handle a hybrid content scenario that uses publishing and team sites. You will learn what tools and templates can make your life easier during design, build and testing. If you are excited about the capability of bringing SharePoint to any device but not sure where to start, check out this session to get the foundational understanding of the concept, best practices and examples to get you started.
Similar to Consistent UI Across Android Devices (20)
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
What is Master Data Management by PiLog Groupaymanquadri279
PiLog Group's Master Data Record Manager (MDRM) is a sophisticated enterprise solution designed to ensure data accuracy, consistency, and governance across various business functions. MDRM integrates advanced data management technologies to cleanse, classify, and standardize master data, thereby enhancing data quality and operational efficiency.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
1. Building a Consistent User
Experience Across a Range of
Android Devices
Irene Duke
Senior Android Engineer
Prolific Interactive
Feb. 3, 2015
2. Agenda
• Why is consistent UI important?
• Learn about xml resources such as dimens, drawables,
colors, styles, and themes
• Learn to use the Android support libraries for backwards
compatibility
• Learn to create layouts that adapt to different screen sizes
• Learn to leverage open source solutions when the Android
support libraries fall short
• Learn to create re-usable UI components and custom views
8. XML Resources
• layouts
• themes, styles
• dimens
• drawables
• colors
• anim, animator, strings, selectors, and more
9. Resource Qualifiers
• Qualifiers allow us to provide alternate resources for
different devices and/or configurations
• Create a new directory in res/ named in the form
<resources_name>-<qualifier>
• <resources_name> is the directory name of the
corresponding default resources
• <qualifier> is a name that specifies an individual
configuration for which these resources are to be
used
10. Resource Qualifiers
• Can be chained with a dash
between qualifiers
• Android system finds the “Best
Matching” resource at runtime
based on the qualifiers
13. Colors
• Use these in other xml resources by referring to
them as
@color/color_primary
• Use them in code using
getResources().getColor(R.color.color_primary)
14. DRY (Don’t Repeat
Yourself)
• Define all colors you want to use in colors.xml
• Reference the definition
• Use code completion
• Less possibility for errors
16. Density Independent Pixels
• The Android system scales these at runtime based
on the device screen density (pixels per inch)
• On an mdpi (~160dpi) screen, 8dp = 8px
• ldpi : mdpi : hdpi : xhdpi : xxhdpi
3 : 4 : 6 : 8 : 12
17. Scale Independent Pixels
• Used for text
• The Android system scales these for the current
screen density and the user’s system-wide scaling
factor for text selected in the Settings app
20. Dimens
• Use these in other xml resources by referring to
them as
@dimen/text_size_small
• Use them in code using
getResources()
.getDimensionPixelSize(R.dimen.padding_small)
22. PNG Drawables
• Android groups all actual screen densities into six
generalized densities: ldpi, mdpi, hdpi, xhdpi,
xxhdpi, and xxxhdpi
• Provide .png assets for each density you want to
target to prevent Android scaling images at runtime
• If apk size is a concern, provide xxhdpi and mdpi
only and let the Android system scale drawables for
other devices
23. Styles
• A collection of properties that customise the way a
view should be drawn
• Set properties such as padding, font size,
background color, and much more
26. DRY (Don’t Repeat
Yourself)
• Define styles for common components
• Reference the definition
• Use code completion
• Less possibility for errors
27. Themes
• Styles that are applied on an application or activity
level, usually in the AndroidManifest
• You shouldn’t have a ton of themes. Most activities
should use a consistent theme.
• For backwards compatibility, extend from
AppCompat themes in the support libraries
32. Evolution of Android
• Pre-Android 4.0 - Base themes are fully customisable by
the device manufacturer
• Android 4.0 - Holo Light and Holo Dark themes are
available on all devices that have the Google Play store.
AppCompat theme available in support library to bring
Holo theme to pre-Android 4.0 devices
• Android 5.0 - Material Light and Material Dark themes are
available on all devices that have the Google Play store.
AppCompat theme in support library is updated to
Material design
33. Support libraries
• Released by Google to provide backwards
compatibility for some themes, styles, and SDK
features
• Use them whenever possible to make your app look
the same across SDK versions and manufacturers
35. Use AppCompat
• All Activities should extend from ActionBarActivity
• All themes must inherit from Theme.AppCompat
• use ActionBar, Toolbar, DrawerLayout,
NotificationCompat, MenuItemCompat, Fragment
and other APIs from the support library (make sure
the import is correct)
36. Only in Lollipop
• Elevation (z-ordering and shadows)
• Ripple effect
• New activity transitions like explode and shared
element transitions
39. Preview Pane
• Allows you to see how your layout will adapt to
different configurations
• It’s your friend (but sometimes it has bugs)
40. Design Time Layout Attributes
(Tools Namespace)
• No runtime overhead
• All attributes you define in the tools namespace are
stripped during the build process
42. Layouts that Adapt
• FrameLayout
• LinearLayout
• RelativeLayout
• Never use AbsoluteLayout
43. Width and Height
• Must be specified for all views and layouts
• Use dp, wrap_content, match_parent, and gravity
• Never use px
44. Gravity
• gravity - sets the gravity of the content within the
view (or layout) its used on
• layout_gravity - sets the gravity of the view (or
layout) within its parent
• This can be tricky (remember the preview pane is
your friend)
45. FrameLayout
• Views are layered in a frame
• Views can be centered or aligned with the edges of
the frame using layout_gravity
• Let’s take a look at some code
46. LinearLayout
• Views are drawn one after another, either
horizontally or vertically
• Weights can be used to change how much space a
view gets
• Let’s take a look at some code
47. LinearLayout
• Using weight with LinearLayout causes views to be
measured twice during layout.
• When a LinearLayout with non-zero weights is nested
inside another LinearLayout with non-zero weights, then
the number of measurements increase exponentially.
• Use 0dp instead of wrap_content or match_parent in
the direction this view should grow
• Flatten the hierarchy with RelativeLayout
48. RelativeLayout
• Most flexible layout
• Views can be positioned in relation to other views
• Let’s take a look at some code
50. Material Design
• Android L is missing implementations for some
components like floating action buttons, snackbars,
and more.
• Support libraries are missing backwards
compatibility for styling of some components like
alert dialogs, date and time pickers, progress
spinners, and more.
51. Open Source
• Don’t re-invent the wheel
• Many Android developers have released open source
solutions for the missing or imperfect components
• Floating Action Button
• Snackbar
• Alert Dialog
• Edit Text
52. What to Look for in an Open
Source Library
• Lots of stars
• Recent activity/releases
• Documentation, customisability
• Open source license like MIT or Apache
• Availability on maven central or other central repository
• Doesn’t throw warnings or cause crashes