Pesquise algo no blog

Mostrando postagens com marcador Java. Mostrar todas as postagens
Mostrando postagens com marcador Java. Mostrar todas as postagens

quarta-feira, 16 de dezembro de 2020

Seu APK está GIGANTE? Aprenda como reduzir o tamanho dos seus aplicativo...

Como reduzir o tamanho do APK e ganhar muita memória RAM e performance?




Neste tutorial irei ensinar como você pode utilizar o poder do Android Studio para eliminar automaticamente qualquer imagem, layout ou recursos não utilizado ou desnecessário para a versão final do seu APK.

Isso vai permitir ganhos de memória o que é fundamental atualmente.

Inscreva-se no curso completo com super desconto.






Participe do meu grupo VIP de alunos para acompanhar os lançamentos e novidades dos meus cursos.


Bons estudos,

Professor Marco Maddo

domingo, 25 de outubro de 2020

Canal Os Brasileiros Sabem Programas, conheça e inscreva-se para ter sup...

O Canal Os Brasileiros Sabem Programar




Sou o Marco Maddo, professor e profissional da área de tecnologia especializado em desenvolvimento web e mobile.

Quero convidar você para fazer uma visita ao meu Canal no YouTube onde compartilho conteúdos de interesse dos profissionais de IT, estudantes universitários e pessoas de outras áreas que querem iniciar uma nova carreira.

Este video é um exemplo dos conteúdos que você vai encontrar no Canal.

Visite, estou lhe esperando lá no canal.

Marco Maddo

domingo, 22 de novembro de 2015

Acelerador de Statup, convite para uma parceria de sucesso!




Introdução


As melhores ideias são as mais simples, são aquelas que fazem a diferença em alguma coisa na vida das pessoas. O Google e o Facebook foram ideias a partir do nada, que hoje estão transformando o estilo de vidas não apenas das pessoas, mas do nosso planeta como um todo.

Eu entendo que a qualificação pessoal e profissional é o melhor investimento que você possa fazer, mas de que adianta ter qualificação, conhecimentos, habilidades se você não compartilha com outras grupos de pessoas, se você não coloca suas ideias em prática.

Esta linha de pensamento é o motivo deste poste hoje aqui no Blog, cujo objetivo é buscar pessoas em busca de parcerias para tornar uma ideia em algo valioso em todos os sentidos. Pessoas que possuem uma ideia, mas não possuem o conhecimento técnico para tornar a sua ideia em realidade.


Quem sou?


Meu nome é Marco Aurélio Dias de Oliveira, ou Marco Maddo como sou conhecido. Sou professor da área de tecnologia, com foco em Android e Java. Atualmente trabalho em uma Fábrica de Software no SENAC MS. 

Tenho experiência de longos anos em desenvolvimento de sistemas, pequenos, médios e grandes, bem como de todo o Ciclo de Desenvolvimento de Softwares, da Gestão do Projeto à entrega final do produto.

Nos último anos no que diz respeito à gestão de projetos, me especializei no desenvolvimento ágil com Scrum, framework do qual sou certificado deste 2008.

Qual minha proposta para você?


Eu acredito que o Brasil pode se tornar uma potência mundial em várias áreas, não cabe apenas aos governos tornar isso realidade, cabe também a cada um de nós.

A minha proposta é ser parceiro de pessoas empreendedoras, que possuem alguma ideia e deseja coloca-la em prática, porém, como é o caso da grande maioria das pessoas em nosso país, não possuem investimento ou a capacidade de tirar a ideia da mente e transforma-la em um projeto.


Como posso colaborar Acelerando a sua Startup


Vivemos em uma era da informação, da BigData. Quem tem conhecimento e informação hoje tem tudo, consegue tudo. Eu não me considero melhor que nenhuma pessoa, mas ao longo da minha carreira profissional, eu tive a oportunidade de desenvolver algumas habilidades que valem muito hoje.

Eu acredito que posso colaborar com a sua ideia de negócio, com a sua Startup de várias formas.

A decisão de mudar a sua realidade não é minha, é sua. Portanto, eu convido você a conhecer como podemos trabalhar juntos, mesmo que geograficamente distantes.

Meu convite



No vídeo abaixo, eu conto e convido você para conhecer como podemos fechar uma parceria para juntos unirmos nossos conhecimentos, nossas habilidades e competências para tornar ideias em projetos reais, lucrativos e transformadores.

Assista o vídeo e se você ficar interessado entre em contato comigo para expor sua ideia a buscarmos um modelo de parceria que seja ótima para todos.






Meus contatos



Além de poder deixar uma mensagem neste poste, você pode entrar em contato comigo por e-mail, skype, twitter ou whats app.


























sábado, 16 de maio de 2015

Curso de Programação Orientada a Objetos em Java - Métodos static



Introdução

Quando estamos estudando programação orientada a objetos é fundamental conhecer e entender conceitos importantes da Orientação a Objetos, tais como o que são Classes e Objetos. Como os objetos interagem em si, como eles trocam informações, etc.

Nesta aula iremos avançar com nosso curso estudando o que são métodos static e a sua importância para a programação OO.

Objetivo


O objetivo desta aula é fundamentar o conceito de métodos estáticos na programação OO em Java. Ao final desta aula você será capaz de criar métodos estáticos e utilizar métodos estáticos existentes na classe Math da API Java.

Video desta aula





O que são métodos.


Na orientação a objetos, podemos dizer de forma bem simple que os métodos são as "coisas" que uma classe sabe fazer. De uma forma mais técnica, métodos são blocos de código contendo regras de negócios.

Em outras linguagens de computação, as funções, os procedimentos podem ser comparados com os métodos em Java.

Por exemplo para o Objeto Faturamento, um método calcularValorTotal(), pode conter toda a regra de negócio para efetuar o calculo total de um certo faturamento.

Quando efetuamos uma chamada a um métodos, estamos trocando mensagens entre os objetos.

Os métodos possuem tipos de retorno, que podem ser qualquer tipo primitivo Java ou não retornar valor algum. Neste caso o retorno seria void.

Regrar para nomear métodos

Todo método representa uma ação que será executada pelo objeto, logo devem ser nomeados como verbos de ação.

Quando o nome do método for composto, a regra CamelCase case deve ser seguida, para os métodos de nomes compostos siga estes exemplos:


  • calcularJuros()
  • processarFaturamento
  • imprimir()
  • imprimirCodigoDeBarras()
  • redimencionarImagem()
  • efetuarBackup()
  • gravar()
  • alterar()
  • listar()

Note que para a segunda palavra do nome composto para todos os métodos do exemplo acima as letras são todas caixa aula.

Métodos Static

Métodos Static ou estáricos são métodos que não dependem de uma instância de um Objeto, eles podem ser chamados diretamente.


Tomando como exemplo a Classe Pessoa criada nas aulas anteriores do curso, vamos criar um método para mostrar os dados do objeto após serem populados.

Na Classe CursoJavaAula03.java foi finalizada na aula passada e está apresentada na figura abaixo:





Vamos criar um método chamado mostrarInformacoes(Pessoa obj) contendo o código das linhas 16 e 18, que irá mostrar as informações do objeto.




Nome que estamos chamando o método mostrarInformacoes(Pessoa obj) na linha 16, e passando como parêmetro o objeto com todos os seus dados.

Ao executar este programa, o resultado será este:




Note que o método mostrarInformacoes(Pessoa obj) é do tipo static dispensando assim a necessidade de criar uma instância da classe para poder ser utilizado.

Outro exemplo  de método estático é a método PI da classe Math.

Ele tem a seguintes estrutura public static final double PI. Este método devolve o valor do número PI.

O cóidgo Java abaixo, demonstra uma chamada ao método PI da classe Math.


  • Double valorPI = Math.PI;
Novamente, pelo fato deste método ser estático, basta chamar o método para obter o valor do PI.

A Classe Math contém vários outros métodos estáticos, muito uteis para cálculos matemáticos.


Métodos estáticos da classe Math.


Vantagens do uso de métodos


O uso de métodos deixa o código mais limpo e oferece a capacidade de reutilização de código. No nosso exemplo da aula 03, ao criar mais de um objeto teríamos que repetir as linhas para apresentar os dados para cada um dos objetos criados.

Mas agora com o método mostrarInformacoes(Pessoa obj) criado nesta aula, podemos criar vários objetos Pessoa, e apresentar as informações facilmente, sem comprometer a organização do código fonte e nem ter código repetido no projeto o que elevaria o grau de dificuldade para dar manutenção em sistemas grandes.


Na próxima aula iremos estudar os a sobrecarga de métodos.






terça-feira, 12 de maio de 2015

Curso de Programação Orientada a Objetos em Java - Métodos Getts e Setts


Introdução


Na aula anterior, aprendemos como criar uma classe e como exemplo criamos uma classe chamada Pessoa contendo alguns atributos comuns às pessoas do mundo real, tais como cor dos olhos, data de nascimento, nome, etc.

Também criamos um programa em Java para criar objetos da Classe Pessoa, e atribuir valores para os atributos definidos para a classe.

Nesta aula iremos conhecer os métodos de acesso getts e setts e qual a vantagem de implementar classes contendo estes métodos.

Veremos também nesta aula o conceito de Classe Pojo ou Plain Old Java Object.

Objetivo

Ao final desta aula você será capaz de criar classes em Java contendo qualquer tipo de atributo e os métodos de acesso get's e set's. Você também irá aprender como usar os métodos de acesso para popular com dados os atributos e como recuperar os dados de um objeto da Classe.

Video desta aula

No video desta aula, demonstro como criar os getts e setts utilizado o Netbeans de forma automática e também faço vários comentários importantes com dicas para você ganhar produtividade quando estiver desenvolvendo programas em Java.




O que é Pojo?

Podemos traduzir Plain Old Java Object como sendo Os Singelos Clássicos Objetos Java. Estes objetos possuem uma estrutura simplificada se comparados com os Objetos EJB (Enterprise Java Beans).

A idéia para uso de Objetos Pojo em projetos Java vem da máxima que diz, quanto mais simples melhor.

Estrutura de uma Pojo.

Tomando como base a Classe pessoa criada na aula anterior, podemos facilmente transforma-la em uma classe que gera objetos Pojo.

A imagem abaixo apresenta o resultado final da Classe Pessoa criada na aula anterior, mas agora transformada em Pojo e contendo os getts e setts, observe e acompanha os comentários a seguir.



Exemplo de uma Classe Pojo em Java


Note que agora, a Classe Pessoa contém apenas os seus atributos e os métodos getts e setts que foram adicionados. Todos os demais métodos, comer(), dormir(), etc., criados na aula anterior foram todos removidos.

Note também que os atributos que eram públicos, agora são todos privados. Isso altera a forma de acessar os dados gravados para cada atributos.

Para acessar os dados, ou alterar os mesmo, a partir de agora isso só é possível via métodos modificadores getts e setts. Em Java é comum dizer que os métodos de acesso getts e setts são responsáveis pela mudança do estado dos atributos dos objetos.


Métodos getts e setts.

Estes métodos são uma forma padronizada para setar ou buscar dados dos atributos.

Método de acesso set.

O método de acesso set permite "setar" dados para os atributos de um objeto estânciados. Este método espera que o valor que estamos atribuindo seja obrigatóriamente do mesmo tipo do atributo em questão.

Método de acesso get.

O método de acesso get permite "pegar"os dados que foram atribuidos previamente a um objeto pelo método set ou valores atribuídos  por default na definição da Classe. O método get sempre irá retornar um valor do mesmo tipo do atributo em questão.


Exemplos dos métodos getts e setts para o atributo Nome da classe Pessoa.java.




Como podemos observar, o método getNome() é do tipo String e não contém parâmetros em sua assinatura. Quando utilizado, devolver o nome setado previamente para o objeto.

O método setNome(String nome), recebe por parâmetro o valor que será atribuído ao objeto. A palavra reservada this está informando que estamos trabalhando com o atributo Nome da estância atual do objeto.

Usando os getts e setts na prática.


O programa Java abaixo, demonstra como utilizar esses métodos para setar e buscar valores de um objeto Pessoa.





Neste exemplo estamos criando um objeto pessoa chamado maddo e atribuindo valores para nome, cidade natal e nacionalidade utilizando o método set. Em seguida, recuperamos estes dados para apresentar no console e para isso usamos o método get.

Conclusão


Nesta aula entendemos o conceito utilizado em Java para os getts e setts e aprendemos criar uma Classe padronizada Pojo. Também aprendemos como atribuir e recuperar valores dos atributos de forma padronizada via getts e setts.

Colabore com o sucesso deste curso

Você chegou ao fim desta aula e espero que tenha gostado e que o conteúdo tenha somado ao seu aprendizado. Ao compartilhar nas suas redes sociais esta aula, você estará colaborando com o sucesso do curso e claro, motivando o professor a continuar postando videos e aulas sempre com conteúdo de qualidade.

Dê um Like, compartilhe no Twitter e no Google Plus!

Obrigado.

domingo, 19 de abril de 2015

Curso de Programação Orientada a Objetos em Java - Como criar Classes

Introdução.

Nesta segunda aula, você terá o seu primeiro contato neste curso com o conceito de Classes na Programação Orientada à Objetos na linguagem java. Caso este seja o seu primeiro acesso ao Blog, assista as duas aulas anteriores do curso para poder acompanhar esta aula e ter um ótimo aproveitamento.

Aulas anteriores do Curso

Aula 00 - Curso de Programação Orientada à Objetos em Java
Aula 01 - Estrutura de um Projeto Java 

Objetivo desta aula.

O objetivo desta aula é conceituar Classes e demonstrar um exemplo real, criando uma aplicação Java que fará uso de uma Classe. A classe exemplo desta aula, tem uma finalidade didática, sendo o início dos estudos relacionados com Classes. No decorrer do curso, iremos aprofundar este tema.

Ao final desta aula, você será capaz de criar uma Classe, definir propriedades e métodos básicos para a classe, bem como fazer uso de suas propriedades e métodos, inclusive executar um cálculo simples de soma através de um método específico para somar valores fornecidos.

Lembrando que neste curso estamos utilizando a IDE Netbeans, por ser uma das melhores IDE para iniciantes.

O que é um Classe na Programação Orientada à Objetos?

Quando falamos de Programação Orientada à Objetos, devemos obrigatóriamente pensar em um conjuntos de Objetos. São estes objetos que constroem os programas orientados à objetos. Uma Classe é um modelo para a criação destes objetos. As classes definem quais os valores que os objetos podem assumir, quais os métodos ou ações que o mesmo pode executar.

Em java, uma classe após ser compilada fica armazenada no sistema de arquivos com o nome da classe e a extensão class. Por exemplo uma classe chamada Pessoa.java, após compilada pode ser localizada no sistema de arquivos pelo nome Pessoa.class.

Estrutura de uma Classe

Qualquer classe tem a seguintes composição, não limitando-se apenas a estes:

  • propriedades — Propriedades são variáveis que armazenam dados específicos para cada objeto. Por exemplo, uma Pessoa pode ter um númedo de identificação. Cada objeto de uma classe recebe um endereço único de memória.
  • métodos — Os métodos executam operações pelos objetos. Por exemplo, uma Pessoa pode ter um método capaz de fazê-la andar ou acessar seus dados pessoais.
  • propriedades estáticas — As propriedades estáticas, são declaradas pela palavra reservada Static. Estas propriedades são comuns entre todos os objetos de uma mesma classe. Uma classe População, pode contem uma propriedade estática contendo um contador que armazena a populaç!ao de pessoas em todo o planeta. Por definição uma propriedade estática é única em uma classe.
  • método estático — Métodos estáticos são aqueles que não são alterados pelos objetos.
  • Construtores — Este é um método especial que gera novos objetos.

Criação do projeto exemplo desta aula.

No Netbeans, crie um projeto chamado CursoJavaOOAula02, do tipo aplicação java, que será menu Arquivo -> Novo Projeto -> Java -> Aplicação Java -> Proximo.

Eu sugiro que você crie 

Como criar uma classe no Netbeans?

Vamos criar uma classe chamada Pessoa para exemplificar todo o processo de criação de classes utilizando o Netbeans.

No Netbeans, a criação de novas classes é bem simples. Estando com o projeto criado, selecionar o menu Arquivo -> Novo Arquivo -> Java -> Classe Java -> Proximo.


Após selecionar o tipo de arquivo que será criado e clicar no botão próximo, informe o nome da classe e o nome do pacote desejado. No exemplo abaixo, estamos criando uma classe chamada Pessoa.


Definindo o modelo dos Objetos da Classe Pessoa.


Vamos considerar como exemplo uma classe capaz de criar objetos Pessoa. Pensando no mundo real, toda pessoa tem suas propriedades, tais como altura, data de nascimento, cor dos olhos, peso, cor dos cabelos, nome, nacionalidade, naturalidade, cidade natal, etc., e sabemos também que as pessoas são capazes de fazer várias coisas, ou tarefas tais como correr, dormir, comer, estudar, falar, escrever, resolver um cálculo de adição, etc.

Com bases nestas informações, podemos criar um modelo capaz de especificar uma classe criar objetos do tipo pessoa com as características definidas por esta classe.

Logo teremos por definição uma classe com o modelo abaixo:

Propriedades
  • altura
  • data de nascimento
  • cor dos olhos
  • peso
  • cor dos cabelos
  • nome
  • nacionalidade
  • cidade natal


Métodos
  • correr
  • dormir
  • comer
  • estudar
  • falar
  • escrever
  • resolver um cálculo de adição
A implementação em java desta classe está representada na tela abaixo:


É importante observar que os nomes da propriedades sempre são escritos em baixa baixa, ou letras minúsculas e quando é necessário mais de uma palavra para a sua representação, a primeira palavra é sempre em baixa baixa e para cada palavra adicionar, a primeira letra é escrita em caixa aula. Esta regra também é válida para os nomes dos métodos. Todo método representa uma ação, e devemos utilizar verbos para escrever os nomes dos métodos, tais como correr, dormir, comer utilizados na classe Pessoa.

Criando objetos da Classe Pessoa.

Para criar objetos da do tipo Pessoa, utilizamos a palavra reservada new. Veja abaixo um código exemplificando esta ação.


Note que neste exemplo, a criação do objeto foi realizada dentro do método main(). No exemplo acima, temos um objeto chamado joao criado. Evite utilizar acentos para nomear objetos, e todo objeto deve criar nomeado utilizando caixa baixa.

Atribuindo valores para as propriedades de um objeto.

Nós já temos um objeto criado, agora podemos atribuir valores para as propriedades definidas. Vamos definir a altura e o nome do objeto joao.


Executando os métodos de um objeto.

Para executar os métodos definidos para o objeto, basta chamar o método. Veja o exemplo abaixo:


Mostrando os valores dos atributos de um objeto.

Na aula passada, nós aprendemos como apresentar mensagens no console da IDE Netbeans como o método System.out.println(). Podemos utilizar este mesmo método para visualizar os valores atribuídos para a classe joao.



Resultado no console

Ao executar este programa, o resultado será semelhantes ao demonstrado abaixo:


Video da aula

Está disponível no canal YouTube do curso, a vídeo aula desta aula. Lá eu explico em detalhes todos os passos para criar do zero um projeto java no Netbeans e criar a classe exemplo desta aula.



Conclusão

Conforme foi demonstrado nesta aula, a criação de classe é um procedimento simples quando estamos usamos a IDE Netbeans. A classe criada como exemplo é uma classe simples, mas iremos nos aprofundar no assunto nas próximas aulas.


Colabore com o curso

Espero que esta aula tenha colaborado com o seu aprendizado. Você pode colaborar de forma simples com este curso. Basta compartilhar com seus amigos pelas redes sociais. Um simples Like, um compartilhamento no Twitter ou Google+ vai ajudar muito divulgar o curso.

Conto com seu apoio, compartilhe este curso agora mesmo utilizando os icones abaixo e desde já muito obrigado.



    segunda-feira, 23 de fevereiro de 2015

    Curso de Programação Orientada a Objetos em Java - Estrutura de um projeto Java

    Introdução.

    Nesta primeira aula, você vai aprender a reconhecer a estrutura básica de um projeto Java criado no Netbeans. Não iremos nos aprofundar neste momento, mas manter o foco no que interessa. Nas próximas aulas, outros importantes conceitos serão detalhados.


    Objetivo desta aula.

    O objetivo desta aula é entregar ao aluno um primeiro contato com o processo de criação de uma aplicação Java utilizando o Netbeans. 

    Ao final desta aula, você será capaz de criar utilizando o Netbeans uma aplicação Java e criar um programa para mostrar algumas mensagens no console da IDE do Netbeans.

    Será capaz também de reconhecer a estrutura de um programa fonte Java criado pelo Netbeans, além de reconhecer o significado dos códigos Java existentes no projeto.

    Você também visualizará como é criado do zero um aplicação Java no Netbeans e versionar esta aplicação. Neste caso iremos submeter o projeto para o controle de versão utilizando o subversion, armazenando os códigos fontes do projeto no repositório do curso.

    Vamos entender melhor como usar em Java:

    1. package
    2. main()
    3. System
    4. System.out
    5. System.out.println





    • package é uma palavra reservada do Java. É utilizada para definir um nome para um pacote que conterá e manterá organizado um conjunto de Classes em Java.
    • Método main() é o método responsável em informar para a aplicação Java, qual será o ponto de partida da aplicação, ou seja, de uma forma bem simples, você pode entender que é por onde seu programa irá iniciar a execução.
    • System.out.println é  composto por uma Classe chamada System, e os métodos out e println, onde System é uma classe do pacote java.util que contem uma série de métodos relacionados com recursos do sistema, no nosso caso, estamos utilizando o recurso que irá nos permitir imprimir algo na saída padrão. out é um método que faz a abstração de todo o processo doloroso de enviar dados para algum saída padrão e o println, é finalmente o método que vai receber a mensagem que desejamos mostrar no console. Por curiosidade o ln significa Line New, ou nova linha. Isso faz com que após imprimir a mensagem, um salto de linha é enviado para o console.

    Para saber mais sobre a Classe System, acesse a documentação do pacote java.lang.

    Assista esta aula no YouTube.







    Este projeto está disponível no repositório do curso, faça o checkout seguindo as instruções neste link: Passo a passo para acesse o repositorio do curso.


    Exercício - Imprimindo o valor do PI.



    Vamos tomar como exemplo uma situação em que será necessário imprimir na saída padrão o valor do número PI. 

    O Java disponibiliza alguns métodos para trabalhar com matemática, e entre eles, um que nos devolve o valor do PI, e é monstrado abaixo:

    Math.PI - Método para devolver o valor do número PI.

    Adicione ao projeto exemplo desta aula a linha abaixo e veja o resultado.


    System.out.println(Math.PI);


    O resultado deverá ser o valor do número PI: 3.141592653589793.



    Links para aprofundar seus conhecimentos:





    Você pode ajudar a manter este curso ativo e sempre atualizado, faça uma doação de qualquer valor.

    Obrigado por participar e até a próxima aula.













    domingo, 22 de fevereiro de 2015

    Curso de Programação Orientada a Objetos em Java



    Introdução.



    Sejam todos bem vindos ao Curso de Programação Orientada a Objetos em Java, neste curso iremos estudar como aplicar os conceitos da Orientação a Objetos na linguagem Java.



    Público Alvo.


    Qualquer pessoa que tenha interesse em aprender Java pode participar do curso, independente do nível de conhecimento anterior em programação. Mesmo que o aluno já tenha conhecimento de alguma outra linguagem, pode participar do curso e somar mais um conhecimento no seu currículo. Do iniciante ao mais avançado usuário, todos são bem vindos.

    Pré-requisitos de softwares.


    Será necessário que você tenha acesso a internet, um computador ou notebook, configurados para a programação Java. Verifique se você possui as ferramentas abaixo instaladas em seu computador antes de iniciar o curso.


    1. Sistema Operacional Mac OS, Linux ou Windows;
    2. Java JDK versão 6 ou superior;
    3. NetBeans versão 8 ou superior;
    4. Um editor de textos tipo Notepad++, pico, vim, nano, etc. e
    5. Cliente subversion (Já disponível no Netbeans) - Opcional.

    Objetivos do Curso.


    O objetivo principal deste curso é ensinar programação orientada a objetos em Java com foco no JavaSE (Standart Edition). Além disso também será demonstrado como trabalhar com controle de versão, uso de boas práticas de programação, uso de teste unitário, refatoração de códigos, criação de documentação dos projetos com JavaDoc e muito mais.

    Como solicitar suporte?


    No repositório da curso, existe um projeto netbeans chamado CursoJavaAula00, que está localizado na pasta /branch/cursojavaaula00, contendo e e-mail que você pode usar para entrar em contato com o professor por e-mail. Para saber o e-mail você deve sincronizar o projeto conforme explicado no vídeo abaixo.

    Também é possível solicitar a sua participação no Fórum do curso. O link é este:


    Frequência de publicação de aulas.


    Pelo menos uma aula por semana será disponibilizada no curso. Isso depende da disponibilidade de tempo para preparar as aulas e gravar os vídeos.

    Vídeo tutorial ensinando como sincronizar o repositório Subversion do curso?










    terça-feira, 27 de janeiro de 2015

    Curso Android Aula 05 Enviar SMS

    Introdução

    Olá para todos participantes do curso, hoje iremos aprender como criar um aplicativo Android capaz de enviar mensagens via SMS. O programação será bem simples, com foco no resultado em si, que é tratar todos os pré-requisitos para criar, configurar, e enviar SMS a partir do seu celular.

    Você poderá aplicar o que vai aprender nesta aula em seus projetos. Todo celular já tem esta funcionalidade disponível, mas é comum hoje em dia encontrar nos aplicativos o recurso de envio de SMS. Isso é uma facilidade que o aplicativo oferece para tornar a usabilidade e a experiência do usuário mais interessante.

    Código Fonte

    Os códigos fontes deste aplicativo você poderá efetuar o download acessando a página de download. 
    Se você perdeu as aulas anteriores, acesse a relação de todos as aulas e visite o canal no YouTube com a PlayList das Vídeo Aulas.

    Pré-Requisitos para esta aula

    Você deve ter os conhecimentos prévios listados abaixo para criar um aplicativo para envio de SMS utilizando os orientações desta aula.

    1. Capacidade de Criar um projeto no Android Studio;
    2. Capacidade de trabalhar com Intent;
    3. Capacidade de alterar o arquivo AndroidManifest.xml;
    4. Capacidade de criar um layout de formulário simples contendo os componentes de layout TextView, EditText e Button;
    5. Capacidade de implementar uma ação para o botão do formulário;
    6. Capacidade de executar o projeto em um dispositivo real ou virtual e
    7. Um nível básico de conhecimentos da linguagem Java.


    Como fazer?

    Existem duas formas de enviar SMS programaticamente na plataforma Android, a primeira delas é utilizas a API SmsManager e a segunda é utilizar o aplicativo nativo que pode estar pré-instalado no dispositivo.


    Envio de SMS utilizando a API SmsManager


    Esta API é responsável em gerencias as operações que envolvem SMS, tais como o envio de mensagens de texto, mensagens multimídia e dados.

    O código abaixo demonstrar como é simples a sua utilização:

    SmsManager smsManager = SmsManager.getDefault();
    smsManager.sendTextMessage("numeroDestino", null, "texto do SMS", null, null);

    O método getDefault() cria um objeto estático que nos permitirá acessar o método sendTextMessage() para o envio do SMS.

    Devemos informar o número do telefone do destinatário e a mensagem texto a ser enviada, no caso, representados em vermelho no código acima.

    Esta informações podem vir de um formulário, de uma lista a partir de uma consulta do banco de dados SqlLite ou via uma consulta a um WebService. 


    Compatibilidade da API SmsManager

    Com as constantes atulizações de versões do Android, a preoculpação com segurança é cada vez maior. Está API vem sendo atualizada regularmente, e pode não funcionar em algumas versões do Android. Para saber maiores detalhes sobre compatibilidade acesse a documentação oficial.

    Envio de SMS utilizando um aplicativo nativo.

    A melhor forma de enviar SMS é entregar esta responsabilidade para o aplicativo nativo do dispositivo. A partir da versão 4.4 KitKat do Android ficou mais trabalhoso criar um aplicativo para envio de SMS. Leia este artigo contendo mais informações a respeito. 

    O código abaixo exemplifica o que devemos programar na ação de um botão ENVIAR SMS por exemplo, e invocar o aplicativo nativo utilizando o método ACTION_VIEW.

    Intent enviarSMS = new Intent(Intent.ACTION_VIEW)
    enviarSMS.putExtra("texto da mensagem", "default content");
    enviarSMS.setType("vnd.android-dir/mms-sms");
    startAcvitity(enviarSMS);


    Permissões do Usuário Requeridas

    Este tipo de aplicativo requer a inclusão no arquivo AndroidManifest.xml a inclusão da permissão abaixo.

    <uses-permission android:name="android.permission.SEND_SMS" />

    Desafio aos participantes do curso

    Crie dois aplicativos Android capazes de enviar SMS utilizando as opções apresentadas nesta aula. Comente o seu sucesso ou qualquer dificuldade que você encontrou. Em breve irei disponibilizar as soluções para este desafio.


    Conclusão

    Conforme podemos observar, criar um aplicativo para enviar SMS é uma tarefa relativamente simples, podendo ser feita de duas maneiras. É importante adicionar as permissões necessárias, caso contrário o seu projeto será instalado, porém não enviar o SMS, gerando um erro para o usuário. Vimos também que manter-se atualizado lendo sempre a documentação oficial faz parte do nosso dia-a-dia e é neessário principalmente para garantir compatibilidade do nosso aplicativo com as versões do Android.

    sábado, 4 de janeiro de 2014

    Usando TextView como você nunca "view" no Android

    O tema abordado no post anterior foi a preparação do seu ambiente para iniciar o desenvolvimento de aplicativos com Android. Todos os passos foram detalhados e no final foi feito um teste da instalação para verificar se tudo fico correto, mas, não abordei um exemplo prático de uma aplicação Android e é este o tema do post hoje.

    Considerando que você leu o post anterior e está pronto para codificar sua primeira aplicação Android, vamos lá.

    Contexto da Aplicação Exemplo

    Todos sabem que quando estamos iniciando os estudos de uma linguagem de programação nova, o exemplo clássico é o famoso Hello Word, que nada mais é do que um exemplo para escrever "Hello Word" na saída padrão de vídeo do seu computador.

    A boa notícia é que o Android Developer Tools (ADT) criará para cada novo projeto Android um Hello Word automaticamente para nós.

    Isso tem um lado positivo que é um teste prévio do seu ambiente de desenvolvimento, afinal, quando criamos um projeto novo para Android, já poderemos rodar este projeto no emulador ou em um dispositivo de hardware com o Android instalado (SmartPhones, Tablets, Celulares, etc.).

    Já que nosso esforço para escrever o clássico Hello Word é zero, não iremos falar muito sobre ele, porém, iremos estudar o que foi gerado pelo ADT. Isso vai nos dar uma ótima idéia do ADT e da estrutura dos projetos Android.

    Conhecendo a IDE Eclipse ADT Bundle


    Ao carregar o Eclipse ADT Bundle e informar o nome do seu workspace a tela será semelhante ao mostrado na imagem abaixo. (PS.: É necessário fechar a tela de Boas Vindas ou Welcome).


    Tela Padrão IDE Eclipse ADT Bundle
    Para quem já está familiarizado com a IDE Eclipse, não terá dificuldade na identificação da tela padrão, apenas os números 4, 5 e 6 em destaque merecem um pouco de atenção por serem específicos do plugin ADT.

    1. Nesta região você irá localizar a lista de Projetos Android que foram criados no workspace ativo;
    2. Nesta região iremos codificar em Java os nossos programas;
    3. Nesta região encontramos a ferramenta do Eclipse outline, que é de grande ajuda para localizar métodos, atributos, etc., em um programa ativo na região 2;
    4. Nesta região temos os filtros personalizados do logcat, falarei em detalhes sobre como criar estes filtros em outro momento;
    5. Nesta região poderemos acompanhar o comportamento da nossa aplicação através de registros de logs criados por nós ou gerados de forma autônoma por um dispositivo Android físico ou virtual ativo no projeto e o último e muito importante
    6. Note que na barra de ferramentas temos dois ícones novos, o primeiro deles é utilizado para atualizar o ADT com novas versões do Android ou upgrade de versões instaladas além de ferramentas diversas, já o segundo ícone permite acessar a ferramenta para criação um dispositivo virtual como um tablet ou smartphone para testar o projeto em desenvolvimento.
    Assista o vídeo abaixo com comentários adicionais e dicas sobre a estrutura de pastas de um projeto Android.


    No próximo post irei detalhar como criar um projeto Android, personalizar um layout e alterar propriedade do componente TextView como tamanho de fonte, color, alinhamento, etc.

    Deixem seus comentários que terei o maior prazer em responder.

    Aplicativo Android do Blog

    Instale o aplicativo do Blog e receba os feeds RSS dos posts das aulas.
    Aplicativo do Blog Disponível para Download

    quinta-feira, 2 de janeiro de 2014

    Como iniciar o desenvolvimento com Android?

    O desenvolvimento de sistemas para dispositivos móveis esta crescendo em plano vapor em todos os continentes do planeta. É sem dúvida alguma uma grande oportunidade para os profissionais e entusiastas da área.

    Neste post irei detalhar os passos necessários para quem deseja preparar um ambiente de desenvolvimento para a plataforma Android, utilizando o Android Developer Tools com Eclipse.

    Você pode assistir este processo por completo no meu canal YouTube.



    Você necessitará independente do sistema operacional utilizado dos requisitos mínimos abaixo:
    • Java JDK
    • Android SDK
    Instalação do Java JDK.

    Não irei abordar a instalação do Java por ser um procedimento muito simples, quase que next next finish na maioria dos sistemas operacionais. Todos os detalhes estão disponíveis no site da Oracle.

    Instalação do Android SDK.


    O Android SDK está disponível em uma compilação customizada no formato Bundle, contento tudo o que você necessitará para desenvolver softwares para a plataforma Android, ou seja:

    • Eclipse com o plugin ADT
    • Ferramentas SDK Android (Android SDK Tools)
    • Ferramentas da Plataforma Android (Android Platform-tools)
    • A versão mais recente da plataforma Android
    • A versão mais recente do emulador Android com imagens do sistema Android.
    Alternativamente você tem a opção de instalar em uma versão do Eclipse o ADT Android, porém este procedimento é demorado e requer um pouco mais de familiaridade com a configuração e customização do Eclipse. Maiores detalhes você encontra no site do desenvolvedor Android.

    Primeiro Passo - Instalar o Java JDK

    Instale o Java SDK no seu computador caso não esteja instalado.

    Segundo Passo - Instalar o ADT Bundle 

    Este procedimento é bem simples, basta clicar no link abaixo e iniciar o download. A versão correta para o sistema operacional estiver instalado no seu computador será selecionada automaticamente.

    Link para download do ADT Bunble - http://developer.android.com/sdk/index.html

    No meu caso o arquivo baixado para o Mac com o Instalação do OS X Mavericks foi este:



    adt-bundle-mac-x86_64-20131030.zip

    Terceiro Passo - Descompactar o pacote ADT Bundle

    Descompacte o arquivo em uma pasta de sua preferencia. Este procedimento é basicamente o mesmo quanto instalamos o Eclipse, pois não requer nenhum tipo de configuração, basta descompactar e tudo já estará pronto para uso. Claro que o Java já deve ter previamente instalado, caso contrário, o ADT ou Android Developer Tools não ira rodar.

    Após a descompactação duas sub-pastas serão criadas, uma com o Eclipse e outra com a plataforma Android de desenvolvimento chamada de sdk.


    Na pasta eclipse, conforme foi dito temos a IDE Eclipse já devidamente configurada com o plugin do ADT Android.




    Na pasta sdk, encontraremos toda a plataforma de desenvolvimento Android, com várias ferramentas de apoio, imagens, icones, API android, programas fontes de exemplo, documentação oficial da API, etc. 


    Quarto Passo - Testar a Instalação

    Para saber se tudo esta correto e devidamente instalado, basta acessar a basta do eclipse e executar o mesmo. Você notará que ao ser carregado a tela slash padrão do Eclipse foi alterada por uma personalizada para Android.


    Será necessário definir o nome do workspace de trabalho para os projetos, da mesma forma que você faria se estivesse iniciando um projeto com a IDE Eclipse. Finalmente se tudo estiver correto, a tela principal da IDE Eclipse configurada para o desenvolvimento Android será carregada o iniciada.


    Tela de boas vindas padrão para um workspace novo


    Tela padrão da IDE Eclipse com ADT Android

    No próximo post irei explicar como manter o ambiente de desenvolvimento atualizado com as versões mais recentes do SDK Android além de como usar algumas das ferramentas mais importantes disponíveis na IDE como por exemplo a criação de máquinas virtuais para rodar e testar os sistemas em desenvolvimento.

    Deixem seus comentários sobre este post, e caso você não consiga instalar o ambiente no seu computador, deixe um comentário detalhando a sua dificuldade que farei o possível para lhe orientar.

    Aplicativo Android do Blog

    Instale o aplicativo do Blog e receba os feeds RSS dos posts das aulas.
    Aplicativo do Blog Disponível para Download



      Mostrando postagens com marcador Java. Mostrar todas as postagens
      Mostrando postagens com marcador Java. Mostrar todas as postagens

      quarta-feira, 16 de dezembro de 2020

      Seu APK está GIGANTE? Aprenda como reduzir o tamanho dos seus aplicativo...

      Como reduzir o tamanho do APK e ganhar muita memória RAM e performance?




      Neste tutorial irei ensinar como você pode utilizar o poder do Android Studio para eliminar automaticamente qualquer imagem, layout ou recursos não utilizado ou desnecessário para a versão final do seu APK.

      Isso vai permitir ganhos de memória o que é fundamental atualmente.

      Inscreva-se no curso completo com super desconto.






      Participe do meu grupo VIP de alunos para acompanhar os lançamentos e novidades dos meus cursos.


      Bons estudos,

      Professor Marco Maddo

      domingo, 25 de outubro de 2020

      Canal Os Brasileiros Sabem Programas, conheça e inscreva-se para ter sup...

      O Canal Os Brasileiros Sabem Programar




      Sou o Marco Maddo, professor e profissional da área de tecnologia especializado em desenvolvimento web e mobile.

      Quero convidar você para fazer uma visita ao meu Canal no YouTube onde compartilho conteúdos de interesse dos profissionais de IT, estudantes universitários e pessoas de outras áreas que querem iniciar uma nova carreira.

      Este video é um exemplo dos conteúdos que você vai encontrar no Canal.

      Visite, estou lhe esperando lá no canal.

      Marco Maddo

      domingo, 22 de novembro de 2015

      Acelerador de Statup, convite para uma parceria de sucesso!




      Introdução


      As melhores ideias são as mais simples, são aquelas que fazem a diferença em alguma coisa na vida das pessoas. O Google e o Facebook foram ideias a partir do nada, que hoje estão transformando o estilo de vidas não apenas das pessoas, mas do nosso planeta como um todo.

      Eu entendo que a qualificação pessoal e profissional é o melhor investimento que você possa fazer, mas de que adianta ter qualificação, conhecimentos, habilidades se você não compartilha com outras grupos de pessoas, se você não coloca suas ideias em prática.

      Esta linha de pensamento é o motivo deste poste hoje aqui no Blog, cujo objetivo é buscar pessoas em busca de parcerias para tornar uma ideia em algo valioso em todos os sentidos. Pessoas que possuem uma ideia, mas não possuem o conhecimento técnico para tornar a sua ideia em realidade.


      Quem sou?


      Meu nome é Marco Aurélio Dias de Oliveira, ou Marco Maddo como sou conhecido. Sou professor da área de tecnologia, com foco em Android e Java. Atualmente trabalho em uma Fábrica de Software no SENAC MS. 

      Tenho experiência de longos anos em desenvolvimento de sistemas, pequenos, médios e grandes, bem como de todo o Ciclo de Desenvolvimento de Softwares, da Gestão do Projeto à entrega final do produto.

      Nos último anos no que diz respeito à gestão de projetos, me especializei no desenvolvimento ágil com Scrum, framework do qual sou certificado deste 2008.

      Qual minha proposta para você?


      Eu acredito que o Brasil pode se tornar uma potência mundial em várias áreas, não cabe apenas aos governos tornar isso realidade, cabe também a cada um de nós.

      A minha proposta é ser parceiro de pessoas empreendedoras, que possuem alguma ideia e deseja coloca-la em prática, porém, como é o caso da grande maioria das pessoas em nosso país, não possuem investimento ou a capacidade de tirar a ideia da mente e transforma-la em um projeto.


      Como posso colaborar Acelerando a sua Startup


      Vivemos em uma era da informação, da BigData. Quem tem conhecimento e informação hoje tem tudo, consegue tudo. Eu não me considero melhor que nenhuma pessoa, mas ao longo da minha carreira profissional, eu tive a oportunidade de desenvolver algumas habilidades que valem muito hoje.

      Eu acredito que posso colaborar com a sua ideia de negócio, com a sua Startup de várias formas.

      A decisão de mudar a sua realidade não é minha, é sua. Portanto, eu convido você a conhecer como podemos trabalhar juntos, mesmo que geograficamente distantes.

      Meu convite



      No vídeo abaixo, eu conto e convido você para conhecer como podemos fechar uma parceria para juntos unirmos nossos conhecimentos, nossas habilidades e competências para tornar ideias em projetos reais, lucrativos e transformadores.

      Assista o vídeo e se você ficar interessado entre em contato comigo para expor sua ideia a buscarmos um modelo de parceria que seja ótima para todos.






      Meus contatos



      Além de poder deixar uma mensagem neste poste, você pode entrar em contato comigo por e-mail, skype, twitter ou whats app.


























      sábado, 16 de maio de 2015

      Curso de Programação Orientada a Objetos em Java - Métodos static



      Introdução

      Quando estamos estudando programação orientada a objetos é fundamental conhecer e entender conceitos importantes da Orientação a Objetos, tais como o que são Classes e Objetos. Como os objetos interagem em si, como eles trocam informações, etc.

      Nesta aula iremos avançar com nosso curso estudando o que são métodos static e a sua importância para a programação OO.

      Objetivo


      O objetivo desta aula é fundamentar o conceito de métodos estáticos na programação OO em Java. Ao final desta aula você será capaz de criar métodos estáticos e utilizar métodos estáticos existentes na classe Math da API Java.

      Video desta aula





      O que são métodos.


      Na orientação a objetos, podemos dizer de forma bem simple que os métodos são as "coisas" que uma classe sabe fazer. De uma forma mais técnica, métodos são blocos de código contendo regras de negócios.

      Em outras linguagens de computação, as funções, os procedimentos podem ser comparados com os métodos em Java.

      Por exemplo para o Objeto Faturamento, um método calcularValorTotal(), pode conter toda a regra de negócio para efetuar o calculo total de um certo faturamento.

      Quando efetuamos uma chamada a um métodos, estamos trocando mensagens entre os objetos.

      Os métodos possuem tipos de retorno, que podem ser qualquer tipo primitivo Java ou não retornar valor algum. Neste caso o retorno seria void.

      Regrar para nomear métodos

      Todo método representa uma ação que será executada pelo objeto, logo devem ser nomeados como verbos de ação.

      Quando o nome do método for composto, a regra CamelCase case deve ser seguida, para os métodos de nomes compostos siga estes exemplos:


      • calcularJuros()
      • processarFaturamento
      • imprimir()
      • imprimirCodigoDeBarras()
      • redimencionarImagem()
      • efetuarBackup()
      • gravar()
      • alterar()
      • listar()

      Note que para a segunda palavra do nome composto para todos os métodos do exemplo acima as letras são todas caixa aula.

      Métodos Static

      Métodos Static ou estáricos são métodos que não dependem de uma instância de um Objeto, eles podem ser chamados diretamente.


      Tomando como exemplo a Classe Pessoa criada nas aulas anteriores do curso, vamos criar um método para mostrar os dados do objeto após serem populados.

      Na Classe CursoJavaAula03.java foi finalizada na aula passada e está apresentada na figura abaixo:





      Vamos criar um método chamado mostrarInformacoes(Pessoa obj) contendo o código das linhas 16 e 18, que irá mostrar as informações do objeto.




      Nome que estamos chamando o método mostrarInformacoes(Pessoa obj) na linha 16, e passando como parêmetro o objeto com todos os seus dados.

      Ao executar este programa, o resultado será este:




      Note que o método mostrarInformacoes(Pessoa obj) é do tipo static dispensando assim a necessidade de criar uma instância da classe para poder ser utilizado.

      Outro exemplo  de método estático é a método PI da classe Math.

      Ele tem a seguintes estrutura public static final double PI. Este método devolve o valor do número PI.

      O cóidgo Java abaixo, demonstra uma chamada ao método PI da classe Math.


      • Double valorPI = Math.PI;
      Novamente, pelo fato deste método ser estático, basta chamar o método para obter o valor do PI.

      A Classe Math contém vários outros métodos estáticos, muito uteis para cálculos matemáticos.


      Métodos estáticos da classe Math.


      Vantagens do uso de métodos


      O uso de métodos deixa o código mais limpo e oferece a capacidade de reutilização de código. No nosso exemplo da aula 03, ao criar mais de um objeto teríamos que repetir as linhas para apresentar os dados para cada um dos objetos criados.

      Mas agora com o método mostrarInformacoes(Pessoa obj) criado nesta aula, podemos criar vários objetos Pessoa, e apresentar as informações facilmente, sem comprometer a organização do código fonte e nem ter código repetido no projeto o que elevaria o grau de dificuldade para dar manutenção em sistemas grandes.


      Na próxima aula iremos estudar os a sobrecarga de métodos.






      terça-feira, 12 de maio de 2015

      Curso de Programação Orientada a Objetos em Java - Métodos Getts e Setts


      Introdução


      Na aula anterior, aprendemos como criar uma classe e como exemplo criamos uma classe chamada Pessoa contendo alguns atributos comuns às pessoas do mundo real, tais como cor dos olhos, data de nascimento, nome, etc.

      Também criamos um programa em Java para criar objetos da Classe Pessoa, e atribuir valores para os atributos definidos para a classe.

      Nesta aula iremos conhecer os métodos de acesso getts e setts e qual a vantagem de implementar classes contendo estes métodos.

      Veremos também nesta aula o conceito de Classe Pojo ou Plain Old Java Object.

      Objetivo

      Ao final desta aula você será capaz de criar classes em Java contendo qualquer tipo de atributo e os métodos de acesso get's e set's. Você também irá aprender como usar os métodos de acesso para popular com dados os atributos e como recuperar os dados de um objeto da Classe.

      Video desta aula

      No video desta aula, demonstro como criar os getts e setts utilizado o Netbeans de forma automática e também faço vários comentários importantes com dicas para você ganhar produtividade quando estiver desenvolvendo programas em Java.




      O que é Pojo?

      Podemos traduzir Plain Old Java Object como sendo Os Singelos Clássicos Objetos Java. Estes objetos possuem uma estrutura simplificada se comparados com os Objetos EJB (Enterprise Java Beans).

      A idéia para uso de Objetos Pojo em projetos Java vem da máxima que diz, quanto mais simples melhor.

      Estrutura de uma Pojo.

      Tomando como base a Classe pessoa criada na aula anterior, podemos facilmente transforma-la em uma classe que gera objetos Pojo.

      A imagem abaixo apresenta o resultado final da Classe Pessoa criada na aula anterior, mas agora transformada em Pojo e contendo os getts e setts, observe e acompanha os comentários a seguir.



      Exemplo de uma Classe Pojo em Java


      Note que agora, a Classe Pessoa contém apenas os seus atributos e os métodos getts e setts que foram adicionados. Todos os demais métodos, comer(), dormir(), etc., criados na aula anterior foram todos removidos.

      Note também que os atributos que eram públicos, agora são todos privados. Isso altera a forma de acessar os dados gravados para cada atributos.

      Para acessar os dados, ou alterar os mesmo, a partir de agora isso só é possível via métodos modificadores getts e setts. Em Java é comum dizer que os métodos de acesso getts e setts são responsáveis pela mudança do estado dos atributos dos objetos.


      Métodos getts e setts.

      Estes métodos são uma forma padronizada para setar ou buscar dados dos atributos.

      Método de acesso set.

      O método de acesso set permite "setar" dados para os atributos de um objeto estânciados. Este método espera que o valor que estamos atribuindo seja obrigatóriamente do mesmo tipo do atributo em questão.

      Método de acesso get.

      O método de acesso get permite "pegar"os dados que foram atribuidos previamente a um objeto pelo método set ou valores atribuídos  por default na definição da Classe. O método get sempre irá retornar um valor do mesmo tipo do atributo em questão.


      Exemplos dos métodos getts e setts para o atributo Nome da classe Pessoa.java.




      Como podemos observar, o método getNome() é do tipo String e não contém parâmetros em sua assinatura. Quando utilizado, devolver o nome setado previamente para o objeto.

      O método setNome(String nome), recebe por parâmetro o valor que será atribuído ao objeto. A palavra reservada this está informando que estamos trabalhando com o atributo Nome da estância atual do objeto.

      Usando os getts e setts na prática.


      O programa Java abaixo, demonstra como utilizar esses métodos para setar e buscar valores de um objeto Pessoa.





      Neste exemplo estamos criando um objeto pessoa chamado maddo e atribuindo valores para nome, cidade natal e nacionalidade utilizando o método set. Em seguida, recuperamos estes dados para apresentar no console e para isso usamos o método get.

      Conclusão


      Nesta aula entendemos o conceito utilizado em Java para os getts e setts e aprendemos criar uma Classe padronizada Pojo. Também aprendemos como atribuir e recuperar valores dos atributos de forma padronizada via getts e setts.

      Colabore com o sucesso deste curso

      Você chegou ao fim desta aula e espero que tenha gostado e que o conteúdo tenha somado ao seu aprendizado. Ao compartilhar nas suas redes sociais esta aula, você estará colaborando com o sucesso do curso e claro, motivando o professor a continuar postando videos e aulas sempre com conteúdo de qualidade.

      Dê um Like, compartilhe no Twitter e no Google Plus!

      Obrigado.

      domingo, 19 de abril de 2015

      Curso de Programação Orientada a Objetos em Java - Como criar Classes

      Introdução.

      Nesta segunda aula, você terá o seu primeiro contato neste curso com o conceito de Classes na Programação Orientada à Objetos na linguagem java. Caso este seja o seu primeiro acesso ao Blog, assista as duas aulas anteriores do curso para poder acompanhar esta aula e ter um ótimo aproveitamento.

      Aulas anteriores do Curso

      Aula 00 - Curso de Programação Orientada à Objetos em Java
      Aula 01 - Estrutura de um Projeto Java 

      Objetivo desta aula.

      O objetivo desta aula é conceituar Classes e demonstrar um exemplo real, criando uma aplicação Java que fará uso de uma Classe. A classe exemplo desta aula, tem uma finalidade didática, sendo o início dos estudos relacionados com Classes. No decorrer do curso, iremos aprofundar este tema.

      Ao final desta aula, você será capaz de criar uma Classe, definir propriedades e métodos básicos para a classe, bem como fazer uso de suas propriedades e métodos, inclusive executar um cálculo simples de soma através de um método específico para somar valores fornecidos.

      Lembrando que neste curso estamos utilizando a IDE Netbeans, por ser uma das melhores IDE para iniciantes.

      O que é um Classe na Programação Orientada à Objetos?

      Quando falamos de Programação Orientada à Objetos, devemos obrigatóriamente pensar em um conjuntos de Objetos. São estes objetos que constroem os programas orientados à objetos. Uma Classe é um modelo para a criação destes objetos. As classes definem quais os valores que os objetos podem assumir, quais os métodos ou ações que o mesmo pode executar.

      Em java, uma classe após ser compilada fica armazenada no sistema de arquivos com o nome da classe e a extensão class. Por exemplo uma classe chamada Pessoa.java, após compilada pode ser localizada no sistema de arquivos pelo nome Pessoa.class.

      Estrutura de uma Classe

      Qualquer classe tem a seguintes composição, não limitando-se apenas a estes:

      • propriedades — Propriedades são variáveis que armazenam dados específicos para cada objeto. Por exemplo, uma Pessoa pode ter um númedo de identificação. Cada objeto de uma classe recebe um endereço único de memória.
      • métodos — Os métodos executam operações pelos objetos. Por exemplo, uma Pessoa pode ter um método capaz de fazê-la andar ou acessar seus dados pessoais.
      • propriedades estáticas — As propriedades estáticas, são declaradas pela palavra reservada Static. Estas propriedades são comuns entre todos os objetos de uma mesma classe. Uma classe População, pode contem uma propriedade estática contendo um contador que armazena a populaç!ao de pessoas em todo o planeta. Por definição uma propriedade estática é única em uma classe.
      • método estático — Métodos estáticos são aqueles que não são alterados pelos objetos.
      • Construtores — Este é um método especial que gera novos objetos.

      Criação do projeto exemplo desta aula.

      No Netbeans, crie um projeto chamado CursoJavaOOAula02, do tipo aplicação java, que será menu Arquivo -> Novo Projeto -> Java -> Aplicação Java -> Proximo.

      Eu sugiro que você crie 

      Como criar uma classe no Netbeans?

      Vamos criar uma classe chamada Pessoa para exemplificar todo o processo de criação de classes utilizando o Netbeans.

      No Netbeans, a criação de novas classes é bem simples. Estando com o projeto criado, selecionar o menu Arquivo -> Novo Arquivo -> Java -> Classe Java -> Proximo.


      Após selecionar o tipo de arquivo que será criado e clicar no botão próximo, informe o nome da classe e o nome do pacote desejado. No exemplo abaixo, estamos criando uma classe chamada Pessoa.


      Definindo o modelo dos Objetos da Classe Pessoa.


      Vamos considerar como exemplo uma classe capaz de criar objetos Pessoa. Pensando no mundo real, toda pessoa tem suas propriedades, tais como altura, data de nascimento, cor dos olhos, peso, cor dos cabelos, nome, nacionalidade, naturalidade, cidade natal, etc., e sabemos também que as pessoas são capazes de fazer várias coisas, ou tarefas tais como correr, dormir, comer, estudar, falar, escrever, resolver um cálculo de adição, etc.

      Com bases nestas informações, podemos criar um modelo capaz de especificar uma classe criar objetos do tipo pessoa com as características definidas por esta classe.

      Logo teremos por definição uma classe com o modelo abaixo:

      Propriedades
      • altura
      • data de nascimento
      • cor dos olhos
      • peso
      • cor dos cabelos
      • nome
      • nacionalidade
      • cidade natal


      Métodos
      • correr
      • dormir
      • comer
      • estudar
      • falar
      • escrever
      • resolver um cálculo de adição
      A implementação em java desta classe está representada na tela abaixo:


      É importante observar que os nomes da propriedades sempre são escritos em baixa baixa, ou letras minúsculas e quando é necessário mais de uma palavra para a sua representação, a primeira palavra é sempre em baixa baixa e para cada palavra adicionar, a primeira letra é escrita em caixa aula. Esta regra também é válida para os nomes dos métodos. Todo método representa uma ação, e devemos utilizar verbos para escrever os nomes dos métodos, tais como correr, dormir, comer utilizados na classe Pessoa.

      Criando objetos da Classe Pessoa.

      Para criar objetos da do tipo Pessoa, utilizamos a palavra reservada new. Veja abaixo um código exemplificando esta ação.


      Note que neste exemplo, a criação do objeto foi realizada dentro do método main(). No exemplo acima, temos um objeto chamado joao criado. Evite utilizar acentos para nomear objetos, e todo objeto deve criar nomeado utilizando caixa baixa.

      Atribuindo valores para as propriedades de um objeto.

      Nós já temos um objeto criado, agora podemos atribuir valores para as propriedades definidas. Vamos definir a altura e o nome do objeto joao.


      Executando os métodos de um objeto.

      Para executar os métodos definidos para o objeto, basta chamar o método. Veja o exemplo abaixo:


      Mostrando os valores dos atributos de um objeto.

      Na aula passada, nós aprendemos como apresentar mensagens no console da IDE Netbeans como o método System.out.println(). Podemos utilizar este mesmo método para visualizar os valores atribuídos para a classe joao.



      Resultado no console

      Ao executar este programa, o resultado será semelhantes ao demonstrado abaixo:


      Video da aula

      Está disponível no canal YouTube do curso, a vídeo aula desta aula. Lá eu explico em detalhes todos os passos para criar do zero um projeto java no Netbeans e criar a classe exemplo desta aula.



      Conclusão

      Conforme foi demonstrado nesta aula, a criação de classe é um procedimento simples quando estamos usamos a IDE Netbeans. A classe criada como exemplo é uma classe simples, mas iremos nos aprofundar no assunto nas próximas aulas.


      Colabore com o curso

      Espero que esta aula tenha colaborado com o seu aprendizado. Você pode colaborar de forma simples com este curso. Basta compartilhar com seus amigos pelas redes sociais. Um simples Like, um compartilhamento no Twitter ou Google+ vai ajudar muito divulgar o curso.

      Conto com seu apoio, compartilhe este curso agora mesmo utilizando os icones abaixo e desde já muito obrigado.



        segunda-feira, 23 de fevereiro de 2015

        Curso de Programação Orientada a Objetos em Java - Estrutura de um projeto Java

        Introdução.

        Nesta primeira aula, você vai aprender a reconhecer a estrutura básica de um projeto Java criado no Netbeans. Não iremos nos aprofundar neste momento, mas manter o foco no que interessa. Nas próximas aulas, outros importantes conceitos serão detalhados.


        Objetivo desta aula.

        O objetivo desta aula é entregar ao aluno um primeiro contato com o processo de criação de uma aplicação Java utilizando o Netbeans. 

        Ao final desta aula, você será capaz de criar utilizando o Netbeans uma aplicação Java e criar um programa para mostrar algumas mensagens no console da IDE do Netbeans.

        Será capaz também de reconhecer a estrutura de um programa fonte Java criado pelo Netbeans, além de reconhecer o significado dos códigos Java existentes no projeto.

        Você também visualizará como é criado do zero um aplicação Java no Netbeans e versionar esta aplicação. Neste caso iremos submeter o projeto para o controle de versão utilizando o subversion, armazenando os códigos fontes do projeto no repositório do curso.

        Vamos entender melhor como usar em Java:

        1. package
        2. main()
        3. System
        4. System.out
        5. System.out.println





        • package é uma palavra reservada do Java. É utilizada para definir um nome para um pacote que conterá e manterá organizado um conjunto de Classes em Java.
        • Método main() é o método responsável em informar para a aplicação Java, qual será o ponto de partida da aplicação, ou seja, de uma forma bem simples, você pode entender que é por onde seu programa irá iniciar a execução.
        • System.out.println é  composto por uma Classe chamada System, e os métodos out e println, onde System é uma classe do pacote java.util que contem uma série de métodos relacionados com recursos do sistema, no nosso caso, estamos utilizando o recurso que irá nos permitir imprimir algo na saída padrão. out é um método que faz a abstração de todo o processo doloroso de enviar dados para algum saída padrão e o println, é finalmente o método que vai receber a mensagem que desejamos mostrar no console. Por curiosidade o ln significa Line New, ou nova linha. Isso faz com que após imprimir a mensagem, um salto de linha é enviado para o console.

        Para saber mais sobre a Classe System, acesse a documentação do pacote java.lang.

        Assista esta aula no YouTube.







        Este projeto está disponível no repositório do curso, faça o checkout seguindo as instruções neste link: Passo a passo para acesse o repositorio do curso.


        Exercício - Imprimindo o valor do PI.



        Vamos tomar como exemplo uma situação em que será necessário imprimir na saída padrão o valor do número PI. 

        O Java disponibiliza alguns métodos para trabalhar com matemática, e entre eles, um que nos devolve o valor do PI, e é monstrado abaixo:

        Math.PI - Método para devolver o valor do número PI.

        Adicione ao projeto exemplo desta aula a linha abaixo e veja o resultado.


        System.out.println(Math.PI);


        O resultado deverá ser o valor do número PI: 3.141592653589793.



        Links para aprofundar seus conhecimentos:





        Você pode ajudar a manter este curso ativo e sempre atualizado, faça uma doação de qualquer valor.

        Obrigado por participar e até a próxima aula.













        domingo, 22 de fevereiro de 2015

        Curso de Programação Orientada a Objetos em Java



        Introdução.



        Sejam todos bem vindos ao Curso de Programação Orientada a Objetos em Java, neste curso iremos estudar como aplicar os conceitos da Orientação a Objetos na linguagem Java.



        Público Alvo.


        Qualquer pessoa que tenha interesse em aprender Java pode participar do curso, independente do nível de conhecimento anterior em programação. Mesmo que o aluno já tenha conhecimento de alguma outra linguagem, pode participar do curso e somar mais um conhecimento no seu currículo. Do iniciante ao mais avançado usuário, todos são bem vindos.

        Pré-requisitos de softwares.


        Será necessário que você tenha acesso a internet, um computador ou notebook, configurados para a programação Java. Verifique se você possui as ferramentas abaixo instaladas em seu computador antes de iniciar o curso.


        1. Sistema Operacional Mac OS, Linux ou Windows;
        2. Java JDK versão 6 ou superior;
        3. NetBeans versão 8 ou superior;
        4. Um editor de textos tipo Notepad++, pico, vim, nano, etc. e
        5. Cliente subversion (Já disponível no Netbeans) - Opcional.

        Objetivos do Curso.


        O objetivo principal deste curso é ensinar programação orientada a objetos em Java com foco no JavaSE (Standart Edition). Além disso também será demonstrado como trabalhar com controle de versão, uso de boas práticas de programação, uso de teste unitário, refatoração de códigos, criação de documentação dos projetos com JavaDoc e muito mais.

        Como solicitar suporte?


        No repositório da curso, existe um projeto netbeans chamado CursoJavaAula00, que está localizado na pasta /branch/cursojavaaula00, contendo e e-mail que você pode usar para entrar em contato com o professor por e-mail. Para saber o e-mail você deve sincronizar o projeto conforme explicado no vídeo abaixo.

        Também é possível solicitar a sua participação no Fórum do curso. O link é este:


        Frequência de publicação de aulas.


        Pelo menos uma aula por semana será disponibilizada no curso. Isso depende da disponibilidade de tempo para preparar as aulas e gravar os vídeos.

        Vídeo tutorial ensinando como sincronizar o repositório Subversion do curso?










        terça-feira, 27 de janeiro de 2015

        Curso Android Aula 05 Enviar SMS

        Introdução

        Olá para todos participantes do curso, hoje iremos aprender como criar um aplicativo Android capaz de enviar mensagens via SMS. O programação será bem simples, com foco no resultado em si, que é tratar todos os pré-requisitos para criar, configurar, e enviar SMS a partir do seu celular.

        Você poderá aplicar o que vai aprender nesta aula em seus projetos. Todo celular já tem esta funcionalidade disponível, mas é comum hoje em dia encontrar nos aplicativos o recurso de envio de SMS. Isso é uma facilidade que o aplicativo oferece para tornar a usabilidade e a experiência do usuário mais interessante.

        Código Fonte

        Os códigos fontes deste aplicativo você poderá efetuar o download acessando a página de download. 
        Se você perdeu as aulas anteriores, acesse a relação de todos as aulas e visite o canal no YouTube com a PlayList das Vídeo Aulas.

        Pré-Requisitos para esta aula

        Você deve ter os conhecimentos prévios listados abaixo para criar um aplicativo para envio de SMS utilizando os orientações desta aula.

        1. Capacidade de Criar um projeto no Android Studio;
        2. Capacidade de trabalhar com Intent;
        3. Capacidade de alterar o arquivo AndroidManifest.xml;
        4. Capacidade de criar um layout de formulário simples contendo os componentes de layout TextView, EditText e Button;
        5. Capacidade de implementar uma ação para o botão do formulário;
        6. Capacidade de executar o projeto em um dispositivo real ou virtual e
        7. Um nível básico de conhecimentos da linguagem Java.


        Como fazer?

        Existem duas formas de enviar SMS programaticamente na plataforma Android, a primeira delas é utilizas a API SmsManager e a segunda é utilizar o aplicativo nativo que pode estar pré-instalado no dispositivo.


        Envio de SMS utilizando a API SmsManager


        Esta API é responsável em gerencias as operações que envolvem SMS, tais como o envio de mensagens de texto, mensagens multimídia e dados.

        O código abaixo demonstrar como é simples a sua utilização:

        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage("numeroDestino", null, "texto do SMS", null, null);

        O método getDefault() cria um objeto estático que nos permitirá acessar o método sendTextMessage() para o envio do SMS.

        Devemos informar o número do telefone do destinatário e a mensagem texto a ser enviada, no caso, representados em vermelho no código acima.

        Esta informações podem vir de um formulário, de uma lista a partir de uma consulta do banco de dados SqlLite ou via uma consulta a um WebService. 


        Compatibilidade da API SmsManager

        Com as constantes atulizações de versões do Android, a preoculpação com segurança é cada vez maior. Está API vem sendo atualizada regularmente, e pode não funcionar em algumas versões do Android. Para saber maiores detalhes sobre compatibilidade acesse a documentação oficial.

        Envio de SMS utilizando um aplicativo nativo.

        A melhor forma de enviar SMS é entregar esta responsabilidade para o aplicativo nativo do dispositivo. A partir da versão 4.4 KitKat do Android ficou mais trabalhoso criar um aplicativo para envio de SMS. Leia este artigo contendo mais informações a respeito. 

        O código abaixo exemplifica o que devemos programar na ação de um botão ENVIAR SMS por exemplo, e invocar o aplicativo nativo utilizando o método ACTION_VIEW.

        Intent enviarSMS = new Intent(Intent.ACTION_VIEW)
        enviarSMS.putExtra("texto da mensagem", "default content");
        enviarSMS.setType("vnd.android-dir/mms-sms");
        startAcvitity(enviarSMS);


        Permissões do Usuário Requeridas

        Este tipo de aplicativo requer a inclusão no arquivo AndroidManifest.xml a inclusão da permissão abaixo.

        <uses-permission android:name="android.permission.SEND_SMS" />

        Desafio aos participantes do curso

        Crie dois aplicativos Android capazes de enviar SMS utilizando as opções apresentadas nesta aula. Comente o seu sucesso ou qualquer dificuldade que você encontrou. Em breve irei disponibilizar as soluções para este desafio.


        Conclusão

        Conforme podemos observar, criar um aplicativo para enviar SMS é uma tarefa relativamente simples, podendo ser feita de duas maneiras. É importante adicionar as permissões necessárias, caso contrário o seu projeto será instalado, porém não enviar o SMS, gerando um erro para o usuário. Vimos também que manter-se atualizado lendo sempre a documentação oficial faz parte do nosso dia-a-dia e é neessário principalmente para garantir compatibilidade do nosso aplicativo com as versões do Android.

        sábado, 4 de janeiro de 2014

        Usando TextView como você nunca "view" no Android

        O tema abordado no post anterior foi a preparação do seu ambiente para iniciar o desenvolvimento de aplicativos com Android. Todos os passos foram detalhados e no final foi feito um teste da instalação para verificar se tudo fico correto, mas, não abordei um exemplo prático de uma aplicação Android e é este o tema do post hoje.

        Considerando que você leu o post anterior e está pronto para codificar sua primeira aplicação Android, vamos lá.

        Contexto da Aplicação Exemplo

        Todos sabem que quando estamos iniciando os estudos de uma linguagem de programação nova, o exemplo clássico é o famoso Hello Word, que nada mais é do que um exemplo para escrever "Hello Word" na saída padrão de vídeo do seu computador.

        A boa notícia é que o Android Developer Tools (ADT) criará para cada novo projeto Android um Hello Word automaticamente para nós.

        Isso tem um lado positivo que é um teste prévio do seu ambiente de desenvolvimento, afinal, quando criamos um projeto novo para Android, já poderemos rodar este projeto no emulador ou em um dispositivo de hardware com o Android instalado (SmartPhones, Tablets, Celulares, etc.).

        Já que nosso esforço para escrever o clássico Hello Word é zero, não iremos falar muito sobre ele, porém, iremos estudar o que foi gerado pelo ADT. Isso vai nos dar uma ótima idéia do ADT e da estrutura dos projetos Android.

        Conhecendo a IDE Eclipse ADT Bundle


        Ao carregar o Eclipse ADT Bundle e informar o nome do seu workspace a tela será semelhante ao mostrado na imagem abaixo. (PS.: É necessário fechar a tela de Boas Vindas ou Welcome).


        Tela Padrão IDE Eclipse ADT Bundle
        Para quem já está familiarizado com a IDE Eclipse, não terá dificuldade na identificação da tela padrão, apenas os números 4, 5 e 6 em destaque merecem um pouco de atenção por serem específicos do plugin ADT.

        1. Nesta região você irá localizar a lista de Projetos Android que foram criados no workspace ativo;
        2. Nesta região iremos codificar em Java os nossos programas;
        3. Nesta região encontramos a ferramenta do Eclipse outline, que é de grande ajuda para localizar métodos, atributos, etc., em um programa ativo na região 2;
        4. Nesta região temos os filtros personalizados do logcat, falarei em detalhes sobre como criar estes filtros em outro momento;
        5. Nesta região poderemos acompanhar o comportamento da nossa aplicação através de registros de logs criados por nós ou gerados de forma autônoma por um dispositivo Android físico ou virtual ativo no projeto e o último e muito importante
        6. Note que na barra de ferramentas temos dois ícones novos, o primeiro deles é utilizado para atualizar o ADT com novas versões do Android ou upgrade de versões instaladas além de ferramentas diversas, já o segundo ícone permite acessar a ferramenta para criação um dispositivo virtual como um tablet ou smartphone para testar o projeto em desenvolvimento.
        Assista o vídeo abaixo com comentários adicionais e dicas sobre a estrutura de pastas de um projeto Android.


        No próximo post irei detalhar como criar um projeto Android, personalizar um layout e alterar propriedade do componente TextView como tamanho de fonte, color, alinhamento, etc.

        Deixem seus comentários que terei o maior prazer em responder.

        Aplicativo Android do Blog

        Instale o aplicativo do Blog e receba os feeds RSS dos posts das aulas.
        Aplicativo do Blog Disponível para Download

        quinta-feira, 2 de janeiro de 2014

        Como iniciar o desenvolvimento com Android?

        O desenvolvimento de sistemas para dispositivos móveis esta crescendo em plano vapor em todos os continentes do planeta. É sem dúvida alguma uma grande oportunidade para os profissionais e entusiastas da área.

        Neste post irei detalhar os passos necessários para quem deseja preparar um ambiente de desenvolvimento para a plataforma Android, utilizando o Android Developer Tools com Eclipse.

        Você pode assistir este processo por completo no meu canal YouTube.



        Você necessitará independente do sistema operacional utilizado dos requisitos mínimos abaixo:
        • Java JDK
        • Android SDK
        Instalação do Java JDK.

        Não irei abordar a instalação do Java por ser um procedimento muito simples, quase que next next finish na maioria dos sistemas operacionais. Todos os detalhes estão disponíveis no site da Oracle.

        Instalação do Android SDK.


        O Android SDK está disponível em uma compilação customizada no formato Bundle, contento tudo o que você necessitará para desenvolver softwares para a plataforma Android, ou seja:

        • Eclipse com o plugin ADT
        • Ferramentas SDK Android (Android SDK Tools)
        • Ferramentas da Plataforma Android (Android Platform-tools)
        • A versão mais recente da plataforma Android
        • A versão mais recente do emulador Android com imagens do sistema Android.
        Alternativamente você tem a opção de instalar em uma versão do Eclipse o ADT Android, porém este procedimento é demorado e requer um pouco mais de familiaridade com a configuração e customização do Eclipse. Maiores detalhes você encontra no site do desenvolvedor Android.

        Primeiro Passo - Instalar o Java JDK

        Instale o Java SDK no seu computador caso não esteja instalado.

        Segundo Passo - Instalar o ADT Bundle 

        Este procedimento é bem simples, basta clicar no link abaixo e iniciar o download. A versão correta para o sistema operacional estiver instalado no seu computador será selecionada automaticamente.

        Link para download do ADT Bunble - http://developer.android.com/sdk/index.html

        No meu caso o arquivo baixado para o Mac com o Instalação do OS X Mavericks foi este:



        adt-bundle-mac-x86_64-20131030.zip

        Terceiro Passo - Descompactar o pacote ADT Bundle

        Descompacte o arquivo em uma pasta de sua preferencia. Este procedimento é basicamente o mesmo quanto instalamos o Eclipse, pois não requer nenhum tipo de configuração, basta descompactar e tudo já estará pronto para uso. Claro que o Java já deve ter previamente instalado, caso contrário, o ADT ou Android Developer Tools não ira rodar.

        Após a descompactação duas sub-pastas serão criadas, uma com o Eclipse e outra com a plataforma Android de desenvolvimento chamada de sdk.


        Na pasta eclipse, conforme foi dito temos a IDE Eclipse já devidamente configurada com o plugin do ADT Android.




        Na pasta sdk, encontraremos toda a plataforma de desenvolvimento Android, com várias ferramentas de apoio, imagens, icones, API android, programas fontes de exemplo, documentação oficial da API, etc. 


        Quarto Passo - Testar a Instalação

        Para saber se tudo esta correto e devidamente instalado, basta acessar a basta do eclipse e executar o mesmo. Você notará que ao ser carregado a tela slash padrão do Eclipse foi alterada por uma personalizada para Android.


        Será necessário definir o nome do workspace de trabalho para os projetos, da mesma forma que você faria se estivesse iniciando um projeto com a IDE Eclipse. Finalmente se tudo estiver correto, a tela principal da IDE Eclipse configurada para o desenvolvimento Android será carregada o iniciada.


        Tela de boas vindas padrão para um workspace novo


        Tela padrão da IDE Eclipse com ADT Android

        No próximo post irei explicar como manter o ambiente de desenvolvimento atualizado com as versões mais recentes do SDK Android além de como usar algumas das ferramentas mais importantes disponíveis na IDE como por exemplo a criação de máquinas virtuais para rodar e testar os sistemas em desenvolvimento.

        Deixem seus comentários sobre este post, e caso você não consiga instalar o ambiente no seu computador, deixe um comentário detalhando a sua dificuldade que farei o possível para lhe orientar.

        Aplicativo Android do Blog

        Instale o aplicativo do Blog e receba os feeds RSS dos posts das aulas.
        Aplicativo do Blog Disponível para Download