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
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.
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.
This presentation tries to give an overview of the fascinating world of mobile development. It is not the purpose to give any details on a given technology, but it tries to give an overview of the various possibilities. Although the presentation looks at technologies and initiatives from various parts of the industry there are some more details on a certain number of IBM initiative given my background.
Introduction to Android development - PresentationAtul Panjwani
A powerpoint presentation on Introduction to android development
prepared for college seminar
[Report is also uploaded named "Introduction to Android development - Presentation Report"]
Source: developer.android.com
In this video i will again gave a presentation on new technology
which is invent by the google company ,so i will go thorough about ANDROID STUDIO. what is android studio,history of android and steps here how to create a new android studio project. so guys any question regarding this presentation please share via kswapanpreet@gmail.com.
thanks
Android Application Devlopment. A Guide for the Intermediate Developer. Degree Thesis in Computer Science presented at Malmo Univerity, School of Technology, Department of Computer Science June 4, 2010.
Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android's user interface is mainly based on direct manipulation, using touch gestures that loosely correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual keyboard for text input. In addition to touchscreen devices, Google has further developed Android TV for televisions, Android Auto for cars, and Android Wear for wrist watches, each with a specialized user interface. Variants of Android are also used on notebooks, game consoles, digital cameras, and other electronics.
Android has the largest installed base of all operating systems (OS) of any kind.Android has been the best selling OS on tablets since 2013, and on smartphones it is dominant by any metric.
Initially developed by Android, Inc., which Google bought in 2005,Android was unveiled in 2007 along with the founding of the Open Handset Alliance – a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.As of July 2013, the Google Play store has had over one million Android applications ("apps") published – including many "business-class apps"that rival competing mobile platforms – and over 50 billion applications downloaded.An April–May 2013 survey of mobile application developers found that 71% of developers create applications for Android,and a 2015 survey found that 40% of full-time professional developers see Android as their priority target platform, which is comparable to Apple's iOS on 37% with both platforms far above others.In September 2015, Android had 1.4 billion monthly active devices.
Android's source code is released by Google under open source licenses, although most Android devices ultimately ship with a combination of open source and proprietary software, including proprietary software required for accessing Google services.Android is popular with technology companies that require a ready-made, low-cost and customizable operating system for high-tech devices.Its open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which deliver updates to older devices, add new features for advanced users or bring Android to devices originally shipped with other operating systems. The success of Android has made it a target for patent (and copyright) litigation as part of the so-called "smartphone wars" between technology companies.
Those who want to be familiar with Android, can easily go through this document. It will help them to learn basics. It is also useful for those who are preparing for cracking android interviews as this document is short and precise.
This presentation tries to give an overview of the fascinating world of mobile development. It is not the purpose to give any details on a given technology, but it tries to give an overview of the various possibilities. Although the presentation looks at technologies and initiatives from various parts of the industry there are some more details on a certain number of IBM initiative given my background.
Introduction to Android development - PresentationAtul Panjwani
A powerpoint presentation on Introduction to android development
prepared for college seminar
[Report is also uploaded named "Introduction to Android development - Presentation Report"]
Source: developer.android.com
In this video i will again gave a presentation on new technology
which is invent by the google company ,so i will go thorough about ANDROID STUDIO. what is android studio,history of android and steps here how to create a new android studio project. so guys any question regarding this presentation please share via kswapanpreet@gmail.com.
thanks
Android Application Devlopment. A Guide for the Intermediate Developer. Degree Thesis in Computer Science presented at Malmo Univerity, School of Technology, Department of Computer Science June 4, 2010.
Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android's user interface is mainly based on direct manipulation, using touch gestures that loosely correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual keyboard for text input. In addition to touchscreen devices, Google has further developed Android TV for televisions, Android Auto for cars, and Android Wear for wrist watches, each with a specialized user interface. Variants of Android are also used on notebooks, game consoles, digital cameras, and other electronics.
Android has the largest installed base of all operating systems (OS) of any kind.Android has been the best selling OS on tablets since 2013, and on smartphones it is dominant by any metric.
Initially developed by Android, Inc., which Google bought in 2005,Android was unveiled in 2007 along with the founding of the Open Handset Alliance – a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.As of July 2013, the Google Play store has had over one million Android applications ("apps") published – including many "business-class apps"that rival competing mobile platforms – and over 50 billion applications downloaded.An April–May 2013 survey of mobile application developers found that 71% of developers create applications for Android,and a 2015 survey found that 40% of full-time professional developers see Android as their priority target platform, which is comparable to Apple's iOS on 37% with both platforms far above others.In September 2015, Android had 1.4 billion monthly active devices.
Android's source code is released by Google under open source licenses, although most Android devices ultimately ship with a combination of open source and proprietary software, including proprietary software required for accessing Google services.Android is popular with technology companies that require a ready-made, low-cost and customizable operating system for high-tech devices.Its open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which deliver updates to older devices, add new features for advanced users or bring Android to devices originally shipped with other operating systems. The success of Android has made it a target for patent (and copyright) litigation as part of the so-called "smartphone wars" between technology companies.
Those who want to be familiar with Android, can easily go through this document. It will help them to learn basics. It is also useful for those who are preparing for cracking android interviews as this document is short and precise.
Kotlin for Android App Development PresentationKnoldus Inc.
Discover the power of Kotlin for crafting dynamic and efficient Android applications. We explore Kotlin's rich features in "Kotlin for Android Application," showing how it improves readability and productivity for mobile developers. With this resource, you will learn how to create modern, reliable Android apps, from simple syntax to seamless integration with pre-existing Java code. Enhance your development experience by learning about the benefits of Kotlin's expressive syntax and minimal style. This session will help you make the most of your Android application development experience, regardless of your level of experience with Kotlin.
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
A complete Lab Manual with Aim, Procedure, Source Code, ... All the Experiments of Mobile Application Development Lab are developed using Android Studio.
Solomonoff's theory of inductive inference is Ray Solomonoff's mathematical formalization of Occam's razor. It explains observations of the world by the smallest computer program that outputs those observations. Solomonoff proved that this explanation is the most likely one, by assuming the world is generated by an unknown computer program. That is to say the probability distribution of all computer programs that output the observations favors the shortest one.
Prediction is done using a completely Bayesian framework. The universal prior is calculated for all computable sequences—this is the universal a priori probability distribution; no computable hypothesis will have a zero probability. This means that Bayes rule of causation can be used in predicting the continuation of any particular computable sequence.
This is an introductory workshop for machine learning. Introduced machine learning tasks such as supervised learning, unsupervised learning and reinforcement learning.
a short introduction about deep learning and how we can use deep neural networks in different biological problems such as protein function prediction and gene expression inference.
Object extraction from satellite imagery using deep learningAly Abdelkareem
Presentation for extract objects from satellite imagery using deep learning techniques. you find a comparison between state-of-art approaches in computer vision.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
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.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
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.
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.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
Cryptocurrency trading bots are computer programs designed to automate buying, selling, and managing cryptocurrency transactions. These bots utilize advanced algorithms and machine learning techniques to analyze market data, identify trading opportunities, and execute trades on behalf of their users. By automating the decision-making process, crypto trading bots can react to market changes faster than human traders
Hivelance, a leading provider of cryptocurrency trading bot development services, stands out as the premier choice for crypto traders and developers. Hivelance boasts a team of seasoned cryptocurrency experts and software engineers who deeply understand the crypto market and the latest trends in automated trading, Hivelance leverages the latest technologies and tools in the industry, including advanced AI and machine learning algorithms, to create highly efficient and adaptable crypto trading bots
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
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
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
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.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
Modern design is crucial in today's digital environment, and this is especially true for SharePoint intranets. The design of these digital hubs is critical to user engagement and productivity enhancement. They are the cornerstone of internal collaboration and interaction within enterprises.
2. AGENDA
● Introduction to Android
● Android Studio
● Hello World Application
● Application Components
● Application Resources
● User Interface
● Code Time
● Good UI
● Play Store
● Learn Android
4. ANDROID JOURNEY
Developed by Google. First
released version 1.5(Cupcake).
Current version - 6.0 (Marshmallow)
Major contributors: Samsung, LG, Vodafone, Acer, Dell, HTC, Sony Ericsson, Intel, Wipro
including others.
Pre-installed Google apps: Gmail, Google Calendar, Google Play, Google Music, Chrome
and others.
5. THE WORLD OF ANDROID
Openness
Customizable
Affordable(low-cost)
6. WHY NOT ANY OTHER TECHNOLOGY ?
1. Highest paying technology
2. A lot of career opportunities
3. Freshers are in high demand
10. ANDROID IS NOT LINUX
Android is built on the Linux kernel, but Android is not a Linux.
Linux kernel it`s a component which is responsible for device drivers, power management,
memory management, device management and resource access.
Native libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library
(libc) etc.
Android Runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is
responsible to run android application. DVM is like JVM but it is optimized for mobile
devices. It consumes less memory and provides fast performance.
App Framework - Android framework includes Android API's
Applications - All applications
11. EACH ANDROID APP LIVES IN ITS OWN SECURITY SANDBOX
● The Android operating system is a multi-user Linux system in which
each app is a different user.
● By default, the system assigns each app a unique Linux user ID.
The system sets permissions for all the files in an app so that only
the user ID assigned to that app can access them.
● Each process has its own virtual machine (VM), so an app's code
runs in isolation from other apps.
● By default, every app runs in its own Linux process. Android
starts the process when any of the app's components need to be
executed, then shuts down the process when it's no longer needed
or when the system must recover memory for other apps.
● Each app has own lifecycle
25. 1. ACTIVITY
● Represents a single screen in an App.
● Hosts all the view components of the screen like button, textview
and popups.
● Hosts all the logic of user interaction.
● Have their own lifecycle.
33. ACTIVITIES
An Activity is an application component that provides a screen with which users
can interact. Activity = Window
How to create an Activity
1. Create a layout for your screen
<LinearLayout ... >
<EditText ... />
<EditText ... />
<Button ... />
</LinearLayout>
34. How to create an Activity
2. Create class which extends class Activity and override onCreate()
method
3. Declare your activity in the manifest file
<activity
android:name=".LoginActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
public class LoginActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
}
35. Activity Lifecycle
When an activity transitions into
and out of the different states it
is notified through various
callback methods.
Complete Android Fragment &
Activity Lifecycle
37. A Fragment represents a behavior or a portion of user interface in an Activity.
A Fragment must always be embedded in an activity and the fragment's lifecycle
is directly affected by the host activity's lifecycle.
Fragments
Android introduced
fragments in Android 3.0 (API
level 11), primarily to support
more dynamic and flexible UI
designs on large screens,
such as tablets.
38. Create a Fragment Class
How to add a Fragment into app
public class OrderSpinnerFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_orders_spinner, container, false);
}
}
39. Adding a fragment to an activity
● Declare the fragment inside the activity's layout file.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout ...>
<fragment android:name="com.example.news.ArticleListFragment"
android:id="@+id/list"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
● Or, programmatically add the fragment to an existing ViewGroup.
private void addUserInfoFragment(){
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
UserInfoFragment fragment = new UserInfoFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();
}
40. INTENT AND INTENT FILTERS
An Intent is a messaging object you can use to request an action from another
app component. Although intents facilitate communication between components in
several ways.
● start Activity
● start Service
● deliver Broadcast
There are two types of intents:
● Explicit intents specify the component to start by name
● Implicit intents declare a general action to perform, which allows a
component from another app to handle it
41. An Intent object carries information that the Android system uses to determine
which component to start (such as the exact component name or component
category that should receive the intent), plus information that the recipient
component uses in order to properly perform the action (such as the action to take
and the data to act upon).
The primary information contained in an Intent is the following:
● Component name - The name of the component to start.
● Action - The general action to be performed, such as ACTION_VIEW,
ACTION_EDIT, ACTION_MAIN, etc.
● Data - The data to operate on, such as a person record in the contacts
database, expressed as a Uri.
● Category - Gives additional information about the action to execute.
● Type - Specifies an explicit type (a MIME type) of the intent data.
● Extras - This is a Bundle of any additional information.
Building an Intent
42. Example of explicit intent
public void startUserDetailsActivity(long userId) {
Intent userDetailsIntent = new Intent(this, UserDetailsActivity.class);
userDetailsIntent.putExtra(USER_ID, userId);
startActivity(userDetailsIntent);
}
Example of implicit intent
public void sendMessageIntent(String textMessage) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain");
startActivity(sendIntent);
}
44. APPLICATION RESOURCES
You should always externalize resources
such as images and strings from your
application code, so that you can maintain
them independently. Externalizing your
resources also allows you to provide
alternative resources that support specific
device configurations such as different
languages or screen sizes, which becomes
increasingly important as more Android-
powered devices become available with
different configurations.
MyProject/
src/
MyActivity.java
res/
drawable/
graphic.png
layout/
main.xml
info.xml
mipmap/
icon.png
values/
strings.xml
45. RESOURCE DIRECTORIES SUPPORTED INSIDE PROJECT RES/ DIRECTORY.
Directory Resource Type
animator/
anim/
XML files that define property animations and tween animations.
color/ XML files that define a state list of colors.
drawable/ Bitmap files (.png, .9.png, .jpg, .gif) or XML files.
layout/ XML files that define a user interface layout.
menu/ XML files that define application menus, such as an Options Menu,
Context Menu, or Sub Menu.
values/ XML files that contain simple values, such as strings, integers, and
colors.
46. PROVIDING ALTERNATIVE RESOURCES
Almost every application should provide
alternative resources to support specific
device configurations. For instance, you
should include alternative drawable
resources for different screen densities
and alternative string resources for
different languages. At runtime, Android
detects the current device configuration
and loads the appropriate resources for
your application.
48. USER INTERFACE
All user interface elements in an Android app are built using View and
ViewGroup objects. A View is an object that draws something on the
screen that the user can interact with. A ViewGroup is an object that holds
other View (and ViewGroup) objects in order to define the layout of the
interface.
49. LAYOUTS
A layout defines the visual structure for a user interface, such as the UI
for an activity or app widget. You can declare a layout in two ways:
● Declare UI elements in XML.
● Instantiate layout elements at runtime.
<LinearLayout ... >
<EditText ... />
<EditText ... />
<Button ... />
</LinearLayout>
public class LoginActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
}
50. LAYOUTS
LinearLayout is a view group that
aligns all children in a single direction,
vertically or horizontally.
RelativeLayout is a view group that
displays child views in relative
positions.
51. LAYOUTS
TableLayout is a view that groups
views into rows and columns.
FrameLayout is a placeholder on
screen that you can use to display a
single view.
52. LAYOUTS
ListView is a view group that
displays a list of scrollable
items.
GridView is a ViewGroup
that displays items in a two-
dimensional, scrollable grid.
53. COMPARING ANDROID UI ELEMENTS TO SWING UI ELEMENTS
Comparing Android UI Elements to Swing UI Elements
Activities in Android refers almost to a (J)Frame in Swing.
Views in Android refers to (J)Components in Swing.
TextViews in Android refers to a (J)Labels in Swing.
EditTexts in Android refers to a (J)TextFields in Swing.
Buttons in Android refers to a (J)Buttons in Swing.
55. DIALOGS AND TOASTS
A Dialog is a small window that prompts the user to make a decision or enter
additional information. A dialog does not fill the screen and is normally used for
modal events that require users to take an action before they can proceed.
A Toast provides simple feedback about an
operation in a small popup.
60. WHY GOOD UI IS IMPORTANT
Smooth performance.
Attracts users and keeps them.
Does not irritate users.
Does what is expected.
“No matter how useful or how good your app is, if its
UI is not awesome it will have very few chances of
remaining there in your user’s device.”
Bad UI =
64. USING THIRD PARTY LIBRARIES
Create your own customized UI components and reuse them.
Use third party libraries created by expert developers.
● Github
● AndroidArsenal.com
● AndroidWeekly.net
● Jake Wharton
● ...and many more(Just Google it)
68. BUT NOT TO WORRY...
800,0000 apps have < 100 downloads.
Another 700,000 have < 1000 downloads.
Another 400,000 have < 10,000 downloads.
Only 35,000 apps are downloaded more than 500,000.
69.
70. HOW TO LEARN ANDROID
https://developer.android.com/training/index.html
https://www.udacity.com/course/developing
-android-apps--ud853
Udacity Course
Main Tutorial