SlideShare a Scribd company logo
1 of 51
Desenvolvendo para
Android
com componentes
Open Source
Por Adriel Café
ac@adrielcafe.com
http://github.com/adrielcafe
http://pt.slideshare.net/adrielcafe
http://facebook.com/adrielcafe
ANTES DE COMEÇAR...
http://bit.do/s-task
Agenda
 Introdução rápida ao Android
 Views: nativas x open source
 Banco de Dados: nativo x open source
 O que vamos desenvolver?
 Let’s code!
Introdução Rápida ao
Android
O que é o Android?
 Sistema operacional para dispositivos móveis
 Desenvolvido pelo Google
 Baseado no Linux
 Open Source
http://source.android.com
 Primeiro smartphone Android foi lançado em 2008
Versões do Android
O Que Preciso Para
Desenvolver?
Linguagens
 Java
 XML
 SQL
Ferramentas
 Android Studio
 Android SDK
http://developer.android.com/sdk
Views Nativas
Views:
Nativas x Open Source
Button
Nativo Alternativos
FlatButton
https://github.com/hoang8f/android-flat-button
CircleButton
https://github.com/markushi/android-circlebutton
Button
Nativo Alternativos
CircularProgressButton
https://github.com/dmytrodanylyk/circular-progress-button
ProcessButton
https://github.com/dmytrodanylyk/android-process-button
RadioButton
Nativo Alternativos
NoCircleRadioButton
https://github.com/Euphrates-Media/No-Circle-Radio-Button
SegmentedControl
https://github.com/hoang8f/android-segmented-control
Switch
Nativo Alternativos
CoolSwitch
https://github.com/Serchinastico/CoolSwitch
SwitchButton
https://github.com/kyleduo/SwitchButton
ProgressBar
Nativo Alternativos
SmoothProgressBar
https://github.com/castorflex/SmoothProgressBar
RoundCornerProgressBar
https://github.com/akexorcist/Android-RoundCornerProgressBar
ProgressBar
Nativo Alternativos
NumberProgressBar
https://github.com/daimajia/NumberProgressBar
RoundCornerProgressBar
https://github.com/akexorcist/Android-RoundCornerProgressBar
SeekBar
Nativo Alternativos
DiscreteSeekBar
https://github.com/AnderWeb/discreteSeekBar
VerticalSeekBar
https://github.com/h6ah4i/android-verticalseekbar
Dialog
Nativo Alternativos
L-Dialogs
https://github.com/lewisjdeane/L-Dialogs
Material Dialogs
https://github.com/afollestad/material-dialogs
Dialog
Nativo Alternativos
NiftyDialogEffects
https://github.com/sd6352051/NiftyDialogEffects
Dialog
Nativo Alternativos
Sweet Alert
https://github.com/pedant/sweet-alert-dialog
Dialog
Nativo Alternativos
DialogPlus
https://github.com/orhanobut/dialogplus
ListView
Nativo Alternativos
FlabbyListView
https://github.com/jpardogo/FlabbyListView
ListView
Nativo Alternativos
SwipeMenuListView
https://github.com/baoyongzhang/SwipeMenuListView
ListView
Nativo Alternativos
YoutubeListView
https://github.com/Laimiux/android-youtube-listview
Menu
Nativo Alternativos
ContextMenu
https://github.com/Yalantis/Context-Menu.Android
Menu
Nativo Alternativos
SideMenu
https://github.com/Yalantis/Side-Menu.Android
Pull to Refresh
Nativo Alternativos
Não tem SwipyRefreshLayout
https://github.com/OrangeGangsters/SwipyRefreshLayout
Pull to Refresh
Nativo Alternativos
Não tem Phoenix Pull-to-Refresh
https://github.com/Yalantis/Phoenix
Banco de Dados:
Nativo x Open Source
Banco de Dados:
Biblioteca Nativa
Criando uma tabela CRUD
db.execSQL(“CREATE TABLE IF NOT
EXISTS Category (
id INTEGER PRIMARY KEY,
name TEXT
);”);
// Select
db.execSQL(“SELECT * FROM
Category;");
// Insert
db.execSQL("INSERT INTO Category
Values (‘xyz’);");
// Update
db.execSQL(“UPDATE Category SET
name = “abc” WHERE id = 1;");
// Delete
db.execSQL(“DELETE FROM Category
WHERE id = 1;");
Banco de Dados:
ActiveAndroid
Criando uma tabela CRUD
@Table(name = "Categories")
public class Category extends Model {
@Column(name = "Name")
public String name;
}
// Select
new Select()
.from(Category.class)
.execute();
// Insert & Update
category.save();
// Delete
category.delete();
https://github.com/pardom/ActiveAndroid
Banco de Dados:
Sugar ORM
Criando uma tabela CRUD
https://github.com/satyan/sugar
public class Category extends
SugarRecord<Category> {
public String name;
}
// Select
Select
.from(Category.class)
.list();
// Insert & Update
category.save();
// Delete
category.delete();
O Que Vamos Desenvolver?
Lista de Tarefas
Wunderlist Evernote Any.DO
Lista de Tarefas
TodoistGoogle Keep J.Todo
Vamos desenvolver o
S-Task!
S-Task
S-Task
 Google Play
http://play.google.com/store/apps/details?id=com.
adrielcafe.stask
 GitHub
http://github.com/adrielcafe/S-Task
S-Task
Iremos usar os seguintes componentes open source:
 Sugar ORM
http://github.com/satyan/sugar
 NiftyDialogEffects
http://github.com/sd6352051/NiftyDialogEffects
 AndroidSwipeLayout
http://github.com/daimajia/AndroidSwipeLayout
 FloatingActionButton
http://github.com/makovkastar/FloatingActionButton
 FloatingLabelWidgets
http://github.com/marvinlabs/android-floatinglabel-widgets
Let’s Code!
1º - Configurar o Projeto
1. Baixar o projeto
http://bit.do/s-task
2. Abrir no Android Studio
2º - Entender o Projeto
 AndroidManifest.xml
Contém a declaração das Activities
 TasksActivity
Activity da tela principal, exibe a lista de tarefas
 TaskEditActivity
Activity da tela de criação e edição das tarefas
 TaskAdapter
Adapter responsável por criar as linhas da lista
 Task
Modelo que representa uma tarefa e a tabela no
banco de dados
 res/layout/
Contém as interfaces gráficas das Activities
 build.gradle (Module: app)
Arquivo de configuração do aplicativo
3º - Configurar app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
...
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.github.satyan:sugar:1.3.1@aar'
compile
'com.github.sd6352051.niftydialogeffects:niftydialogeffects:1.0.0'
compile "com.daimajia.swipelayout:library:1.2.0@aar"
compile 'com.melnykov:floatingactionbutton:1.3.0@aar'
compile 'com.marvinlabs:android-floatinglabel-widgets:1.6.1@aar'
4º - Criar ListView em
activity_tasks.xml
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:divider="@color/accent"
android:dividerHeight="0.25dp"/>
5º - Implementar
FloatingActionButton em
activity_tasks.xml
<com.melnykov.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
android:src="@drawable/ic_add"
app:fab_colorNormal="@color/primary” />
6º - Implementar
FloatingLabelEditText em
activity_task_edit.xml
<com.marvinlabs.widget.floatinglabel.edit
text.FloatingLabelEditText
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:flw_inputWidgetTextSize="22sp"
app:flw_labelTextSize="18sp"
app:flw_labelText="@string/title" />
7º - Implementar Sugar ORM
Task TasksActivity
private void saveTask(){
task.title = “...";
task.description = “...";
task.save();
}
private void loadTasks(){
tasks = Select
.from(Task.class)
.orderBy("id DESC")
.list();
}
public void deleteTask(Task task){
task.delete();
tasks.remove(task);
tasksAdapter.notifyDataSetChanged();
}
public class Task extends SugarRecord<Task> {
public String title;
public String description;
public boolean done;
public Task(){
}
}
TaskEditActivity
8º - Implementar TaskAdapter e
SwipeLayout em TasksActivity
private void loadTasks(){
...
if(!tasks.isEmpty()){
tasksAdapter = new TaskAdapter(this, tasks);
tasksList.setAdapter(tasksAdapter);
}
}
public void toggleTaskStatus(Task task, View
statusView){
if(task.done){
task.done = false;
statusView.setBackgroundColor(getResources()
.getColor(R.color.gray));
} else {
task.done = true;
statusView.setBackgroundColor(getResources()
.getColor(R.color.accent));
}
task.save();
}
9º - Implementar NiftyDialog em
TasksActivity
public void showTask(final Task task){
final NiftyDialogBuilder dialog =
NiftyDialogBuilder.getInstance(this);
dialog.withTitle(task.title)
.withMessage(task.description)
.withDialogColor(getResources()
.getColor(R.color.primary))
.withEffect(Effectstype.SlideBottom)
.withDuration(300)
.withButton1Text(getString(R.string.close))
.setButton1Click(new
View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.hide();
}
})
.show();
Desafio
Implementar novas funcionalidades:
Categorias
Lembrar
Anexos
...
http://github.com/adrielcafe/S-Task
Links
 Views open source
https://android-arsenal.com/free
 Banco de Dados ORM
https://android-arsenal.com/tag/69
 Gerador de Ícones
http://romannurik.github.io/AndroidAssetStudio
 Gerador de Cores
http://materialpalette.com
Obrigado!
Adriel Café
ac@adrielcafe.com
http://github.com/adrielcafe
http://pt.slideshare.net/adrielcafe
http://facebook.com/adrielcafe

More Related Content

Similar to Desenvolvendo para Android com componentes Open Source

Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Androiddonnfelker
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspectiveGunjan Kumar
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentJustin James
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopmentgillygize
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxNgLQun
 
Day 1 Android Apps (Education ICT-Comp Science)
Day 1 Android Apps (Education ICT-Comp Science)Day 1 Android Apps (Education ICT-Comp Science)
Day 1 Android Apps (Education ICT-Comp Science)morewebber
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
The Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKThe Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKGun Lee
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App DevelopmentTodd Burgess
 
Mobile development
Mobile developmentMobile development
Mobile developmentSayed Ahmed
 
Synapseindia android apps intro to android development
Synapseindia android apps  intro to android developmentSynapseindia android apps  intro to android development
Synapseindia android apps intro to android developmentSynapseindiappsdevelopment
 
Getting Started with Android Development
Getting Started with Android DevelopmentGetting Started with Android Development
Getting Started with Android DevelopmentEdureka!
 
Mobile application and Game development
Mobile application and Game developmentMobile application and Game development
Mobile application and Game developmentWomen In Digital
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App DevelopmentAndri Yadi
 

Similar to Desenvolvendo para Android com componentes Open Source (20)

Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application Development
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
Android by LAlitha
Android by LAlithaAndroid by LAlitha
Android by LAlitha
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Day 1 Android Apps (Education ICT-Comp Science)
Day 1 Android Apps (Education ICT-Comp Science)Day 1 Android Apps (Education ICT-Comp Science)
Day 1 Android Apps (Education ICT-Comp Science)
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
The Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDKThe Glass Class - Tutorial 3 - Android and GDK
The Glass Class - Tutorial 3 - Android and GDK
 
Android
AndroidAndroid
Android
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 
cpuk10745
cpuk10745cpuk10745
cpuk10745
 
Mobile development
Mobile developmentMobile development
Mobile development
 
Synapseindia android apps intro to android development
Synapseindia android apps  intro to android developmentSynapseindia android apps  intro to android development
Synapseindia android apps intro to android development
 
Getting Started with Android Development
Getting Started with Android DevelopmentGetting Started with Android Development
Getting Started with Android Development
 
Mobile application and Game development
Mobile application and Game developmentMobile application and Game development
Mobile application and Game development
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 
Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
 
Android
Android Android
Android
 

More from Adriel Café

Desenvolvendo aplicativos Android com Kotlin
Desenvolvendo aplicativos Android com KotlinDesenvolvendo aplicativos Android com Kotlin
Desenvolvendo aplicativos Android com KotlinAdriel Café
 
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...Adriel Café
 
Gryphon Framework - Preliminary Results Feb-2014
Gryphon Framework - Preliminary Results Feb-2014Gryphon Framework - Preliminary Results Feb-2014
Gryphon Framework - Preliminary Results Feb-2014Adriel Café
 
Ontology integration - Heterogeneity, Techniques and more
Ontology integration - Heterogeneity, Techniques and moreOntology integration - Heterogeneity, Techniques and more
Ontology integration - Heterogeneity, Techniques and moreAdriel Café
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeAdriel Café
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...Adriel Café
 
2º ETI - Minicurso "Desenvolvendo para Plataforma Android"
2º ETI - Minicurso "Desenvolvendo para Plataforma Android"2º ETI - Minicurso "Desenvolvendo para Plataforma Android"
2º ETI - Minicurso "Desenvolvendo para Plataforma Android"Adriel Café
 

More from Adriel Café (8)

Desenvolvendo aplicativos Android com Kotlin
Desenvolvendo aplicativos Android com KotlinDesenvolvendo aplicativos Android com Kotlin
Desenvolvendo aplicativos Android com Kotlin
 
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
Uma Arquitetura com Implementação para Integração Semântica de Ontologias e B...
 
Gryphon Framework - Preliminary Results Feb-2014
Gryphon Framework - Preliminary Results Feb-2014Gryphon Framework - Preliminary Results Feb-2014
Gryphon Framework - Preliminary Results Feb-2014
 
Ontology integration - Heterogeneity, Techniques and more
Ontology integration - Heterogeneity, Techniques and moreOntology integration - Heterogeneity, Techniques and more
Ontology integration - Heterogeneity, Techniques and more
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & Practice
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
 
2º ETI - Minicurso "Desenvolvendo para Plataforma Android"
2º ETI - Minicurso "Desenvolvendo para Plataforma Android"2º ETI - Minicurso "Desenvolvendo para Plataforma Android"
2º ETI - Minicurso "Desenvolvendo para Plataforma Android"
 

Recently uploaded

20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 

Recently uploaded (20)

20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 

Desenvolvendo para Android com componentes Open Source