SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
UMA INTRODUÇÃO A LÓGICA
DE PROGRAMAÇÃO COM JAVA.
CLÊRTON LEAL
UM POUCO SOBRE MIM.
▸ Desenvolvedor de software com alguns anos de mercado.
▸ Com o tempo acabei me tornando um especialista em
Android.
▸ Sou maluco pro desenvolvimento de software.
▸ E doido por novas linguagens.
▸ Atualmente trabalhando no Instituto atlântico.
VAMOS FALAR SOBRE
ORIENTAÇÃO A OBJETOS.
RECAPITULANDO
O QUE NÓS VIMOS ATÉ AQUI
TIPOS
CLASSES
O QUE SIGNIFICA CLASSE
‣ CATEGORIA
‣ CASTA
‣ CLASSIFICAÇÃO
CLASSE. OU VOCÊ TEM OU VOCÊ NÃO TEM.
‣ CLASSE É A DESCRIÇÃO DE UM TIPO DE UMA
VARIÁVEL.
‣ DESCREVE TODOS OS COMPORTAMENTOS QUE
UM OBJETO TERÁ.
‣ É A BASE PARA A ORIENTAÇÃO A OBJETOS.
CLASSE
TEXTO
OBJETOS
OBJETOS TEM CLASSE
‣ OBJETOS SÃO A INSTANCIA/CONSTRUÇÃO DE
UMA CLASSE.
‣ E TEM TODOS OS COMPORTAMENTOS DESCRITOS
NA MESMA.
public static void main(String[] args) {

MinhaClasse minhaClasse = new MinhaClasse();

}
VAMOS CRIAR NOSSA PROPRIA CLASSE.
TEXTO
COMPORTAMENTOS DE CLASSE
‣ VARIÁVEIS
‣ MÉTODOS
VAMOS ADICIONAR COMPORTAMENTOS. =D
MODIFICADORES
DE ACESSO.
PRIVADO OU PUBLICO. MUDANDO O ACESSO.
‣ VARIÁVEIS E MÉTODOS DE CLASSE PODEM TER
UM MODIFICADOR DE ACESSO.
‣ PUBLIC SIGNIFICA QUE QUALQUER UM PODE
ACESSAR A VARIÁVEL A PARTIR DO OBJETO.
‣ PRIVATE INDICA QUE NINGUÉM ALÉM DO
PRÓPRIO OBJETO PODE TER ACESSO A VARIÁVEL.
SEGUINDO O PADRÃO JAVA. FAZER O QUE…..
‣ O PADRÃO JAVA DEFINE QUE NUNCA DEVEMOS
TER UMA VARIÁVEL PUBLIC EM UMA CLASSE.
‣ TODAS AS VARIÁVEIS DEVEM SER PRIVATE.
public class MinhaClasse {



public String naoPode = "Não faça isso jovem";

private String pode = "Faça isso jovem";



}
public static void main(String[] args) {



MinhaClasse minhaClasse = new MinhaClasse();

System.out.println(minhaClasse.pode);

//Isso não compila pois a variável pode tem o modificador private



}
‣ O PADRÃO JAVA EXIGE QUE AS VARIÁVEIS SEJAM
ACESSADAS POR MÉTODOS DE GET E SET.
‣ O PADRÃO GET E SET ESTÃO PRESENTES EM
TODAS AS APIS JAVA.
GET E SET
‣ ADEQUANDO NOSSO CÓDIGO AO PADRÃO…
public class MinhaClasse {

private String pode = "Faça isso jovem";



public String getPode() {

return pode;

}



public void setPode(String pode) {

this.pode = pode;

}

}
public static void main(String[] args) {

MinhaClasse minhaClasse = new MinhaClasse();

System.out.println(minhaClasse.getPode());

}
CODIGO!!!
TRATAMENTO DE
EXCEÇÕES.
EXCEPTIONS. ERROS SÃO SEMPRE ESPERADOS NO MUNDO JAVA.
‣ DURANTE A EXECUÇÃO DE UM MÉTODO, UM
ERRO PODE ACONTECER.
‣ DEVEMOS SER SEMPRE CAPAZES DE TRATAR
ESSES ERROS.
‣ EM JAVA MÉTODOS PODEM EXPLICITAMENTE
INFORMAR QUE PODEM LANÇAR UMA EXCEÇÃO.
OI?
EXCEPTIONS.
‣ DECLARAR UMA EXCEÇÃO SIGNIFICA INFORMAR
QUE UM MÉTODO PODE CAUSAR UM ERRO E
EXIGIR QUE ESSE ERRO SEJA EXPLICITAMENTE
TRATADO.
public void deuRuim(Integer number) throws Exception {

if (number == 5) {

System.out.println("Sucesso!!!!!");

} else {

throw new Exception("Erro na execução do método");

}

}
EXCEPTIONS.
‣ TODOS QUE EVOCAREM O MÉTODO PRECISAM
TRATAR A EXCEÇÃO.
public static void main(String[] args) {

MinhaClasse minhaClasse = new MinhaClasse();

minhaClasse.deuRuim(4);

}
‣ O CÓDIGO ACIMA NÃO COMPILA. OCORRE UM
ERRO DE COMPILAÇÃO DEVIDO A EXISTÊNCIA DE
UMA EXCEÇÃO NÃO TRATADA.
TRY CATCH. TENTA EXECUTAR PARA MIM.
‣ PARA COMPILAR O CÓDIGO É NECESSÁRIO
TRATAR A EXCEÇÃO.
public static void main(String[] args) {

MinhaClasse minhaClasse = new MinhaClasse();

try {

minhaClasse.deuRuim(4);

} catch (Exception e) {

System.out.println(e.getMessage());

}

}
‣ CASO O MÉTODO JOGUE UMA EXCEÇÃO, O BLOCO
CATCH SERÁ CHAMADO.
CODIGO!!!
BIBLIOTECAS DE
TERCEIROS
BIBLIOTECAS DE TERCEIROS
‣ SÃO CÓDIGOS FEITOS POR OUTRAS PESSOAS E
DISPONIBILIZADOS PARA USO LIVRE OU NÃO.
‣ NORMALMENTE CHAMADOS DE FRAMEWORKS.
‣ TEM O INTUITO DE FACILITAR/POSSIBILITAR A
EXECUÇÃO DE TAREFAS COMPLEXAS.
TEXTO
‣ SELENIUM
‣ JUNIT
‣ JASMINE
‣ ESPRESSO
‣ CALABASH
‣ PROTRACTOR
‣ CUCUMBER
NO FINAL TUDO É CÓDIGO
ADICIONANDO
UMA BIBLIOTECA.
TEXTO
DESAFIO
▸ Quero acessar uma pagina da internet.
▸ Vamos fazer uma requisição HTTP a um site publico.
▸ Vamos exibir o conteúdo textual desse site.
É UMA BOA HORA PARA
USAR UM FRAMEWORK.
OKHTTP
TEXTO
‣ COM A ADIÇÃO DESSA BIBLIOTECA TEMOS ACESSO
A NOVAS CLASSES E MÉTODOS.
‣ E PODEMOS CRIAR UM MÉTODO EM NOSSA CLASSE
QUE FAZ REQUISIÇÕES A INTERNET.
public class MinhaClasse {



public String request(String url) throws IOException {

OkHttpClient okHttpClient = new OkHttpClient();

Request request = new Request.Builder().url(url).build();

Response response = okHttpClient.newCall(request).execute();

return response.body().string();

}



}
TEXTO
E PODEMOS CHAMAR ESSE MÉTODO EM NOSSA CLASSE MAIN.
public static void main(String[] args) {

try {

MinhaClasse minhaClasse = new MinhaClasse();

String resultado = minhaClasse.request("http://square.github.io/okhttp/");

System.out.println(resultado);

} catch (IOException e) {

System.out.println(e.getMessage());

}

}
OBRIGADO
CLERTONLEAL@GMAIL.COM
@CLERTONLEAL
Precisando falar comigo.

Mais conteúdo relacionado

Mais procurados

Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAfonso Gomes
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)Armando Daniel
 
Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011Luís Cobucci
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 
Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7David Willian
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Inael Rodrigues
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticasFrancke Peixoto
 
Desenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesDesenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesVitor Silva
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoPaula Grangeiro
 

Mais procurados (20)

Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCD
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Treinamento ajax modulo javascript
Treinamento ajax   modulo javascriptTreinamento ajax   modulo javascript
Treinamento ajax modulo javascript
 
Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011Removendo o cheiro ruim do seu código - SoLiSC 2011
Removendo o cheiro ruim do seu código - SoLiSC 2011
 
Tutorial java swing
Tutorial java swingTutorial java swing
Tutorial java swing
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Switchcase
SwitchcaseSwitchcase
Switchcase
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Shell script
Shell script Shell script
Shell script
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 
Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Aula 07
Aula 07Aula 07
Aula 07
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticas
 
Desenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesDesenvolvimento em .Net - Excepções
Desenvolvimento em .Net - Excepções
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de código
 

Semelhante a Uma introdução à lógica de programação com Java

DevTalk Zoox 04/2016
DevTalk Zoox 04/2016DevTalk Zoox 04/2016
DevTalk Zoox 04/2016Leandro Silva
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Injeção de Dependências com PHP
Injeção de Dependências com PHPInjeção de Dependências com PHP
Injeção de Dependências com PHPDanilo Godoy
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoAnderson Ledo
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoJuciellen Cabrera
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens PooInfogenius
 
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Luís Cobucci
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência JavaMario Jorge Pereira
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemliverig
 
Php5 e a orientação a objetos
Php5 e a orientação a objetosPhp5 e a orientação a objetos
Php5 e a orientação a objetosxbacon
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5Diego Pacheco
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)jose-junior89
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 

Semelhante a Uma introdução à lógica de programação com Java (20)

DevTalk Zoox 04/2016
DevTalk Zoox 04/2016DevTalk Zoox 04/2016
DevTalk Zoox 04/2016
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Injeção de Dependências com PHP
Injeção de Dependências com PHPInjeção de Dependências com PHP
Injeção de Dependências com PHP
 
Aula5
Aula5Aula5
Aula5
 
Solid
SolidSolid
Solid
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no código
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011Removendo o cheiro ruim do seu código - PHPSC Conf 2011
Removendo o cheiro ruim do seu código - PHPSC Conf 2011
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Orientação a Objeto
Orientação a ObjetoOrientação a Objeto
Orientação a Objeto
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Php5 e a orientação a objetos
Php5 e a orientação a objetosPhp5 e a orientação a objetos
Php5 e a orientação a objetos
 
Migrando pra Scala
Migrando pra ScalaMigrando pra Scala
Migrando pra Scala
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 
Testes com JUnit
Testes com JUnitTestes com JUnit
Testes com JUnit
 
PowerShell
PowerShellPowerShell
PowerShell
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 

Uma introdução à lógica de programação com Java

  • 1. UMA INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO COM JAVA. CLÊRTON LEAL
  • 2. UM POUCO SOBRE MIM. ▸ Desenvolvedor de software com alguns anos de mercado. ▸ Com o tempo acabei me tornando um especialista em Android. ▸ Sou maluco pro desenvolvimento de software. ▸ E doido por novas linguagens. ▸ Atualmente trabalhando no Instituto atlântico.
  • 4. RECAPITULANDO O QUE NÓS VIMOS ATÉ AQUI
  • 6.
  • 8. O QUE SIGNIFICA CLASSE ‣ CATEGORIA ‣ CASTA ‣ CLASSIFICAÇÃO
  • 9. CLASSE. OU VOCÊ TEM OU VOCÊ NÃO TEM. ‣ CLASSE É A DESCRIÇÃO DE UM TIPO DE UMA VARIÁVEL. ‣ DESCREVE TODOS OS COMPORTAMENTOS QUE UM OBJETO TERÁ. ‣ É A BASE PARA A ORIENTAÇÃO A OBJETOS.
  • 11. TEXTO
  • 13. OBJETOS TEM CLASSE ‣ OBJETOS SÃO A INSTANCIA/CONSTRUÇÃO DE UMA CLASSE. ‣ E TEM TODOS OS COMPORTAMENTOS DESCRITOS NA MESMA. public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 }
  • 14. VAMOS CRIAR NOSSA PROPRIA CLASSE.
  • 15. TEXTO
  • 16. COMPORTAMENTOS DE CLASSE ‣ VARIÁVEIS ‣ MÉTODOS
  • 19. PRIVADO OU PUBLICO. MUDANDO O ACESSO. ‣ VARIÁVEIS E MÉTODOS DE CLASSE PODEM TER UM MODIFICADOR DE ACESSO. ‣ PUBLIC SIGNIFICA QUE QUALQUER UM PODE ACESSAR A VARIÁVEL A PARTIR DO OBJETO. ‣ PRIVATE INDICA QUE NINGUÉM ALÉM DO PRÓPRIO OBJETO PODE TER ACESSO A VARIÁVEL.
  • 20. SEGUINDO O PADRÃO JAVA. FAZER O QUE….. ‣ O PADRÃO JAVA DEFINE QUE NUNCA DEVEMOS TER UMA VARIÁVEL PUBLIC EM UMA CLASSE. ‣ TODAS AS VARIÁVEIS DEVEM SER PRIVATE. public class MinhaClasse {
 
 public String naoPode = "Não faça isso jovem";
 private String pode = "Faça isso jovem";
 
 }
  • 21.
  • 22. public static void main(String[] args) {
 
 MinhaClasse minhaClasse = new MinhaClasse();
 System.out.println(minhaClasse.pode);
 //Isso não compila pois a variável pode tem o modificador private
 
 } ‣ O PADRÃO JAVA EXIGE QUE AS VARIÁVEIS SEJAM ACESSADAS POR MÉTODOS DE GET E SET. ‣ O PADRÃO GET E SET ESTÃO PRESENTES EM TODAS AS APIS JAVA.
  • 23. GET E SET ‣ ADEQUANDO NOSSO CÓDIGO AO PADRÃO… public class MinhaClasse {
 private String pode = "Faça isso jovem";
 
 public String getPode() {
 return pode;
 }
 
 public void setPode(String pode) {
 this.pode = pode;
 }
 } public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 System.out.println(minhaClasse.getPode());
 }
  • 26. EXCEPTIONS. ERROS SÃO SEMPRE ESPERADOS NO MUNDO JAVA. ‣ DURANTE A EXECUÇÃO DE UM MÉTODO, UM ERRO PODE ACONTECER. ‣ DEVEMOS SER SEMPRE CAPAZES DE TRATAR ESSES ERROS. ‣ EM JAVA MÉTODOS PODEM EXPLICITAMENTE INFORMAR QUE PODEM LANÇAR UMA EXCEÇÃO.
  • 27. OI?
  • 28. EXCEPTIONS. ‣ DECLARAR UMA EXCEÇÃO SIGNIFICA INFORMAR QUE UM MÉTODO PODE CAUSAR UM ERRO E EXIGIR QUE ESSE ERRO SEJA EXPLICITAMENTE TRATADO. public void deuRuim(Integer number) throws Exception {
 if (number == 5) {
 System.out.println("Sucesso!!!!!");
 } else {
 throw new Exception("Erro na execução do método");
 }
 }
  • 29. EXCEPTIONS. ‣ TODOS QUE EVOCAREM O MÉTODO PRECISAM TRATAR A EXCEÇÃO. public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 minhaClasse.deuRuim(4);
 } ‣ O CÓDIGO ACIMA NÃO COMPILA. OCORRE UM ERRO DE COMPILAÇÃO DEVIDO A EXISTÊNCIA DE UMA EXCEÇÃO NÃO TRATADA.
  • 30. TRY CATCH. TENTA EXECUTAR PARA MIM. ‣ PARA COMPILAR O CÓDIGO É NECESSÁRIO TRATAR A EXCEÇÃO. public static void main(String[] args) {
 MinhaClasse minhaClasse = new MinhaClasse();
 try {
 minhaClasse.deuRuim(4);
 } catch (Exception e) {
 System.out.println(e.getMessage());
 }
 } ‣ CASO O MÉTODO JOGUE UMA EXCEÇÃO, O BLOCO CATCH SERÁ CHAMADO.
  • 33. BIBLIOTECAS DE TERCEIROS ‣ SÃO CÓDIGOS FEITOS POR OUTRAS PESSOAS E DISPONIBILIZADOS PARA USO LIVRE OU NÃO. ‣ NORMALMENTE CHAMADOS DE FRAMEWORKS. ‣ TEM O INTUITO DE FACILITAR/POSSIBILITAR A EXECUÇÃO DE TAREFAS COMPLEXAS.
  • 34. TEXTO ‣ SELENIUM ‣ JUNIT ‣ JASMINE ‣ ESPRESSO ‣ CALABASH ‣ PROTRACTOR ‣ CUCUMBER
  • 35. NO FINAL TUDO É CÓDIGO
  • 37. TEXTO DESAFIO ▸ Quero acessar uma pagina da internet. ▸ Vamos fazer uma requisição HTTP a um site publico. ▸ Vamos exibir o conteúdo textual desse site.
  • 38. É UMA BOA HORA PARA USAR UM FRAMEWORK.
  • 40. TEXTO ‣ COM A ADIÇÃO DESSA BIBLIOTECA TEMOS ACESSO A NOVAS CLASSES E MÉTODOS. ‣ E PODEMOS CRIAR UM MÉTODO EM NOSSA CLASSE QUE FAZ REQUISIÇÕES A INTERNET. public class MinhaClasse {
 
 public String request(String url) throws IOException {
 OkHttpClient okHttpClient = new OkHttpClient();
 Request request = new Request.Builder().url(url).build();
 Response response = okHttpClient.newCall(request).execute();
 return response.body().string();
 }
 
 }
  • 41. TEXTO E PODEMOS CHAMAR ESSE MÉTODO EM NOSSA CLASSE MAIN. public static void main(String[] args) {
 try {
 MinhaClasse minhaClasse = new MinhaClasse();
 String resultado = minhaClasse.request("http://square.github.io/okhttp/");
 System.out.println(resultado);
 } catch (IOException e) {
 System.out.println(e.getMessage());
 }
 }