SlideShare a Scribd company logo
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 Android
donnfelker
 
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
Gunjan Kumar
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application Development
Justin James
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
gillygize
 
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
NgLQun
 
Android by LAlitha
Android by LAlithaAndroid by LAlitha
Android by LAlitha
Lally Lalitha
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
fantasy zheng
 
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 Apps
Troy 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 GDK
Gun Lee
 
Android
AndroidAndroid
Android
Sai Kiran
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
Todd Burgess
 
cpuk10745
cpuk10745cpuk10745
cpuk10745
Chandan Kumar
 
Mobile development
Mobile developmentMobile development
Mobile development
Sayed 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 development
Synapseindiappsdevelopment
 
Getting Started with Android Development
Getting Started with Android DevelopmentGetting Started with Android Development
Getting Started with Android Development
Edureka!
 
Mobile application and Game development
Mobile application and Game developmentMobile application and Game development
Mobile application and Game development
Women In Digital
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
Andri Yadi
 
Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
Synapseindiappsdevelopment
 
Android
Android Android
Android
Akhilesh Saini
 

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 Kotlin
Adriel 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-2014
Adriel Café
 
Ontology integration - Heterogeneity, Techniques and more
Ontology integration - Heterogeneity, Techniques and moreOntology integration - Heterogeneity, Techniques and more
Ontology integration - Heterogeneity, Techniques and more
Adriel Café
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & Practice
Adriel Café
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
Adriel 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

一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
narinav14
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 

Recently uploaded (20)

一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 

Desenvolvendo para Android com componentes Open Source