What's new in android jakarta gdg (2015-08-26)Google
This document summarizes the key updates and features in Android M (Marshmallow), Google Play Services 7.8, and Android tools and libraries. Some highlights include runtime permissions in Android M, auto app backup, power saving optimizations, new APIs in Google Play Services like Nearby Messages and Face API, and support libraries for navigation, snackbars, tabs and more. The document provides code samples and best practices for using the new features.
While it is technically possible to create and attach widgets to your activity purely through Java code, the more common approach is to use an XML-based layout file. Dynamic instantiation of widgets is reserved for more complicated scenarios, where the widgets are not known at compile time (e.g., populating a column of radio buttons based on data retrieved from the Internet).
With that in mind, this chapter discuss the XML way to lay out Android activity views that way
The document discusses Material Design and its transition period in Android. It provides code snippets and explanations for implementing various Material Design components like CoordinatorLayout, AppBarLayout, FloatingActionButton, TabLayout, ViewPager, NavigationDrawer, and TextInputLayout. It demonstrates how to setup scrolling behaviors, pinned/collapsing toolbars, navigation menus, and customize styles.
This document provides an overview of setting up the development environment for an Android and SWS application. It includes sections on installing Java, Eclipse, the Android SDK and ADT plugin. It also covers creating a sample Android project and describes the SWS API package structure, which includes common, configuration, utility, UI and transaction processing components.
The document discusses 7 ways to improve a Gradle build for an Android project. It covers extracting common values and configurations to external files, customizing app IDs and names for different build flavors, setting up signing configurations, running tests on a specific build type, and integrating continuous delivery using Crashlytics and Fastlane. The goal is to automate tasks, customize builds for a project, and integrate continuous delivery.
Tutorial 2: Mirror API
The Glass Class at HIT Lab NZ
Learn how to program and develop for Google Glass.
https://www.youtube.com/watch?v=nml8qE6SF9k&list=PLsIGb72j1WOlLFoJqkhyugDv-juTEAtas
http://arforglass.org
http://www.hitlabnz.org
What's new in android jakarta gdg (2015-08-26)Google
This document summarizes the key updates and features in Android M (Marshmallow), Google Play Services 7.8, and Android tools and libraries. Some highlights include runtime permissions in Android M, auto app backup, power saving optimizations, new APIs in Google Play Services like Nearby Messages and Face API, and support libraries for navigation, snackbars, tabs and more. The document provides code samples and best practices for using the new features.
While it is technically possible to create and attach widgets to your activity purely through Java code, the more common approach is to use an XML-based layout file. Dynamic instantiation of widgets is reserved for more complicated scenarios, where the widgets are not known at compile time (e.g., populating a column of radio buttons based on data retrieved from the Internet).
With that in mind, this chapter discuss the XML way to lay out Android activity views that way
The document discusses Material Design and its transition period in Android. It provides code snippets and explanations for implementing various Material Design components like CoordinatorLayout, AppBarLayout, FloatingActionButton, TabLayout, ViewPager, NavigationDrawer, and TextInputLayout. It demonstrates how to setup scrolling behaviors, pinned/collapsing toolbars, navigation menus, and customize styles.
This document provides an overview of setting up the development environment for an Android and SWS application. It includes sections on installing Java, Eclipse, the Android SDK and ADT plugin. It also covers creating a sample Android project and describes the SWS API package structure, which includes common, configuration, utility, UI and transaction processing components.
The document discusses 7 ways to improve a Gradle build for an Android project. It covers extracting common values and configurations to external files, customizing app IDs and names for different build flavors, setting up signing configurations, running tests on a specific build type, and integrating continuous delivery using Crashlytics and Fastlane. The goal is to automate tasks, customize builds for a project, and integrate continuous delivery.
Tutorial 2: Mirror API
The Glass Class at HIT Lab NZ
Learn how to program and develop for Google Glass.
https://www.youtube.com/watch?v=nml8qE6SF9k&list=PLsIGb72j1WOlLFoJqkhyugDv-juTEAtas
http://arforglass.org
http://www.hitlabnz.org
The document discusses the steps to create a basic first Android app. It includes creating an Android project in Eclipse, configuring the AndroidManifest.xml file to define app components and permissions, and adding string resources for text labels. The AndroidManifest.xml defines the app package name, minimum and target SDK versions, launcher activity, and application components. String resources are used to store text labels and are referenced in the manifest.
JSF 2 Notes with coding examples topics include introduction , managed bean, jsf tags, navigation, jsf life cycle and phase listners,jsf validation and converters, i18n
This document outlines an 80-hour course on Android application development. The course will meet 3 times per week for 4 hours of lectures, assignments, and Q&A. Topics will include the Android architecture, activities, intents, services, UI design, databases, location services, maps, and deploying apps. Students should know Java or C# fundamentals. The course aims to teach students how to build world-class mobile apps using the popular and open-source Android platform. Evaluation will be based on attendance, assignments, projects, tests, and quizzes.
Skinning Android for Embedded ApplicationsVIA Embedded
This presentation given by Jack Liu, VIA Embedded Senior Software Manager, looks at some of the most commonly requested modifications we receive in order to make Android achieve the required behavior, look and feel for an embedded scenario, including changing the start-up screen image with a custom logo or animation, how to directly boot into an application, and removal of system bars to achieve full screen display mode behavior.
Getting started with android dev and test perspectiveGunjan Kumar
The presentation covers basic intro to Android, how to get started with development, including instructions on setup, common UI usages like menus, dialogs; details on services like Sensors, Location and Google Maps
It also covers ideas on how to test including details on shell and installation instructions without using Eclipse
An app widget allows users to interact with an app's key functionality directly from their home screen. This document discusses what app widgets are, how the app widget framework works, and the steps to create an app widget, including declaring an AppWidgetProvider in the manifest, creating AppWidgetProviderInfo metadata and layout XML files, writing the AppWidgetProvider class, and optionally adding an app widget configuration activity.
The document provides instructions on installing the Android SDK and setting up a development environment in Netbeans or Eclipse. It describes the basic building blocks of an Android application including activities, intents, services, and content providers. It also covers creating user interfaces with views and view hierarchies, handling click events, and building a simple form layout with widgets like text fields, buttons, and radio buttons.
The document outlines an agenda and topics for an Android development 101 training session over two days. Day one will cover creating an Android project, widgets and interactions, and HTML/WebView. Day two will cover audio, video, signing APKs, and uploading to the Google Play store. The document also provides answers to frequently asked questions about Android topics like what Android is, its architecture, available versions, tools for development, and distributing apps. Demo portions are planned to accompany the topics.
The document discusses customized Java EE training courses that are developed and taught by a well-known author and developer. The training courses cover topics like Java, JSF 2, servlets, Android development, and can be held either at public venues or customized on-site at organizations. Details are provided on layout strategies and commonly used attributes for XML layouts in Android development, with examples of nested LinearLayouts using different orientations, widths, heights and gravities.
Android P includes several new features such as WiFi round-trip-time positioning, display cutout support, the ImageDecoder class for image decoding, and a unified biometric authentication API. It also improves existing features like notifications with enhanced messaging styles, and includes privacy and power management changes such as placing restrictions on background access to sensors and limiting apps' resource usage based on usage patterns.
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript. It is an update to AngularJS with a focus on mobile and typesafety. Major versions include Angular 1.x, 2.x, 4.x and 5.x. Angular uses components, services and modules to build applications with templates and styles. It is compiled to JavaScript using transpilation and supports AOT and JIT compilation. Common tools used with Angular include the Angular CLI, Webpack and Zone.js.
In Android, the user interface is built using a hierarchy of View and ViewGroup objects. Views are basic UI elements like buttons and text fields, while ViewGroups serve as containers to hold other views and arrange their layout. The UI hierarchy is defined using XML layout files, which map XML elements to their corresponding View classes. These layout files are loaded and inflated into views at runtime. Views can also be created and added programmatically in code. Views handle drawing, interaction events, and other behaviors to display the UI to the user.
This document outlines the requirements that must be met for mobile phones to be compatible with Android 2.1. Devices must meet all requirements in the document, including passing the Android Compatibility Test Suite. The document provides guidelines for both managed and soft APIs, permissions, and build parameters. Device implementations are responsible for ensuring compatibility with the Android Open Source Project.
AngularJS Introduction (Talk given on Aug 5 2013)Abhishek Anand
This document provides an introduction and overview of AngularJS, including:
- The main components of Angular apps like modules, models, controllers, templates, directives, services, filters and routes.
- How Angular handles data binding, dependency injection and promises.
- Testing Angular apps with tools like Karma, Jasmine and Batarang.
- Best practices for Angular development and organizing code.
The document provides an overview of Android user interface components. It discusses that an Activity contains screens composed of components or screen containers called View Groups or Layouts. Layouts define the arrangement of components. There are six main types of Layouts: LinearLayout, RelativeLayout, TableLayout, FrameLayout, AbsoluteLayout, and GridLayout. It also describes Views, ViewGroups, and how components are specified in XML layout files or programmatically.
Android uses XML-based layouts to specify the user interface components and their relationships. An XML layout file defines a tree of UI elements and their properties. Common layouts include linear layout (vertical or horizontal), relative layout (positions elements relative to each other), frame layout (stacks elements), and table layout (arranges elements into rows and columns). The scroll view allows scrolling through elements that exceed the display size. Developers attach layouts to Java code to programmatically access and modify UI elements.
This document provides an overview and examples of widgets from the Android Design Support Library, including FloatingActionButton, Snackbar, CoordinatorLayout, AppBarLayout, TabLayout, CollapsingToolbarLayout, and NavigationView. It describes the purpose and key attributes of each widget, and provides sample XML layout code to demonstrate how to implement them. The document also covers topics like applying scrolling behaviors, adding headers and menus to NavigationView, and using TextInputLayout to style edit text fields.
The document discusses implementing a material design theme in an Android application. It covers configuring the build.gradle file to use specific SDK and support library versions. It also covers defining styles and themes in styles.xml to set color properties and apply them to views. Additionally, it shows code for a low profile activity that implements a collapsing toolbar using animations when toggling the toolbar visibility.
Firebase. Предмет и область применения — Тимур АхметгареевPeri Innovations
Firebase provides tools to improve mobile app development and user experience. It offers analytics, notifications, remote config and other services to help developers better understand users, roll out changes, and run A/B tests. While the documentation and capabilities continue expanding, some limitations include historical audience data and lack of audience comparison tools. Overall, Firebase is a full-featured platform that simplifies the development process and allows extensive analysis of user behavior.
The document discusses securing Android applications. It covers the Android architecture, permissions model, data storage, content providers, networking, SQLite encryption, static analysis, and obfuscation. The key topics are the Dalvik VM, sandbox model, permissions, signing applications, minimizing permissions, HTTPS for networking, SQLite encryption, Lint for static analysis, and Proguard for obfuscation.
This document is a tutorial on using BroadcastReceivers in Android. It describes what BroadcastReceivers are, how they are implemented and registered, their lifecycle, and restrictions. It provides examples of using receivers for system broadcasts like boot completed, as well as creating a receiver for phone call events. Key points covered include registering receivers in the manifest, receiving intents, and starting services from receivers.
The document discusses the steps to create a basic first Android app. It includes creating an Android project in Eclipse, configuring the AndroidManifest.xml file to define app components and permissions, and adding string resources for text labels. The AndroidManifest.xml defines the app package name, minimum and target SDK versions, launcher activity, and application components. String resources are used to store text labels and are referenced in the manifest.
JSF 2 Notes with coding examples topics include introduction , managed bean, jsf tags, navigation, jsf life cycle and phase listners,jsf validation and converters, i18n
This document outlines an 80-hour course on Android application development. The course will meet 3 times per week for 4 hours of lectures, assignments, and Q&A. Topics will include the Android architecture, activities, intents, services, UI design, databases, location services, maps, and deploying apps. Students should know Java or C# fundamentals. The course aims to teach students how to build world-class mobile apps using the popular and open-source Android platform. Evaluation will be based on attendance, assignments, projects, tests, and quizzes.
Skinning Android for Embedded ApplicationsVIA Embedded
This presentation given by Jack Liu, VIA Embedded Senior Software Manager, looks at some of the most commonly requested modifications we receive in order to make Android achieve the required behavior, look and feel for an embedded scenario, including changing the start-up screen image with a custom logo or animation, how to directly boot into an application, and removal of system bars to achieve full screen display mode behavior.
Getting started with android dev and test perspectiveGunjan Kumar
The presentation covers basic intro to Android, how to get started with development, including instructions on setup, common UI usages like menus, dialogs; details on services like Sensors, Location and Google Maps
It also covers ideas on how to test including details on shell and installation instructions without using Eclipse
An app widget allows users to interact with an app's key functionality directly from their home screen. This document discusses what app widgets are, how the app widget framework works, and the steps to create an app widget, including declaring an AppWidgetProvider in the manifest, creating AppWidgetProviderInfo metadata and layout XML files, writing the AppWidgetProvider class, and optionally adding an app widget configuration activity.
The document provides instructions on installing the Android SDK and setting up a development environment in Netbeans or Eclipse. It describes the basic building blocks of an Android application including activities, intents, services, and content providers. It also covers creating user interfaces with views and view hierarchies, handling click events, and building a simple form layout with widgets like text fields, buttons, and radio buttons.
The document outlines an agenda and topics for an Android development 101 training session over two days. Day one will cover creating an Android project, widgets and interactions, and HTML/WebView. Day two will cover audio, video, signing APKs, and uploading to the Google Play store. The document also provides answers to frequently asked questions about Android topics like what Android is, its architecture, available versions, tools for development, and distributing apps. Demo portions are planned to accompany the topics.
The document discusses customized Java EE training courses that are developed and taught by a well-known author and developer. The training courses cover topics like Java, JSF 2, servlets, Android development, and can be held either at public venues or customized on-site at organizations. Details are provided on layout strategies and commonly used attributes for XML layouts in Android development, with examples of nested LinearLayouts using different orientations, widths, heights and gravities.
Android P includes several new features such as WiFi round-trip-time positioning, display cutout support, the ImageDecoder class for image decoding, and a unified biometric authentication API. It also improves existing features like notifications with enhanced messaging styles, and includes privacy and power management changes such as placing restrictions on background access to sensors and limiting apps' resource usage based on usage patterns.
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript. It is an update to AngularJS with a focus on mobile and typesafety. Major versions include Angular 1.x, 2.x, 4.x and 5.x. Angular uses components, services and modules to build applications with templates and styles. It is compiled to JavaScript using transpilation and supports AOT and JIT compilation. Common tools used with Angular include the Angular CLI, Webpack and Zone.js.
In Android, the user interface is built using a hierarchy of View and ViewGroup objects. Views are basic UI elements like buttons and text fields, while ViewGroups serve as containers to hold other views and arrange their layout. The UI hierarchy is defined using XML layout files, which map XML elements to their corresponding View classes. These layout files are loaded and inflated into views at runtime. Views can also be created and added programmatically in code. Views handle drawing, interaction events, and other behaviors to display the UI to the user.
This document outlines the requirements that must be met for mobile phones to be compatible with Android 2.1. Devices must meet all requirements in the document, including passing the Android Compatibility Test Suite. The document provides guidelines for both managed and soft APIs, permissions, and build parameters. Device implementations are responsible for ensuring compatibility with the Android Open Source Project.
AngularJS Introduction (Talk given on Aug 5 2013)Abhishek Anand
This document provides an introduction and overview of AngularJS, including:
- The main components of Angular apps like modules, models, controllers, templates, directives, services, filters and routes.
- How Angular handles data binding, dependency injection and promises.
- Testing Angular apps with tools like Karma, Jasmine and Batarang.
- Best practices for Angular development and organizing code.
The document provides an overview of Android user interface components. It discusses that an Activity contains screens composed of components or screen containers called View Groups or Layouts. Layouts define the arrangement of components. There are six main types of Layouts: LinearLayout, RelativeLayout, TableLayout, FrameLayout, AbsoluteLayout, and GridLayout. It also describes Views, ViewGroups, and how components are specified in XML layout files or programmatically.
Android uses XML-based layouts to specify the user interface components and their relationships. An XML layout file defines a tree of UI elements and their properties. Common layouts include linear layout (vertical or horizontal), relative layout (positions elements relative to each other), frame layout (stacks elements), and table layout (arranges elements into rows and columns). The scroll view allows scrolling through elements that exceed the display size. Developers attach layouts to Java code to programmatically access and modify UI elements.
This document provides an overview and examples of widgets from the Android Design Support Library, including FloatingActionButton, Snackbar, CoordinatorLayout, AppBarLayout, TabLayout, CollapsingToolbarLayout, and NavigationView. It describes the purpose and key attributes of each widget, and provides sample XML layout code to demonstrate how to implement them. The document also covers topics like applying scrolling behaviors, adding headers and menus to NavigationView, and using TextInputLayout to style edit text fields.
The document discusses implementing a material design theme in an Android application. It covers configuring the build.gradle file to use specific SDK and support library versions. It also covers defining styles and themes in styles.xml to set color properties and apply them to views. Additionally, it shows code for a low profile activity that implements a collapsing toolbar using animations when toggling the toolbar visibility.
Firebase. Предмет и область применения — Тимур АхметгареевPeri Innovations
Firebase provides tools to improve mobile app development and user experience. It offers analytics, notifications, remote config and other services to help developers better understand users, roll out changes, and run A/B tests. While the documentation and capabilities continue expanding, some limitations include historical audience data and lack of audience comparison tools. Overall, Firebase is a full-featured platform that simplifies the development process and allows extensive analysis of user behavior.
The document discusses securing Android applications. It covers the Android architecture, permissions model, data storage, content providers, networking, SQLite encryption, static analysis, and obfuscation. The key topics are the Dalvik VM, sandbox model, permissions, signing applications, minimizing permissions, HTTPS for networking, SQLite encryption, Lint for static analysis, and Proguard for obfuscation.
This document is a tutorial on using BroadcastReceivers in Android. It describes what BroadcastReceivers are, how they are implemented and registered, their lifecycle, and restrictions. It provides examples of using receivers for system broadcasts like boot completed, as well as creating a receiver for phone call events. Key points covered include registering receivers in the manifest, receiving intents, and starting services from receivers.
This document is a tutorial on using BroadcastReceivers in Android. It describes what BroadcastReceivers are, how to implement them, and how to register them either statically in the manifest file or dynamically at runtime. It provides examples of receiving system broadcasts like boot completed, as well as creating a BroadcastReceiver to start a Service when the device boots. It also includes an exercise on creating a BroadcastReceiver to log incoming phone calls by listening for telephony state changes.
This document provides an overview of setting up an Android development environment and creating basic Android projects. It discusses downloading the Java Development Kit (JDK), Eclipse IDE, Android SDK, and Android Developer Tools (ADT) plugin. It also explains creating a "Hello World" project, typical project components, and accessing sensors and databases in Android applications.
This document summarizes unsupported app types, hardware features, software features, intents, permissions and media APIs for the iBNuX @BBDevID Challenge. It also outlines tools that can be used like the Eclipse plugin, online tools and command line tools. The Eclipse plugin can be installed from a provided URL. Apps should target Android 2.3.3, use a minimum SDK of 10 and add the BlackBerry nature. The online packager at a given URL can also be used to repackage Android apps for BlackBerry.
This document provides an overview of Android security architecture and concepts. It discusses how Android uses the Linux kernel, Dalvik VM, application components, and permissions to isolate processes and protect data. Key points include how each app runs in its own Linux process with a unique user ID, and how activities, services, broadcast receivers, and content providers are secured using permissions defined in the manifest.
This document provides an overview of setting up the Android development environment and creating basic Android projects. It discusses downloading the necessary software including the Java Development Kit, Eclipse IDE, and Android SDK. It also explains how to install the Android Developer Tools plugin for Eclipse. The document demonstrates how to create a simple "Hello World" project and tabbed application. It discusses accessing sensors on Android devices like GPS and accelerometers. Finally, it covers using local SQLite and remote databases to store and access data.
This document provides an overview of setting up the Android development environment and creating basic Android projects. It discusses downloading the necessary software including the Java Development Kit, Eclipse IDE, and Android SDK. It also explains how to install the Android Developer Tools plugin for Eclipse. The document demonstrates how to create a simple "Hello World" project and tabbed application. It discusses accessing sensors on Android devices like GPS and accelerometers. Finally, it covers using local SQLite and remote databases to store and access data.
This document provides an overview of key concepts for developing Android applications. It discusses the Android development environment and tools, designing user interfaces, integrating Google Maps and Play Services, using fragments and loaders, making network requests, and common design patterns like AsyncTask. The document also covers additional topics like notifications, contextual menus, WebViews, and checking network connectivity. It serves as a useful reference for Android developers to understand essential APIs and best practices.
This document summarizes new features and changes in Android 2.2 Froyo. It includes improved support for Bluetooth, Exchange, camera, music apps, and tethering. It also describes new developer features like apps on external storage, data backup, device policy manager, cloud to device messaging, and UI improvements like car and night modes. Key infrastructure changes include JIT compilation, V8 JavaScript engine, and support for over 256MB RAM.
How much is your home screen useful with just icons? Not so much...Deep dive how to differentiate the home screen in order to increases user engagement, decreases the chance that an app will be uninstalled and increases the likelihood of its being used...
Deck was presented in Droidcon NYC 19 #DCNYC19
With third party clients connecting to your service you may find that the assumptions or opinions of a typical rails application are not robust enough. We'll run through some key considerations when building an API that will be consumed by a mobile app.
Android 13 is now in Beta 3 with new features like predictive back gesture, photo picker, per-app language preferences, and improved copy and paste. It also includes changes like new notification permission rules and foreground service task manager. Android Studio Chipmunk is now stable with enhancements to Compose, jank detection, and Jetifier checks. The Android Jetpack suite was updated with new versions of libraries like Room, Paging, and Navigation. The Android Privacy Sandbox continues work on privacy-preserving APIs.
Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS and Android apps using the WebDriver protocol. Appium uses a client-server architecture with the Appium server executing commands on a mobile device. Tests are written using various client libraries that communicate with the Appium server via the JSON wire protocol over HTTP.
This document provides instructions for creating a basic map application for Android using Google Maps. It outlines 8 key steps: 1) Downloading the Google API SDK, 2) Creating an emulator targeting the Google API, 3) Adding the Google Maps library and internet permissions to AndroidManifest.xml, 4) Replacing the main.xml layout with a MapView component, 5) Getting an API key by generating an MD5 fingerprint, 6) Entering the API key in main.xml, 7) Extending the MapActivity class instead of the Activity class, and 8) Running the app on the emulator.
1. The document describes an Android application package and activities. It includes the main activity, tutorial page activity, and pages for forums, guilds, and creation.
2. The main sections of the app are described as home, my board, GNN fragment, hot topics fragment, and save for later fragment.
3. Settings and GNN activities are also included. The GNN activity retrieves a news list from an API and allows clicking through to individual detail pages.
Startup weekend bootcamp - Android up and runningLance Nanek
The document provides instructions on setting up an Android development environment, including downloading necessary software like the Android SDK, Java, and Eclipse plugin. It also describes creating a new Android application and connecting it to an App Engine service using HTTP and JSON. Additional steps include managing add-on sites and SDK packages in the Android SDK Manager.
This document provides an overview of Android development including:
- A brief history of Android versions from Cupcake to Oreo and the key changes introduced in each.
- An explanation of common design patterns used in Android like MVC, MVP, MVVM and Clean Architecture.
- A discussion of challenges with testing the MVC pattern and solutions like introducing a View Interface.
- Questions and answers about testing strategies and which component handles UI logic.
The document discusses several new features in Android N, including multi-window mode, drag and drop between activities, new notification templates, bundled notifications, direct reply for notifications, quick settings tiles, constraint layout, static and dynamic app shortcuts, and various other UI and API improvements. It provides code examples for implementing some of the new features and recommends resources for learning more about Android N.
Similar to Get Ready for Target SDK Version 29 and 30 (20)
The document discusses the basic components of drawing in Android - Bitmap, Canvas, Drawing Primitives, and Paint. It provides examples of how to use the Canvas class to draw different primitives like points, lines, rectangles, arcs, and paths using a Paint object. It also demonstrates how to draw text, bitmaps and configure properties of the Paint like color, stroke and style.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
The document discusses Android architecture components. It describes key components like Lifecycles, LiveData, ViewModel, Room, Navigation, Paging, ViewModel SavedState, and Data Binding. It also discusses using architecture components with the MVVM pattern and clean architecture, including layers for the data, presentation and domain. It provides examples of implementing use cases and repositories, and testing use cases. It emphasizes benefits like testable and collaborative code and outlines best practices like proof of concepts for new learning.
Bitmap make our app more beautiful and there are some risk as well if we do not handle it correctly. There are many things about the bitmap that we have to know to understand how it works.
The document discusses Android Architecture Components (AAC) including Lifecycles, LiveData, ViewModel, and Room. It provides an example of building a timer application using these components. A TimerListener observes the Android lifecycle and manages a countdown timer. A TimerLiveData observes the timer and notifies observers of changes. A TimerViewModel exposes the timer data and methods to start/stop it. An Activity observes the TimerLiveData to update the UI and handle timer events.
The document summarizes the new features in Android Studio 3.2 beta, including AndroidX for reorganizing Android support library packages, dynamic delivery of APKs using app bundles, and dynamic delivery of features using dynamic feature modules. It provides details on migrating to AndroidX, building app bundles and dynamic feature modules, and how they allow serving optimized APKs based on user device configuration. The release also includes improvements to the build tools, emulator, and other developer tools.
This document provides an overview of Android Architecture Components and Repository pattern. It discusses the key classes in Architecture Components like Activity/Fragment, ViewModel, Repository, and Data Source. It also summarizes the latest release notes for Lifecycle, Room, and Paging libraries. Additionally, it covers the purpose of the Repository pattern in handling data operations and mediating between different data sources. Finally, it lists some common classes used in a Repository like ApiResponse, Resource, and NetworkBoundResource.
The document discusses new features and tools for Android development including updates to the Android development IDE, top requested developer features like the Design Support library and vector images, and new annotations in Android M like WorkerThread, Size, and FloatRange. It provides links to additional resources on the "What's New in Android Development Tools" video, Data Binding guide, Android M developer preview blog post, and Android M developer preview website.
The document discusses updates to Google Play Services including new features for Cast SDK, Remote Display API, Play Games Analytics, Lite Mode, Google Place API for Android, and sensors. It also lists several Google developer APIs and provides links to their documentation pages.
The document provides instructions for creating a custom list view in Android. It explains that a list view displays data items and uses an adapter to link the data to views. It demonstrates how to create a custom adapter class that extends BaseAdapter and overrides methods like getCount(), getItem(), and getView(). The getView() method is used to inflate a custom row layout and populate it with data for each list item. The document also shows how to set up the list view in an activity's layout, populate it with sample data, and assign the custom adapter.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
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.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
5. Full-screen Intent Notification
Must request the USE_FULL_SCREEN_INTENT
permission in app's manifest file.
<manifest>
...
<uses-permission android:name=
"android.permission.USE_FULL_SCREEN_INTENT" />
...
</manifest>
Note: Normal Permission, API 29
6. Background Location Access
Must request the ACCESS_BACKGROUND_LOCATION
permission at runtime and in app's manifest file.
// Android Manifest
"android.permission.ACCESS_BACKGROUND_LOCATION"
// Runtime
Manifest.permission.ACCESS_BACKGROUND_LOCATION
Note: Dangerous Permission, API 29
8. Camera's Characteristics in Camera v2 API
Must request the CAMERA permission at
runtime and in app's manifest file.
CameraManager.getCameraCharacteristics(...)
Note: Dangerous Permission
11. Physical Activity Recognition
Must request the ACTIVITY_RECOGNITION
permission at runtime and in app's manifest file.
// Android Manifest
"android.permission.ACTIVITY_RECOGNITION"
// Runtime
Manifest.permission.ACTIVITY_RECOGNITION
Note: Dangerous Permission, API 29
13. Telephony, Bluetooth and Wi-Fi APIs
Location access related methods must request the
ACCESS_FINE_LOCATION permission at runtime
and in app's manifest file.
// Android Manifest
"android.permission.ACCESS_FINE_LOCATION"
// Runtime
Manifest.permission.ACCESS_FINE_LOCATION
Note: Dangerous Permission
20. Screen Content Access
Using MediaProjection API instead of
READ_FRAME_BUFFER,
CAPTURE_VIDEO_OUTPUT or
CAPTURE_SECURE_VIDEO_OUTPUT
permission required methods
Note: Media Projection API
https://developer.android.com/reference/android/media/projection/MediaProjection
21. Non-resettable Identifiers
No more IMEI and serial number
Build.getSerial()
TelephonyManager.getImei()
TelephonyManager.getDeviceId()
TelephonyManager.getMeid()
TelephonyManager.getSimSerialNumber()
TelephonyManager.getSubscriberId()
22. Non-resettable Identifiers
Unique ID for ad-tracking or user analytics,
using Android Advertising ID
Otherwise, follow the Best practices for unique
identifiers guideline in Android Developers
Note: Best practices for unique identifiers
https://developer.android.com/training/articles/user-data-ids
27. Wi-Fi Settings
No longer directly enable or
disable Wi-Fi
Solution: Use Settings Panels API
Note: Settings Panels API
https://developer.android.com/about/versions/10/features#settings-panels
28. Wi-Fi Settings
Restrictions on direct access to
configured Wi-Fi networks
Solution: Use WifiNetworkSpecifier API
and WifiNetworkSuggestion API
Note 1: WifiNetworkSpecifier API
https://developer.android.com/reference/android/net/wifi/WifiNetworkSpecifier
Note 2: WifiNetworkSpecifier API
https://developer.android.com/reference/android/net/wifi/WifiNetworkSuggestion
31. Starting Activities
The system places restrictions on
starting activities from the background
Note: Restrictions on starting activities from the background
https://developer.android.com/guide/components/activities/background-starts
32. Starting Activities
• The app has a visible window
• The app has an activity in the back stack of the
foreground task
• The app has an activity that was started very recently
• More!
Note: Restrictions on starting activities from the background
https://developer.android.com/guide/components/activities/background-starts
34. Phone Numbers
Must request the READ_PHONE_NUMBERS permission,
instead of the READ_PHONE_STATE permission to access
the phone number
TelephonyManager.getline1number()
TelecomManager.getline1number()
37. Toast
Custom toasts from the background are
blocked, text toasts are still allowed
Some of custom toast's methods are
deprecated, use SnackBar
38. Camera
Only pre-installed system camera apps can respond to
Specific package name for the intent to use a specific
3rd-party camera app to capture images or videos
android.media.action.VIDEO_CAPTURE
android.media.action.IMAGE_CAPTURE
android.media.action.IMAGE_CAPTURE_SECURE
39. Firebase
Firebase JobDispatcher and GcmNetworkManager
calls are disabled on devices running Android 6.0
(API 23) or higher
Solution: Use WorkManager
40. Package Visibility
Apps can define the set of other
packages that they can access
The system makes some apps
visible to your app automatically,
but it hides other apps by default
41. Package Visibility
Using the <queries> element, apps can define
the set of other packages that they can access
<manifest>
<queries>
...
</queries>
</manifest>
47. Package Visibility
To allow your app to see all other installed apps
• Launcher apps
• Browsers
• Security apps
Note: Normal Permission, API 30
"android.permission.QUERY_ALL_PACKAGES"
48. Scoped Storage
Giving better protection
to app and user data on
external storage
android:requestLegacyExternalStorage="true"
49. Scoped Storage
• App-specific files
• Shareable media (Image, Audio or Video)
• Documents and other files
• Access location information in images
Note: Android storage use cases and best practices
https://developer.android.com/training/data-storage/use-cases
50. Scoped Storage
App-specific files
Do nothing
getFilesDir()
getCacheDir()
getExternalFilesDir()
getExternalCacheDir()
Note: Android storage use cases and best practices
https://developer.android.com/training/data-storage/use-cases
51. Scoped Storage
Shareable media (Image, Audio or Video)
Use MediaStore API
Note: Android storage use cases and best practices
https://developer.android.com/training/data-storage/use-cases
52. Scoped Storage
Documents and other files
Use Storage Access Framework (SAF)
Note: Android storage use cases and best practices
https://developer.android.com/training/data-storage/use-cases
53. Scoped Storage
Access location information in images
Request ACCESS_MEDIA_LOCATION permission then use
MediaStore API to read unredacted location information in
images
Note: Android storage use cases and best practices
https://developer.android.com/training/data-storage/use-cases
55. Non-SDK Interface
Restricted non-SDK interfaces based on collaboration with
Android developers and the latest internal testing
You can request a new public API by creating a feature
request in issue tracker
Note: Request a new public API
https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces#feature-request