terça-feira, 28 de junho de 2016

Testando conexão com a internet em app Android - Android Studio


Fala galera!

Veremos neste post uma forma simples e rápida de como testar a conexão com a internet no app Android que você está desenvolvendo. 



Talvez você esteja desenvolvendo um app que necessite de uma conexão com a internet e acredita ser legal informar ao usuário que a conexão não está habilitada, por isso seu app ficará com alguns recursos limitados até que seja resolvida essa pendência.

E isto pode ser feito de uma forma simples e com poucas linhas de código. Veja a seguir:

ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

   if(connectivityManager.getActiveNetworkInfo() != null
       && connectivityManager.getActiveNetworkInfo().isAvailable()
       && connectivityManager.getActiveNetworkInfo().isConnected()){
                usuarioConectado = true;
   }

A ConnectivityManager é responsável por responder a consultas sobre o estado de conectividade da rede, assim como notificar ao app qualquer mudança ocorrida.

Com uma instância dessa classe inicializada utilizando o método getSystemService(), que informa qual serviço do sistema será utilizado, nesse caso será o Context.CONNECTIVITY_SERVICE. Após instanciado o objeto, podemos fazer a validação necessária.

O método getActiveNetworkInfo() será utilizado para fazer a validação necessária de conexão. Neste exemplo testamos três métodos:

getActiveNetworkInfo(): retorna detalhes sobre a rede de dados padrão ativo no momento;
getActiveNetworkInfo().isAvailable(): indica se a conectividade de rede é possível;
getActiveNetworkInfo().isConnected(): indica se a conectividade de rede existe e é possível estabilizar conexões.

No meio do código inseri uma variável booleana chamada usuarioConectado, apesar de não estar devidamente declarada no código, ela poderia ser utilizada como uma flag para sinalizar se a conexão está ok ou não e assim utilizar algum recurso visual como o Toast para  dar o retorno ao usuário.

Espero que tenho gostado dessa dica e se tiverem algo para compartilhar, escreva nos comentários.

Até mais!

;)

Fonte de pesquisa: Developer Android - ConnectivityManager

Renan Rodrigues Ramos Desenvolvedor

Sou desenvolvedor, amo desenvolvimento de software, músico e apaixonado por filmes e seriados.

segunda-feira, 6 de junho de 2016

GO GO! Congresso de TI


Pessoal, hoje é o primeiro dia do evento da 4ª Edição do Congresso de TI.
Segue abaixo a lista das transmissões de hoje:

GO GO! Congresso de TI

Todas as palestras de hoje ficarão liberadas das 07hrs da manhã até 23:59hrs - horário de Brasília.
Allan Romanato
 
André de Almeida

Carlos Ferreira

Christyano Malta

David Arty

Fillipe Cordeiro

Luis Felipe Fernandes

Marco Enes

Plínio Ventura


Palestras bastante diversificadas para todos os gostos rs
Importante que você avalie a transmissão das palestras. Dessa forma os idealizadores poderão estar sempre melhorando a qualidade do evento.

--------------------------------------------------------------------------
PS: Receba também o Link das Palestras do Congresso de TI no seu Smartphone:

1 - Instale o aplicativo TELEGRAM no seu celular caso ainda não tenha. 

2 - Após instalar, digite no seu Telegram por @congressodeti ou acesse o link: http://telegram.me/congressodeti

3 - Clique no ícone "Canal Congresso de TI" e depois em ENTRAR. Pronto, agora você já estará incluído no nosso canal do Telegram para receber todos os links de transmissões das palestras durante o evento.
--------------------------------------------------------------------------

Até a próxima!
Luiz Fagner Zordan Analista de Sistemas

Graduado em Sistemas de Informação, atualmente trabalhando na Embraer pela FocusNetworks como FullStack. Sou apaixonado por tecnologia, fascinado por jogos e adoro passar o tempo assistindo séries.

sexta-feira, 3 de junho de 2016

GO GO! Técnicas de Invasão


Mais um evento super bacana online e totalmente grátis que você não pode perder ," Técnicas de Invasão em Cenários Reais".

O evento acontecerá dos dias 06 à 13 de Junho, e nesse treinamento você vai aprender técnicas que quebram os principais pilares de Segurança da Informação, como criminosos (crackers) comprometem Redes, Sistemas, Aplicações WEB Infraestruturas físicas.


Para se inscrever basta clicar nele link aqui, clicar no botão "Realizar inscrição", informar seu email e pronto! Você um email de confirmação e só esperar o dia do treinamento.

Bruno Fraga que é o idealizador do projeto, deixou esse vídeo com uma ferramenta muito legal pra já ter uma ideia do que o curso esta preparando.




Pessoal não perca essa oportunidades, muito se fala sobre segurança da informação, hacker e dificilmente se encontra um treinamento grátis para mostrar como as coisas funcionam.

Até a próxima!

Luiz Fagner Zordan Analista de Sistemas

Graduado em Sistemas de Informação, atualmente trabalhando na Embraer pela FocusNetworks como FullStack. Sou apaixonado por tecnologia, fascinado por jogos e adoro passar o tempo assistindo séries.

quinta-feira, 2 de junho de 2016

Web Scraping com Jsoup


Fala galera!

Em nosso post sobre web scraping, falamos um pouco do que é e como é utilizado esta técnica muito útil. Então resolvi compartilhar com vocês um implementação simples de web scraping em java utilizando a biblioteca Jsoup.



A biblioteca Jsoup foi desenvolvida para trabalhar com HTML para realizar a extração e manipulação de dados, usando métodos do DOM, CSS e métodos jQuery. É um projeto open source e está disponível no GitHub.

Let's get started!

Antes de começar, é preciso acessar a página de download do Jsoup e baixar os jars disponíveis. Se você utiliza maven, poderá copiar a dependência e inserir em seu pom.xml:

<dependency>
  <!-- jsoup HTML parser library @ http://jsoup.org/ -->
  <groupid>org.jsoup</groupid>
  <artifactid>jsoup</artifactid>
  <version>1.9.2</version>
</dependency>

Assim que estiver tudo certo em seu projeto, criaremos uma classe de teste.
Esta classe ficará da seguinte forma:

package com.deviscoming;

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class ExemploJSoup {

 public static void main(String[] args) {

  try {
   Document doc = Jsoup.connect("http://www.google.com").get();
   String titulo = doc.title();
   System.out.println("Título do site: " + titulo );
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

}

No console de sua IDE será possível visualizar a mensagem com o título do site:

Título do site: Google

Para obter toda a página Html, é preciso utilizar o método estático Jsoup.connect() e utilizar o método get(), pois, desta forma, você obterá um objeto Document. Este objeto possui um documento HTML armazenado internamente. Então para obter informações da página, basta utilizar os métodos disponíveis a partir deste objeto.

Caso queira obter elementos específicos, você pode utilizar o método select(). Ele retorna um objeto Elements, sendo este objeto um conjunto de objetos Element.

package com.deviscoming;

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class ExemploJSoup {

 public static void main(String[] args) {

  try {
   Document doc = Jsoup.connect("http://www.google.com").get();
   String titulo = doc.title();  
   //System.out.println("Título do site: " + titulo );
   
   //exibe todas as tags a existentes na página html   
   System.out.println("Links do site (tags a): " + doc.select("a"));

   //exibe o texto da tag a      
   System.out.println("href: "+doc.select("a").text());
    
   //exibe todas as tags que possuem o atributo href   
   Elements elements = doc.select("a[href]");
   for(int i = 0; i < elements.size();i++){
    System.out.println("href: "+elements.get(i).text());
   }     
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

}

Para ter mais informações sobre essa biblioteca, aconselho a acessarem o site do Jsoup, lá tem várias dicas, downloads e a documentação completa para consulta. Acessem também o site Raspando web com Jsoup, de onde foi tirado o conteúdo deste post e lá tem mais dicas e informações essenciais para o desenvolvimento do seu projeto. E também acessem o GitHub, analisem, estudem e quem sabe você não acaba se tornando parte da equipe de desenvolvimento? rsrsr

Até mais!

;) 
Renan Rodrigues Ramos Desenvolvedor

Sou desenvolvedor, amo desenvolvimento de software, músico e apaixonado por filmes e seriados.

Você sabe o que é Web Scraping?


Web Scraping (raspagem) é uma técnica de engenharia de software muito utilizada por empresas para extrair dados/conteúdos existentes em websites. Uma forma mais simples de explicar, é um programa que faz leitura de códigos HTML (HyperText Markup Language) de páginas web e faz análises dos dados obtidos.


Você sabe o que é Web Scraping?



É uma ferramenta muito útil para repórteres, pois facilita a busca de informações pela web e facilita a análise dos dados, sendo que é possível, além de extraí-los, visualiza-los e manipulá-los em um arquivo comum, planilhas e/ou banco de dados. E a maior vantagem são para aqueles que sabem codificar.



Como tudo tem um limite, existem regras que delimitam o uso e acesso dessa técnica. É preciso estar ciente que, se você fazer o uso de scraping em sites que não permitem o mesmo, isso pode ser considerado hacking e não será legal se descobrirem. Por isso o ideal é saber se o que pretende fazer na web é permitido e legal por ambas as partes.



Bom, mas existem websites que fornecem informações ao público e que permitam o uso dessa técnica, basta saber onde e para que usar e deixar a imaginação fluir.


Até mais!

;)
Renan Rodrigues Ramos Desenvolvedor

Sou desenvolvedor, amo desenvolvimento de software, músico e apaixonado por filmes e seriados.