SlideShare une entreprise Scribd logo
1  sur  28
MobileWeb Development
Building MobileWeb Experiences
Presenter: Maher Al-shammari
King Faisal University
Agenda:
2
• Genymotion Emulator
• Android Application Components
• Android- Persistent Storage
• GitHub
• Web services
• REST API
• Android Volley
Install Genymotion
3
https://www.genymotion.com/
Android Application
Components
4
Activity Intents
Content
Providers
Services
Broadcast
Receivers
5
Android Application Components
1. Activity
An Activity is a window that contains the user interface
(Views and ViewGroups)
6
Android Application Components
2. Intents (link)
In Android, you navigate between Activities through which is
known as an intent
Intents enable different activities from different applications
to work together
 used to pass information between applications/Apps
7
Android Application Components
3. Service
• Application component that performs long-
running operations in background and does
not provide a User Interface
• For example, a service might handle
network transactions, Or play music, all
from the background
8
Android Application Components
• 4. Content Providers
• a bridge between applications to share data
• for example the devices contacts information
• we tend to use these, but not create new ones
9
Android Application Components
• 5. Broadcast Receivers
• component that responds to system wide announcements
• For example battery low, screen off, date changed
• It is also possible to initiate broadcasts from within an application
10
Activities and AndroidManifest.xml
 An Android application can be composed of multiple
Activities …
 Each activity should be declared in the file:
AndroidManifest.xml
 Add a child element of <application>:
 Also we need to Add the permissions in Manifest.xml
<application>
<activity android:name=".MyActivity" />
</application>
11
How to add a library to your project
 From build.gradle file
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
12
Persistent Storage
• In Android, there are 5 common ways to store data:
1. Shared Preferences – private key-value pair storage
2. Internal Storage – private storage per-application
3. External Storage – local shared storage (e.g., on SD card)
4. SQLite Database – private structured data
5. Network Storage – store data on your own server
Dr.NoorZaman
13
GitHub
• Git is an open-source “version control system”
• What is the benefits of GitHub
allows developers to easily collaborate, as they can download a new
version of the software, make changes, and upload the newest
revision. Every developer can see these new changes, download
them, and contribute.
• Repository is a location where all the files for a particular project
are stored
Dr.NoorZaman
14
Dr.NoorZaman
15
Add yoursourcecodeto VCS (VersionControl
System)
ChooseGit as yourversioncontrolsystem
Add all yourprojectfiles to versioncontrol
system
Committedthe files to yourlocal repository
Write Commitmessage
Web Services
Webservices
A Web service: is a service offered by an electronic device to
another electronic device
a software system designed to enable the interaction
between machine-to-machine over a network.
Webservices
RESTAPI
What is REST API?
When a web service use REST Architecture we call it a REST API. REST
stands for Representational State Transfer. It relies on a stateless,
client-server, cacheable communications protocol, and in virtually all
cases, the HTTP protocol is used. REST is an architecture style for
designing networked applications.
HTTP Methods
GET To Retrieve Values from Database
POST To Insert new Values to Database
PUT To Update Existing Values in the Database
DELETE To Delete Values from Database
RESTAPI
URL Structure
• The above URL will give all the assignments of the student having id 1.
• The above URL will create a new assignment.
URL Method
https://www.Allhabiy.com/student/assignments/1 GET
https://www.Allhabiy.com/student/createassignment POST
Android Volley
Android Volley is an HTTP library that makes networking for Android apps
easier and most importantly, faster.
Why Android Volley?
• Volley simplify the networking task in android. With volley can have
• Easy to use request management
• Efficient network management
• Easily customizable according to our need
Android Volley
Sendinga SimpleRequest
Use newRequestQueue
final TextView mTextView = (TextView) findViewById(R.id.text);
...
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String url ="http://www.google.com";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
mTextView.setText("Response is: "+ response.substring(0,500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work!");
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
Manual
Go to http://allhabiy.com/workshop/ And download the manual
Thanks
• Q & A
28

Contenu connexe

Tendances

Testing microservices with docker
Testing microservices with dockerTesting microservices with docker
Testing microservices with dockerDenis Brusnin
 
Introduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleIntroduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleSpringPeople
 
4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager Strategy4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager StrategySonatype
 
Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Nenad Pecanac
 
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...mfrancis
 
Creating php cloud applications
Creating php cloud applicationsCreating php cloud applications
Creating php cloud applicationsCory Fowler
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5mbaric
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring FrameworkDineesha Suraweera
 
CI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupAmit Singh
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Mary Joy Sabal
 
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)Red Hat Developers
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...VMware Tanzu
 
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyREADIFY
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIVMware Tanzu
 
Web changesandasp4 upload
Web changesandasp4 uploadWeb changesandasp4 upload
Web changesandasp4 uploadREADIFY
 
Mule anypointconnector dev kit
Mule anypointconnector dev kitMule anypointconnector dev kit
Mule anypointconnector dev kithimajareddys
 

Tendances (20)

Testing microservices with docker
Testing microservices with dockerTesting microservices with docker
Testing microservices with docker
 
Introduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleIntroduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeople
 
4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager Strategy4 Outcomes of an Advanced Repo Manager Strategy
4 Outcomes of an Advanced Repo Manager Strategy
 
Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015Microservice Architecture JavaCro 2015
Microservice Architecture JavaCro 2015
 
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
BEA's microService Architecture and OSGi- How Customers Benefit - Craig Blitz...
 
Creating php cloud applications
Creating php cloud applicationsCreating php cloud applications
Creating php cloud applications
 
What's New in Rails 5
What's New in Rails 5What's New in Rails 5
What's New in Rails 5
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
CI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetupCI CD Daridabad MuleSoft meetup
CI CD Daridabad MuleSoft meetup
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18
 
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
 
Websphere - Introduction to logs and configuration
Websphere -  Introduction to logs and configurationWebsphere -  Introduction to logs and configuration
Websphere - Introduction to logs and configuration
 
Training web @GITS
Training web @GITSTraining web @GITS
Training web @GITS
 
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, ReadifyASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
ASP.NET 4 & Web Dev in Visual Studio 2010 - Alex Mackey, Readify
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
 
Spring In Practice
Spring In PracticeSpring In Practice
Spring In Practice
 
Web changesandasp4 upload
Web changesandasp4 uploadWeb changesandasp4 upload
Web changesandasp4 upload
 
Mule anypointconnector dev kit
Mule anypointconnector dev kitMule anypointconnector dev kit
Mule anypointconnector dev kit
 

En vedette (6)

Bluetooth beacon
Bluetooth beaconBluetooth beacon
Bluetooth beacon
 
Security and privacy in web
Security and privacy in webSecurity and privacy in web
Security and privacy in web
 
Light Fidelity (Li-Fi)
Light Fidelity (Li-Fi)Light Fidelity (Li-Fi)
Light Fidelity (Li-Fi)
 
High performance computing
High performance computingHigh performance computing
High performance computing
 
Caesar Cipher
Caesar CipherCaesar Cipher
Caesar Cipher
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 

Similaire à Mobile web development

Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1Kay Kim
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleDevOps.com
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and WatsonJake Peyser
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAdam Getchell
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on BluemixRam Vennam
 
Introduction to Android Development and Security
Introduction to Android Development and SecurityIntroduction to Android Development and Security
Introduction to Android Development and SecurityKelwin Yang
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
The Fastest Way to Redis on Pivotal Cloud Foundry
The Fastest Way to Redis on Pivotal Cloud FoundryThe Fastest Way to Redis on Pivotal Cloud Foundry
The Fastest Way to Redis on Pivotal Cloud FoundryVMware Tanzu
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxGrace Jansen
 
ALT-F1.BE : The Accelerator (Google Cloud Platform)
ALT-F1.BE : The Accelerator (Google Cloud Platform)ALT-F1.BE : The Accelerator (Google Cloud Platform)
ALT-F1.BE : The Accelerator (Google Cloud Platform)Abdelkrim Boujraf
 
Android Workshop
Android WorkshopAndroid Workshop
Android WorkshopJunda Ong
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its FeaturesHarshad Lokhande
 

Similaire à Mobile web development (20)

Duo World Architecture
Duo World ArchitectureDuo World Architecture
Duo World Architecture
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and Watson
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
Introduction to Android Development and Security
Introduction to Android Development and SecurityIntroduction to Android Development and Security
Introduction to Android Development and Security
 
Fun Food
Fun FoodFun Food
Fun Food
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Syncitall
SyncitallSyncitall
Syncitall
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
P H P Framework
P H P  FrameworkP H P  Framework
P H P Framework
 
The Fastest Way to Redis on Pivotal Cloud Foundry
The Fastest Way to Redis on Pivotal Cloud FoundryThe Fastest Way to Redis on Pivotal Cloud Foundry
The Fastest Way to Redis on Pivotal Cloud Foundry
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
ALT-F1.BE : The Accelerator (Google Cloud Platform)
ALT-F1.BE : The Accelerator (Google Cloud Platform)ALT-F1.BE : The Accelerator (Google Cloud Platform)
ALT-F1.BE : The Accelerator (Google Cloud Platform)
 
Top java script frameworks ppt
Top java script frameworks pptTop java script frameworks ppt
Top java script frameworks ppt
 
D033017020
D033017020D033017020
D033017020
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its Features
 

Plus de Maher Alshammari (20)

Cis cvs risc
Cis cvs riscCis cvs risc
Cis cvs risc
 
Lect10 organization
Lect10 organizationLect10 organization
Lect10 organization
 
Lect12 organization
Lect12 organizationLect12 organization
Lect12 organization
 
Lect9 organization
Lect9 organizationLect9 organization
Lect9 organization
 
Lect14 organization
Lect14 organizationLect14 organization
Lect14 organization
 
Lect7 organization
Lect7 organizationLect7 organization
Lect7 organization
 
Lect13 organization
Lect13 organizationLect13 organization
Lect13 organization
 
Lect15 organization
Lect15 organizationLect15 organization
Lect15 organization
 
Lect6 organization
Lect6 organizationLect6 organization
Lect6 organization
 
Lect8 organization
Lect8 organizationLect8 organization
Lect8 organization
 
Lect1 organization 2
Lect1 organization 2Lect1 organization 2
Lect1 organization 2
 
Lect11 organization
Lect11 organizationLect11 organization
Lect11 organization
 
Lect4 organization
Lect4 organizationLect4 organization
Lect4 organization
 
Lect2 organization 2
Lect2 organization 2Lect2 organization 2
Lect2 organization 2
 
Lect3 organization 2
Lect3 organization 2Lect3 organization 2
Lect3 organization 2
 
Lect5 organization
Lect5 organizationLect5 organization
Lect5 organization
 
Greedy algorithm
Greedy algorithmGreedy algorithm
Greedy algorithm
 
Minimum spanning trees
Minimum spanning treesMinimum spanning trees
Minimum spanning trees
 
Matrix chain multiplication 2
Matrix chain multiplication 2Matrix chain multiplication 2
Matrix chain multiplication 2
 
Edit distance problem
Edit distance problemEdit distance problem
Edit distance problem
 

Dernier

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Dernier (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Mobile web development

  • 1. MobileWeb Development Building MobileWeb Experiences Presenter: Maher Al-shammari King Faisal University
  • 2. Agenda: 2 • Genymotion Emulator • Android Application Components • Android- Persistent Storage • GitHub • Web services • REST API • Android Volley
  • 6. Android Application Components 1. Activity An Activity is a window that contains the user interface (Views and ViewGroups) 6
  • 7. Android Application Components 2. Intents (link) In Android, you navigate between Activities through which is known as an intent Intents enable different activities from different applications to work together  used to pass information between applications/Apps 7
  • 8. Android Application Components 3. Service • Application component that performs long- running operations in background and does not provide a User Interface • For example, a service might handle network transactions, Or play music, all from the background 8
  • 9. Android Application Components • 4. Content Providers • a bridge between applications to share data • for example the devices contacts information • we tend to use these, but not create new ones 9
  • 10. Android Application Components • 5. Broadcast Receivers • component that responds to system wide announcements • For example battery low, screen off, date changed • It is also possible to initiate broadcasts from within an application 10
  • 11. Activities and AndroidManifest.xml  An Android application can be composed of multiple Activities …  Each activity should be declared in the file: AndroidManifest.xml  Add a child element of <application>:  Also we need to Add the permissions in Manifest.xml <application> <activity android:name=".MyActivity" /> </application> 11
  • 12. How to add a library to your project  From build.gradle file dependencies { compile 'com.jakewharton:butterknife:6.0.0' } 12
  • 13. Persistent Storage • In Android, there are 5 common ways to store data: 1. Shared Preferences – private key-value pair storage 2. Internal Storage – private storage per-application 3. External Storage – local shared storage (e.g., on SD card) 4. SQLite Database – private structured data 5. Network Storage – store data on your own server Dr.NoorZaman 13
  • 14. GitHub • Git is an open-source “version control system” • What is the benefits of GitHub allows developers to easily collaborate, as they can download a new version of the software, make changes, and upload the newest revision. Every developer can see these new changes, download them, and contribute. • Repository is a location where all the files for a particular project are stored Dr.NoorZaman 14
  • 15. Dr.NoorZaman 15 Add yoursourcecodeto VCS (VersionControl System)
  • 17. Add all yourprojectfiles to versioncontrol system
  • 18. Committedthe files to yourlocal repository
  • 21. Webservices A Web service: is a service offered by an electronic device to another electronic device a software system designed to enable the interaction between machine-to-machine over a network.
  • 23. RESTAPI What is REST API? When a web service use REST Architecture we call it a REST API. REST stands for Representational State Transfer. It relies on a stateless, client-server, cacheable communications protocol, and in virtually all cases, the HTTP protocol is used. REST is an architecture style for designing networked applications. HTTP Methods GET To Retrieve Values from Database POST To Insert new Values to Database PUT To Update Existing Values in the Database DELETE To Delete Values from Database
  • 24. RESTAPI URL Structure • The above URL will give all the assignments of the student having id 1. • The above URL will create a new assignment. URL Method https://www.Allhabiy.com/student/assignments/1 GET https://www.Allhabiy.com/student/createassignment POST
  • 25. Android Volley Android Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster. Why Android Volley? • Volley simplify the networking task in android. With volley can have • Easy to use request management • Efficient network management • Easily customizable according to our need
  • 26. Android Volley Sendinga SimpleRequest Use newRequestQueue final TextView mTextView = (TextView) findViewById(R.id.text); ... // Instantiate the RequestQueue. RequestQueue queue = Volley.newRequestQueue(this); String url ="http://www.google.com"; // Request a string response from the provided URL. StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // Display the first 500 characters of the response string. mTextView.setText("Response is: "+ response.substring(0,500)); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { mTextView.setText("That didn't work!"); } }); // Add the request to the RequestQueue. queue.add(stringRequest);