1. Understanding Intents
1.1 Notes
1.2 Available Intents in Android
1.3 Using Extra Information
1.4 Using Extra Information (cont.)
1.5 Using Components to Directly Invoke an Activity
1.6 Using Components to Directly Invoke an Activity (cont.)
2. Activity
2.1 Activity Lifecycle
2.2 Launching Activities and Sub-Activities(cont.)
3. Exercise 6
This set of slides introduces the reader to the concepts of Android Activities and Views. After presenting these two concepts in general terms, it continues with a detailed description of the activity lifecycle. It follows a discussion on how to structure the user interface in terms of View and ViewGroup objects. Finally, the presentation shows how to frame Android application development within the dictates of the Model-View-Controller (MVC) pattern.
The presentation introduces the reader to the principles of user interaction in Android applications. First, events are introduced, together with the related concepts of callbacks and event listeners. It follows a discussion on how to handle events in a declarative fashion via the XML layout file.
1. Understanding Intents
1.1 Notes
1.2 Available Intents in Android
1.3 Using Extra Information
1.4 Using Extra Information (cont.)
1.5 Using Components to Directly Invoke an Activity
1.6 Using Components to Directly Invoke an Activity (cont.)
2. Activity
2.1 Activity Lifecycle
2.2 Launching Activities and Sub-Activities(cont.)
3. Exercise 6
This set of slides introduces the reader to the concepts of Android Activities and Views. After presenting these two concepts in general terms, it continues with a detailed description of the activity lifecycle. It follows a discussion on how to structure the user interface in terms of View and ViewGroup objects. Finally, the presentation shows how to frame Android application development within the dictates of the Model-View-Controller (MVC) pattern.
The presentation introduces the reader to the principles of user interaction in Android applications. First, events are introduced, together with the related concepts of callbacks and event listeners. It follows a discussion on how to handle events in a declarative fashion via the XML layout file.
Introduction to the basic aspects of application development in Android. The basic components, e.g., Activity and View, are introduced along with the different configuration files, e.g., AndroidManifest.xml.
An introduction to Intents in Android. First, the presentation introduces the concept of Intents as messages between application components. Then, the difference between implicit and explicit intents is clearly stated, along with a description of the Intent resolution mechanism. The presentation concludes with a step-by-step tutorial on how to cast and intercept Intents from Activities.
Android is a mobile operating system based on the linux and kernel. It's maintained by Google, and comes in a few different versions. At the time of writing, mobile phones run a variant of version
The Content helps those who wish to program mobile applications using android platform. The content has been used to conduct mobile application boot camps using android platform on different regions in Tanzania
in this presentation i will discuss fragment and how to use it to enhance your android development, also know the basics of making more than one layer in your apps
Introduction to the basic aspects of application development in Android. The basic components, e.g., Activity and View, are introduced along with the different configuration files, e.g., AndroidManifest.xml.
An introduction to Intents in Android. First, the presentation introduces the concept of Intents as messages between application components. Then, the difference between implicit and explicit intents is clearly stated, along with a description of the Intent resolution mechanism. The presentation concludes with a step-by-step tutorial on how to cast and intercept Intents from Activities.
Android is a mobile operating system based on the linux and kernel. It's maintained by Google, and comes in a few different versions. At the time of writing, mobile phones run a variant of version
The Content helps those who wish to program mobile applications using android platform. The content has been used to conduct mobile application boot camps using android platform on different regions in Tanzania
in this presentation i will discuss fragment and how to use it to enhance your android development, also know the basics of making more than one layer in your apps
This is a basic crash course for android development covers:
Android Studio,Hello World Application,Application Components,Application Resources,User Interface,Good UI,Play Store
A complete Lab Manual with Aim, Procedure, Source Code, ... All the Experiments of Mobile Application Development Lab are developed using Android Studio.
Static Reference Analysis for GUI Objects in Android SoftwareDacong (Tony) Yan
The popularity of Android software has grown dramatically in the last
few years. It is essential for researchers in programming languages
and compilers to contribute new techniques in this increasingly
important area. Such techniques require a foundation of program
analyses for Android. The target of our work is static object
reference analysis, which models the flow of object references.
Existing reference analyses cannot be applied directly to Android
because the software is component-based and event-driven.
An Android application is driven by a graphical user interface (GUI),
with GUI objects responding to user actions. These objects and the
event handlers associated with them ultimately determine the possible
flow of control and data. We propose the first static analysis to
model GUI-related Android objects, their flow through the application,
and their interactions with each other via the abstractions defined by
the Android platform. A formal semantics for the relevant Android
constructs is developed to provide a solid foundation for this and
other analyses. Next, we propose a constraint-based reference analysis
based on the semantics. The analysis employs a constraint graph to
model the flow of GUI objects, the hierarchical structure of these
objects, and the effects of relevant Android operations. Experimental
evaluation on real-world Android applications strongly suggests that
the analysis achieves high precision with low cost.
The analysis enables static modeling of control/data flow that is
foundational for compiler analyses, instrumentation for
event/interaction profiling, static error checking, security analysis,
test generation, and automated debugging. It provides a key component
to be used by compile-time analysis researchers in the growing area of
Android software.
Similar to Android development - Activities, Views & Intents (20)
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
3. Activity
● provides the user a screen/interface in order to
interact with the application
● android applications are generally made up of
activities
● activities have their own “lifecycles” in order to
manage multiple activities and lessen their impact to a
device’s memory and resources
● activities have 4 states throughout its lifecycle
● an activity’s lifecycle has a series of callbacks that we
can leverage on when building apps
5. Activity Lifecycle States
● Active or running
the activity is in the foreground of the screen
● Paused
activity has lost focus but is still visible
activity is alive but can be killed if low in memory
● Stopped
activity is completely obscured by another activity
● Destroyed
activity is dropped from memory, killed/finished. to
display it again, it must be restarted
6. Activity Lifecycle Callbacks
● onCreate()
This is the first callback and called when the
activity is first created.
● onStart()
This callback is called when the activity becomes
visible to the user.
● onResume()
This is called when the user starts interacting with
the application.
● onPause()
Where you deal with the user leaving your activity.
Any changes made by the user should at this point be
committed
7. Activity Lifecycle Callbacks
● onStop()
Called when the activity is no longer visible to the
user, because another activity has been resumed and
is covering this one
● onDestroy()
The final call you receive before your activity is
destroyed.
● onRestart()
Called after your activity has been stopped, prior to
it being started again.
10. MainActivity breakdown
● @Override onCreate(Bundle savedInstanceState)
the lifecycle callback
Bundle object contains extra data when the activity
gets started (more on this later)
● super.onCreate()
invokes the onCreate callback of the parent class
to maintain consistent behaviour
● setContentView(R.layout.activity_main)
sets the layout for the activity
11. R.java
R.java or “R” connects java code and resource files
contained in the src/main/res folder
This file is auto generated when compiling the code. You
should not be editing this.
Example:
src/res/layout/activity_main.xml --- R.layout.activity_main
src/res/drawable-hdpi/ic_launcher.png --- R.drawable.
ic_launcher
13. View
represents the basic building block for user interface
components
occupies a rectangular area on the screen and is
responsible for drawing and event handling
Examples:
Button, TextView, EditText, ImageView, RadioButton,
Checkbox
16. Declaring a View
● <TextView></TextView>
views are defined in xml
● android:id=”@+id/txt_hello_world”
One of the many tags a view can have. this one
specifies the id of the given view. This will be accessible
later in our java code via R.id.txt_hello_world
● android:layout_width & android:layout_height
The size of the view’s rectangular area relative to its
parent.
Example layout types:
match_parent - size matches the view’s parent
wrap_content - size is contained to the size of the
view’s content.
19. ViewGroup
a special view that can contain other views which are
then called child views.
Examples:
LinearLayout, RelativeLayout, TableLayout
20. LinearLayout
A Layout that arranges its children in a single column
or a single row
The direction of the row can be set by setting android:
orientation=”horizontal|vertical”
The default direction is horizontal
26. RelativeLayout
A Layout where the positions of the children can be
described in relation to each other or to the parent.
Example:
android:layout_above
android:layout_below
android:layout_toRightOf
android:layout_toLeftOf
30. Input Events
● onClick()
From View.OnClickListener.
● onLongClick()
From View.OnLongClickListener.
● onFocusChange()
From View.OnFocusChangeListener. Called when the
user navigates onto or away from the item
● onKey()
From View.OnKeyListener. Called when the user is
focused on the item and presses or releases a
hardware key on the device.
● onTouch()
From View.OnTouchListener. Called when the user
performs an action qualified as a touch event
33. Input Events
Button button = (Button) findViewById(R.id.btnLogin);
● a Button is a type of View or Button inherits View
● findViewById() is accessible within the Activity class.
● (Button) is type casting in java. We need to do this
because findViewById() returns a View object.
● R.id.btnLocation
R is a reference for R.java, the bridge between java
and xml code. N
Note the btnLocation naming convention
34. Input Events
button.setOnClickListener(new View.OnClickListener{});
● setOnClickListener is inherited from the View class
● View.OnClickListener is a java interface. When
instantiating an interface directly you must supply its
required methods.
Toast.makeText(getApplicationContext(), "You clicked
me!", Toast.LENGTH_SHORT);
● Toast provides simple feedback about an operation in
a small popup.
● Toast.LENGTH_SHORT, Toast.LENGTH_LONG are
integers that return the toast’s display duration
36. Input Events
button.setOnClickListener(new View.OnClickListener{});
● setOnClickListener is inherited from the View class
● View.OnClickListener is a java interface. When
instantiating an interface directly you must supply its
required methods.
Toast.makeText(getApplicationContext(), "You clicked
me!", Toast.LENGTH_SHORT).show();
● Toast provides simple feedback about an operation in
a small popup.
● Toast.LENGTH_SHORT, Toast.LENGTH_LONG are
integers that return the toast’s display duration
● show() to display
37. getApplicationContext()
● the context of current state of the application/object
and lets newly created object understand what’s
going on
● you’ll be using this a lot as an android developer,
many objects will require it
● 2 kinds of Context
Activity Context - Accessible via getContext or this
within an Activity class
Application Context - The context of the entire
application. Use this if you want something to be hooked
to the app’s lifecycle instead of only a specific activity
38. Suppose we have an activity that
shows a list and when we tap on
an item in that list we’d like to
view it in another activity. How
would we do that?
43. Intent
An abstract description of an operation to be
performed
Its most significant use is in the launching of
activities, where it can be thought of as the glue between
activities
2 Primary pieces of information:
● action - The general action to be performed, such as
ACTION_VIEW, ACTION_EDIT, ACTION_MAIN, etc.
● data - The data to operate on, such as an ID, url, or
even image taken from a camera activity.
46. MainActivity Code
Intent intent = new Intent() //instantiate intent object
//specify target activity
intent.setClass(this, OtherActivity.class)
//add extra values as a key-value pair
intent.putExtra(“KEY”, “VALUE”);
//callable within any Activity class
startActivity(intent);
47. Other_Activity Code
//Calling getIntent() will retrieve the intent used to launch
this activity
Bundle extras = getIntent().getExtras();
//getString() is used because we know that the key’s
value is a String object
String datas = extras.getString(“KEY”);
48. What we’ve learned
● A lot. Like many other frameworks, reading the docs
and hunting down resources in the internet is
important as an android developer.
● Activities have their own lifecycles and states.
● Xml syntax for views can be taxing, but you’ll get used
to it!
● There can be many ways to create a layout using
ViewGroups, we just need to find the most
efficient/clean.
● Intents can be tedious since you have to know certain
things in order to do them properly. i.e. what if you
want to bundle an object instead of a POJO?