Cadastre-se Revistas DevMedia Cursos
 

Space de DevMedia - Equipe de moderacao
Busca Autor


Últimas 20 atualizações de DevMedia - Equipe de moderacao

Artigo - Utilizando GPS em aplicações Java ME - Revista Mobile Magazine 48

[rotulo] Artigo do tipo Tutorial
Recursos especiais neste artigo:
[rotulo-tag]Contém nota Quickupdate[/rotulo-tag].
Autores:Robison Cris Brito e Ricardo Ogliari [/rotulo]

[lead]Utilizando GPS em aplicações Java ME
Aplicações baseadas em localização fazem uso de informações de posicionamento para indicar a localização de um determinado dispositivo e, a partir destas informações, disponibilizar um conjunto de serviços baseados no uso de mapas. Estas aplicações são, sem dúvida, uma das facilidades mais marcantes que utilizamos nos smartphones atuais. Embora a maioria absoluta deles atualmente considerarem como plataforma o Android, iOS ou Windows Phone, pode-se dizer que tudo isso começou com o JavaME.

Neste contexto, este artigo apresenta a utilização da Location API (JSR-179) no desenvolvimento de aplicativos para a plataforma Java ME. A Location API fornece uma interface padrão de alto nível para acesso às informações de posição de um dispositivo móvel utilizando um aplicativo Java ME. Para isso, ela define as classes básicas necessárias para solicitar, recuperar e exibir uma localização geográfica, além de informações sobre a movimentação do dispositivo.

Como estudo de caso, foi optado pelo desenvolvimento de um aplicativo de rastreamento, onde os dados recuperados do GPS são armazenados localmente utilizando recursos do RMS (Record Management System). Recursos adicionais como ocultar a aplicação e o agendamento de tarefas utilizando a classe Timer e TimerTask são apresentados. Ao final do artigo, o leitor está apto a desenvolver um programa de rastreamento utilizando a Location API.

Em que situação o tema é útil
Este artigo é útil para usuários e desenvolvedores que desejam iniciar no desenvolvimento de aplicativos para Java ME que envolve a recuperação de dados do GPS, os chamados geocódigos. Estes aplicativos podem ser desenvolvidos para as mais diversas áreas, como agricultura de precisão, controle de trafego, além dos sistemas de rastreamento.

Se esta facilidade for agregada com recursos como persistência dos dados, utilização de dados multimídia, recursos de rede, entre outros, é possível desenvolver aplicações complexas e muito atrativas para os usuários.[/lead]

GPS (Global Positioning System) foi criado pelos EUA para fins militares. Desde 1960 a Força Aérea e a Marinha americana têm trabalhado no desenvolvimento de um sofisticado sistema de navegação por satélites. A marinha patrocinou dois programas, o Transit e o Timation. Ambos operavam em modo 2D, pois usavam latitude e longitude. No mesmo período a Força Aérea estudou o uso 3D, através da latitude, longitude e altitude, com o programa 612B.

Em 1973 surgiu o programa NAVSTAR GPS, por meio da fusão dos programas Timation e 621B. Em dezembro deste ano foi autorizado o início da primeira fase do programa, que durou até 1979. Foram feitos estudos sobre a performance e real viabilidade do sistema. Em seguida teve início a segunda fase, com desenvolvimento e teste dos equipamentos GPS, que durou até 1985.

Na terceira fase foram produzidos os aparelhos GPS e finalizada a rede de 24 satélites. O sistema passou a proporcionar cobertura completa, conhecida como FOC (Full Operational Capability) graças à operação simultânea dos satélites.

O GPS surgiu com objetivos de guerra e navegação de alta precisão para transporte militar e mísseis. Seu uso foi testado na guerra do Golfo, facilitando a locomoção das tropas no deserto. Os mísseis passaram a atingir seus alvos com erros mínimos.

Em 1980 o então presidente Ronald Reagan autorizou o uso civil do sistema. Na época, o Departamento de Defesa americano implantou um erro artificial no sistema chamado "Disponibilidade Seletiva", para resguardar a segurança interna do país. A Disponibilidade Seletiva foi cancelada por um decreto do Presidente Clinton em maio de 2000, pois o contínuo desenvolvimento tecnológico permitiu ao Departamento de Defesa obstruir a precisão do sistema onde e quando os interesses americanos exigissem. Com o decreto, o erro médio de 100 metros na localização do receptor ficou dez vezes menor.

O NAVSTAR-GPS está baseado no conceito de medida de distâncias entre uma fonte transmissora e uma fonte receptora de rádio-sinais. Três distâncias medidas e o conhecimento da posição abs

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
17/05/2013 00:00:00





What is new - Posts da DevMedia adaptados para dispositivos móveis

A equipe DevMedia atualizou os posts do portal para que sejam melhor visualizados em dispositivos móveis, como tablets e smartphones.

Foram atualizados os artigos free, os artigos das revistas, os índices das revistas, além dos pocket vídeos.

Com essa atualização, você terá uma melhor experiência ao visualizar esses posts em seu tablet ou smartphone, podendo acompanhar o conteúdo do portal de onde estiver, seja em casa, ou até mesmo no trânsito, durante seus trajetos diários.

Esta é mais uma novidade lançada pela Equipe DevMedia para você, que faz deste o maior portal para desenvolvedores de software do Brasil.

-->">
09/05/2013 16:36:00





What is new - Nova página MVP

MVP

A Equipe DevMedia lançou a nova página da assinatura MVP. Lá você encontra tudo que precisa sobre o melhor plano de assinatura do portal DevMedia, que lhe dá acesso a todo conteúdo disponível.

A nova página está com visual renovado, mais atual, fornecendo uma apresentação bastante completa do plano. Lá você encontra números e informações sobre todo conteúdo ao qual terá acesso quando se tornar um assinante MVP.

Se você ainda não é assinante, confira agora a página e não perca mais tempo, assine já: http://www.devmedia.com.br/mvp/.

-->">
02/05/2013 20:06:00





What is new - 8mil likes na Fanpage da DevMedia

8mil likes em nossa Fanpage

É com enorme prazer que a DevMedia atinge a marca de 8000 likes em nossa Fanpage.

A DevMedia Editora gostaria de agradecer a todos os seus usuários por nos ajudar a atingir essa excelente marca.

Se você ainda não curtiu, não deixe de curtir nossa Fanpage e ficar por dentro de todas as novidades que acontecem conosco.

https://www.facebook.com/DevmediaWeb03.-->">
29/04/2013 17:14:00





What is new - Formação .net Developer atualizada

Atualizamos a formação .net Developer, então se você quer aprender a programar em C# ou Visual Basic.net, esta é a sua oportunidade.

Nesta formação você aprenderá desde os conceitos básicos do .net Framework, conhecendo as linguagens C# e Visual Basic.net, até tópicos mais avançados, como o acesso a dados e o desenvolvimento de apliações ASP.net.

Modificações realizadas - remoção dos cursos:

Aprenda a criar um blog com ASP.net

Crie um site de Notícias

ASP.net com C# – Criando um sistema de Briefcase

Crie um fórum de discussão passo a passo

Bons estudos e bons códigos.

-->">
26/04/2013 16:50:00





Artigo - Conhecendo a arquitetura ADO.NET - Revista easy .net Magazine 29

[rotulo] Artigo do tipo Tutorial
Autores: Giuvane Conti e Everton Coimbra de Araújo[/rotulo] [lead]Conhecendo a arquitetura ADO.NET
Toda plataforma de desenvolvimento possui uma API específica para ligar com o acesso a dados, no caso do .NET esta API é o ADO.NET que encapsula todas as classes necessárias para realizarmos a comunicação de nossa aplicação com uma base de dados nos fornecendo mecanismos de conexão com a mesma além da possibilidade de execução de operações como inserção, atualização, deleção e consulta de dados através de instruções SQL.

Este artigo apresenta o conceito, a arquitetura, as principais interfaces e providers da tecnologia ADO.NET, apresentando as principais classes e métodos que podemos utilizar para interagir com bases de dados nos nossos sistemas. Além disso, apresentamos ainda a conexão do ADO.Net com o SQL Server e uma implementação do pattern DAO. Na parte prática teremos a implementado um exemplo simples envolvendo Pedido e Itens de Pedido utilizando um DAO com classes ADO.Net para realizar as operações na base de dados.

Em que situação o tema é útil
O ADO.NET é útil em qualquer sistema que necessite de uma conexão com um banco de dados para manipulação de dados como inserir, editar, deletar e buscar, ou seja, operações CRUD. Além disso, o uso direto das classes do ADO.NET é mais rápido do que o uso de frameworks ORM, fazendo com que em aplicações críticas o mesmo possa se tornar um diferencial para a performance da mesma.[/lead]

ADO.NET é a biblioteca utilizada pela Microsoft para acesso a bases de dados na plataforma .NET, podendo ser utilizado com qualquer linguagem de programação que tenha acesso a esta plataforma.

No pacote de tecnologias do ADO.NET existem classes que auxiliam a aplicação deste em projetos que utilizem a plataforma .NET e dentro deste contexto alguns dos recursos que se destacam são as interfaces disponíveis, suas respectivas implementações concretas e seus providers, que são os provedores específicos para cada fonte de dados que pode ser utilizada, por exemplo, o ADO.NET disponibiliza providers para conexão com SQL Server, MySQL, FireBird, Oracle, Sybase, Access, XML, dentre outros.

Existem algumas bibliotecas e recursos que realizam as operações disponíveis no ADO.NET de forma mais fácil tirando proveito de todo o conteúdo disponível pelo ADO.NET e facilitando a vida do programador aumentando a produtividade, como é o caso da biblioteca Entity Framework, que é parte integrante do pacote ADO.NET e do conjunto de recursos oferecidos pelo LINQ. Além destas tecnologias, ainda é possível implementar um conceito de programação chamado DAO Genérico, baseado nestas tecnologias, onde as operações CRUD (Create, Read, Update e Delete) podem ser aplicadas para qualquer classe que represente uma tabela do banco de dados dentro de um projeto, facilitando ainda mais a vida do programador.

Neste artigo será criado um exemplo prático, de controle de Pedido e Itens de Pedido, utilizando o conceito de DAO sendo implementado com base nas classes do ADO.NET utilizando o provider de conexão com o SQL Server.

[subtitulo]O que é o ADO.NET ?[/subtitulo]

O ADO.NET é uma evolução do ADO (ActiveX Data Objects) que foi utilizado até o Visual Basic 6, apesar de ter sido construído sem nenhum reaproveitamento da tecnologia ADO, a Microsoft manteve muitos dos conceitos do mesmo no ADO.NET, apesar destes possuírem uma arquitetura totalmente diferente.

O ADO.NET possui diversas características, como por exemplo: interoperabilidade através do uso de XML para intercambio de dados, performance, robustez, escalabilidade com modelo desconectado e produtividade.

[subtitulo]Arquitetura, interfaces e classes concretas[/subtitulo]

A arquitetura do ADO.NE

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
24/04/2013 00:00:00





Artigo - Boas práticas com JSF - Revista Easy Java Magazine 28

[rotulo] Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre boas práticas.
Autores: Thainá Mariani e Everton Coimbra de Araújo [/rotulo] [lead]Boas Práticas com JSF
Este artigo apresenta como aplicar boas práticas no desenvolvimento de software, abrangendo a tecnologia JSF, utilizando-se de exemplos implementados com foco nos recursos inseridos a partir da versão 2.0.

Em que situação o tema é útil
Para desenvolvedores de software que utilizam a tecnologia JSF e desejam conhecer dicas de como empregar seus recursos da melhor maneira, a fim de levar melhorias a uma aplicação, como também aprimorar o seu método de desenvolvimento.[/lead]

O uso de sistemas web tem se tornado cada vez mais comum e abrangente e, em função disso, nesta área de desenvolvimento é comum e necessário o uso de frameworks, buscando facilitar a implementação deste tipo de sistema.

Um dos frameworks mais comumente utilizados em aplicações web é o JavaServer Faces (JSF), que subsidia o desenvolvimento da interface com o usuário (UI). Essa tecnologia recomenda fortemente a adoção do padrão MVC, visando à separação entre o modelo de negócio e a camada de visualização.

O JSF, em sua atual versão (2.0), teve novos recursos inseridos, trazendo também dúvidas de como usufruir deles corretamente. Normalmente, por causa destas dúvidas, certas tecnologias são utilizadas de maneira ineficiente, comprometendo o desempenho de uma aplicação. Outras vezes, por falta de conhecimento, alguns recursos importantes deixam de ser utilizados, quando poderiam trazer melhorias ao projeto. Por esses motivos, o propósito desse artigo é mostrar como usufruir de alguns dos recursos essenciais do JSF e adotá-los como boas práticas no desenvolvimento de aplicações web.

Dentre os recursos do JSF abordados neste artigo, estão: a) os escopos, que quando empregados de maneira correta possibilitam aprimorar o desempenho das aplicações; b) a integração entre Ajax e JSF 2, visando melhorias na interação com o usuário; c) o Project Stage (estágios de execução do projeto); d) o uso de arquivos de propriedades; e e) a internacionalização.

[subtitulo]Limitando a utilização do Escopo de Sessão[/subtitulo]

O desempenho de uma aplicação web é um fator essencial a ser levado em consideração durante o seu desenvolvimento. Para isso, deve-se analisar vários trechos de código a fim de descobrir de que maneira é possível aprimorá-los para tornar a aplicação mais ágil.

Dentre os artefatos que compõem uma aplicação JSF, estão os Managed Beans, que são classes que possuem a responsabilidade de realizar a intermediação na comunicação entre as páginas e o modelo de negócio da aplicação. Esta comunicação se dá quando uma requisição é realizada ao servidor, onde a mesma é então delegada para as classes de negócio. Cada Managed Bean possui um determinado escopo, que é responsável por definir o ciclo de vida de cada uma de suas instâncias. Esses escopos são representados por cinco tipos, os quais serão descritos a seguir:

· Escopo de aplicação (Application Scope): O ciclo de vida do Managed Bean anotado com esse escopo dura enquanto a aplicação estiver em execução. Os valores armazenados estarão disponíveis em todas as páginas da aplicação e para todos os clientes;

· Escopo de Requisição (Request Scope): Nesse escopo, o ciclo de vida começa quando uma requisição é iniciada e permanece disponível durante o tempo de execução dela;

· Escopo de Visão (View Scope): As instâncias de um Managed Bean anotado com esse escopo iniciam quando houver uma requisição a determinada página e permanecem disponíveis enquanto houver requisições para esta mesma página, sendo finalizados quando ocorrer o redirecionamento para outra página;

· Escopo de Sessão (Session Scope): O ciclo de vida proposto por esse escopo se inicia no momento em que a primeira requisição para a instância de um Managed Bean com este escopo for realizada, e termina n

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
22/04/2013 00:00:00





Artigo - Novos recursos para o tratamento de exceções - Revista Easy Java Magazine 28

[rotulo] Artigo do tipo Exemplos Práticos
Recursos especiais neste artigo:
Conteúdo sobre novidades.
Autores: Everton Coimbra de Araújo e Vanessa Caroline Fortes [/rotulo]

[lead]Novos recursos para o tratamento de exceções
Este artigo apresenta os novos recursos para o tratamento de exceções promovidos pelo Java 7. Recursos como o Try-with-Resources, Multi-catch e Rethrowing Exception, trouxeram melhorias na utilização da cláusula try, tornando o código mais efetivo.

Em que situação o tema é útil
Este tema é útil para desenvolvedores que desejam se atualizar e conhecer os novos recursos e mudanças ocorridas na sintaxe da linguagem do Java 7 voltadas ao tratamento de exceções.[/lead]

Algumas linguagens de programação não disponibilizam um sistema apropriado para o tratamento de exceções, elas apenas interrompem a execução de um programa ao detectar algum erro. Essas interrupções, se não puderem ser devidamente identificadas e tratadas, certamente não permitirão uma recuperação do estado da aplicação para retomada do processo interrompido, podendo causar uma parada na execução da aplicação como um todo. Em diversos sistemas, como por exemplo, para controlar o tráfego aéreo, as interrupções são inaceitáveis. Sistemas com estas necessidades levam a equipe de desenvolvimento a optar por linguagens que ofereçam recursos para identificar a captura e o tratamento de exceções, buscando assim garantir o bom funcionamento de qualquer software desenvolvido.

A linguagem Java, que segue o paradigma orientado a objetos, é simples, clara e eficiente. Ela visa otimizar a produtividade dos desenvolvedores e é uma das linguagens mais utilizadas em sistemas que precisam ser tolerantes a falhas. Tem também como objetivo, facilitar e tratar possíveis erros de execução, sendo esta característica conhecida como tratamento de exceções.

Por volta de julho de 2011, parte da plataforma Java foi atualizada, surgindo o Java Standard Edition 7, que foi especificado pela JSR 334, também conhecida como Projeto Coin. Esta atualização na linguagem resultou em algumas mudanças, trazendo, dentre elas, novos recursos para o tratamento de exce

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
22/04/2013 00:00:00





What is new - Promoção: Ganhe uma camisa Nerd sim, e daí?

Camisa

A DevMedia decidiu dar de presente uma camisa “Nerd sim, e daí?” a cada um dos 100 primeiros blogueiros que criarem um texto legal sobre qualquer um de nossos cursos, incluindo no texto um link para o curso selecionado. 

Para participar basta escolher qualquer um de nossos cursos, criar um texto legal, publicar em seu blog e enviar um e-mail para promocoes@devmedia.com.br com o link do post publicado. O mesmo será analisado e estando dentro de um padrão de qualidade responderemos o e-mail solicitando um endereço de entrega (exclusivamente no Brasil) e perguntando o tamanho da camisa para envio. 

Só estão valendo blogs que tenham mais de 6 meses de existência, assim não vale criar um blog só para participar da promoção! ;-)

E só valem posts que falem de algum curso da DevMedia em específico. Não vale para a página principal dos cursos ou para a página que lista todos os cursos de uma determinada tecnologia.

Escolha um curso e fale sobre ele. Valendo! 

Para ter uma lista completa de nossos cursos, acesse o link abaixo:

http://www.devmedia.com.br/cursos/ 

Simples e fácil.

Esperamos seus e-mails.

Update 22/04/2013:

  • A promoção está valendo para sites também.

Update (2) 22/04/2013:

  • Para esta promoção não valem posts em redes sociais como Facebook, Twitter, Google+.

Update 24/04/2013:

  • Para esta promoção o post deve estar publicado em um blog ou site relacionado a tecnologia.
-->">
19/04/2013 15:45:00





What is new - 8 mil vídeos no portal

É com grande satisfação que a Equipe DevMedia informa que atingimos o incrível número de 8mil vídeos cadastrados no portal, entre vídeo aulas, pocket vídeos e palestras, pagos e gratuitos.

E esse número não para de crescer, com novos vídeos sendo publicados diariamente.

Acesse agora nossa página de cursos e vídeos e procure pelos que mais se adequam à sua necessidade: http://www.devmedia.com.br/cursos/.

-->">
18/04/2013 15:22:00





Artigo - Trabalhando com notificações no Android - Revista Mobile Magazine 47

[rotulo] Artigo do tipo Tutorial
Autores: Ricardo Ogliari e Robison Cris Brito [/rotulo] [lead]Conhecendo tudo sobre as notificações do Android
O uso de notificações torna o aplicativo mais inteligente e mais surpreendente para o usuário. Isto porque ele possibilita a definição de uma nova forma de interação entre aplicativo e usuário que estamos acostumados a ver quando nosso celular indicar que temos novas mensagens de e-mails, facebook, dentre outros.

Neste contexto, o artigo apresenta todas as formas de criação de notificações na plataforma Android. Desde aquelas mais simples, apenas com poucos textos e uma imagem, até as mais elaboradas, contendo uma grande imagem, um conjunto de linhas ou um texto também extenso. Além disso, aborda estes temas sempre levando em conta dicas de portabilidade e como trabalhar de forma independente, sem ficar preso a uma versão do sistema operacional. Para isso, o artigo faz inicialmente uma breve introdução ao tema. Em seguida, é definido um estudo de caso que será desenvolvido passo a passo ao longo do artigo. Ao final, teremos uma aplicação totalmente funcional que faz uso do sistema de notificações do Android.

Em que situação o tema é útil
Um bom aplicativo Android faz extenso uso de notificações, isso porque é uma forma aprimorada de interação com os usuários. Este artigo apresentará como dominar este recurso na plataforma Android. Você estará preparado para criar soluções de interface com o usuário ainda mais interativas e amigáveis.[/lead]

Com o avanço dos sistemas operacionais para dispositivos móveis, o consequente avanço dos aplicativos para estes dispositivos era inevitável. E mais do que isto, os próprios sistemas operacionais voltados para este público precisaram se modernizar. Prova disso é a liderança em market share do Android e iOS acima dos 90%, isso porque eles atingiram um patamar acima dos concorrentes existentes no surgimento de ambos.

O sistema operacional Symbian que até então reinava sozinho, tornou-se obsoleto e feio quando iPhones e Androids invadiram o mercado. Isso provou para o mundo que os usuários tinham passado da fase de usar o telefone celular somente para efetuar e receber chamadas. Outro fato que reforça esta conclusão é a crescente nos números de vendas de smartphones. Sendo que este ano, pela primeira vez na história, superaram as vendas de telefones celulares.

Isso nos leva a perceber um fato óbvio. Não é mais aceitável criar simples aplicativos para aparelhos móveis. Os usuários exigem interfaces gráficas cada vez mais ricas e que façam o melhor uso do hardware que eles têm em mãos. E soma-se a isso mais um fato: as lojas virtuais estão abarrotadas de opções de aplicativos para os mais variados fins. Segundo pesquisas do final de 2012, cada uma das duas principais lojas online (Play Store e Apple Store) possuía cerca de 700 mil programas disponíveis para baixar gratuitamente ou para compra. Sendo assim, o desenvolvedor mobile precisa ter criações que se destaquem no meio desta infinidade de possibilidades.

Temos diversas maneiras de obter destaque nestas lojas, como o extenso uso de sensores, para dar um aspecto de inteligência ao nosso software. Por exemplo, um sensor de luminosidade pode deixar a tela mais escura ou mais clara, dependendo do ambiente. Um sensor de proximidade pode desligar a luz da tela quando perceber que o usuário se distanciou, economizando a escassa bateria dos smartphones.

Também podemos guardar um histórico das ações do usuário e criar um sistema sensível ao contexto. Por exemplo, um sistema de compra online pode perceber quais são os itens mais procurados e saber as preferências do usuário, mostrando primeiramente aqueles de seu agrado. Um simples aplicativo de rotas pode perceber preferência do usuário e fornecer indicações de serviços ao longo do trajeto que interessam ao mesmo.

Outra forma de se destacar pode ser com sistemas de notificações. Basicamente, este conceito visa informar o usuário de algo importante sem que o mesmo precise buscar por esta informação. Um aviso sobre um temporal que se aproxima, alertando o usuário para deixar a área onde ele está que sobe com frequentes inundações, sem que o mesmo precise fazer esta pesquisa em sites meteorológicos e históricos de enchentes, agrega muito valor a uma solução.

Além disso, uma notificação pode ser a porta de saída de um complexo sistema que roda em background. Devido à possibilidade de multithreading do Android, pode-se fazer diversas consultas em uma quantidade muito grande informações aplicando conceitos de data mining e inteligência artificial. O usuário vai achar que isso tudo é mágica, porque vai receber uma informação extremamente oportuna para aquele seu momento e necessidade, sem qualquer esforço de sua parte.

Esta característica torna o aplicativo mais inteligente e mais surpreendente para o usuário. Quem não gosta de ver o próprio Android avisando que você tem novas mensagens diretas no Twitter, novos e-mails na sua caixa de entrada, sem termos que abrir estes aplicativos e fazer esta verificação. Ganhamos t

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
15/04/2013 00:00:00





Artigo - Introdução à comunicação bluetooth no Android - Revista Mobile Magazine 47

[rotulo] Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate
Autores: Robison Cris Brito, Alisson Puska e Ricardo Ogliari [/rotulo] [lead]Introdução à comunicação bluetooth no Android
A comunicação Bluetooth é uma forma de comunicação sem fio muito utilizada entre dispositivos portáteis, seja pelo baixo consumo de energia ou pela grande variedade de dispositivos móveis que possuem este recurso. Para entender como funciona a comunicação bluetooth alguns conceitos são importantes, como a comunicação cliente-servidor, procura de servidores e serviços, troca de informações via fluxos (Stream), comunicação multithread, entre outros. No estudo de caso apresentado neste artigo muitos destes conceitos são apresentados, e ao final, o programa pode ser testado em diferentes aparelhos Android.

Assim, este artigo apresenta os fundamentos da comunicação bluetooth aplicados à plataforma Android. De maneira simples e didática, os fundamentos da programação bluetooth são apresentados ao leitor. Na sequência, um estudo de caso sobre a comunicação bluetooth na plataforma Android é apresentado, exemplificando conceitos como cliente-servidor, disponibilização de serviços, busca de servidores, conexão e envio e recepção de dados.

Em que situação o tema é útil
Este artigo é útil para programadores que ainda não possuem conhecimentos técnicos sobre a comunicação bluetooth, e que desejam utilizar em seus aplicativos troca de informações entre smartphones ou até mesmo entre smartphones e outros dispositivos portáteis bluetooth.[/lead]

Bluetooth é uma tecnologia sem fio usada para conectar e transmitir dados entre dispositivos em rede pessoais (chamadas de Personal Area Networks - PANs). Com um alcance máximo de até 100m e velocidades de transmissão que podem se aproximar de 24 Mb/s, o bluetooth é um o padrão em comunicação de curta distância.

Celulares, smartphones, câmeras digitais, teclados, mouses e outros dispositivos adotaram a tecnologia por ser robusta, economizar energia e ter uma fácil implementação. Um dispositivo operando bluetooth pode se conectar com até oito outros dispositivos, que o torna uma ótima opção para uma rede de dispositivos móveis. O bluetooth surgiu como resposta para a necessidade de conectar dispositivos sem a utilização de cabos, visando a econômica de energia, a fácil operação e a comodidade.

Em 1994, a empresa Ericson iniciou um projeto para a eliminação dos cabos que conectavam os diversos periféricos dos telefones celulares. A ideia era utilizar ondas de rádio de baixa frequência para conectar os diferentes dispositivos.

A tecnologia originada pelo projeto da Ericson foi batizada de MCLink e surpreendeu por ser relativamente barata e de fácil implementação, o que contribuiu muito para o desenvolvimento do projeto que logo recebeu o apoio de outras empresas.

Mais tarde, a tecnologia recebeu o nome de bluetooth em homenagem ao rei dinamarquês Harold Blatand (em inglês - Harold Bluetooth), que unificou as tribos da Noruega, Suécia e Dinamarca. Foi utilizado o aspecto da unificação das nações para fazer uma referência a unificação dos dispositivos.

Em 1998 foi formado o consorcio BSIG (Bluetooth Special Interest Group) que iniciou as especificações industriais do bluetooth. A formação inicial do grupo pelas empresas Nokia, Ericson, IBM, Toshiba e Intel, facilitou ao projeto receber cada vez mais aceitação e apoio da comunidade tecnológica.

[subtitulo]Funcionamento técnico do bluetooth[/subtitulo]

O bluetooth utiliza ondas de rádio de baixa potência, operando em frequências que vão de 2.4Ghz a 2.5 Ghz, na faixa de frequência conhecida como ISM (Industrial, Scientific, Medical). O uso da baixa potência aumenta a economia de energia das baterias e limita o alcance a um máximo de 100m.

A tecnologia é dividida em três classes levando em conta o alcance das ondas de rádio:

• Classe 3 de 1 MW de potência: Alcança distâncias de até 1m;

• Classe 2 de 10 MW potência: Alcança distâncias de até 10m;

• Classe 1 de 100 MW potência: Alcança distâncias de até 100m.

Cada dispositivo possui uma classe de operação, que deve ser observado no momento de sua compra.

Existe também o conceito de Bluetooth Wireless Personal Area Network(BT-WPAN) que é o nome dado a área onde dispositivos bluetooth formam um rede. Uma BT-WPAN consiste de Piconets e Scatternets.

Uma piconet consiste de um conjunto de até oito dispositivos conectados, onde o dispositivo que iniciou a conexão é marcado como mestre e os demais como escravos. Duas piconets podem se conectar através de dispositivos comuns em ambas as redes, sendo a única restrição que estes dispositivos não sejam os mestres de suas piconets. Esta união de piconets recebe o nome de Scatternet, conforme exemplificado na Figura 1.

abrir imagem em nova janela

Figura 1. BT-WPAN

A tecnologia utiliza conexões ponto-multiponto onde o nó mestre é o controlador da rede. O nó mestre é o responsável por organizar a comunicação na piconet, sincronizando o clock entre os dispositivos conectados e calculando um padrão de frequency hopping. Os nós escravos se conectam somente com o nó mestre, não havendo conexão direta entre eles.

Outros dispositivos utilizam a mesma banda de frequência do bluetooth e para evitar interferência e garantir uma transmissão fim-a-fim segura, a tecnologia utiliza um mecanismo de alteração de frequência (frequency hopping). O mecanismo consiste em alterar a frequência de utilização em até 1600 vezes por segundo, gerando saltos na banda de frequência ISM. Os dispositivos sincronizam o padrão de saltos e se comunicam na mesma frequência.

As transmissões ocorrem no modo Full Duplex, onde os dispositivos transmitem e recebem dados por um esquema de divisão de tempo chamado TDD (Time Division Duplex).

[subtitulo]Protocolos[/subtitulo]

A pilha de protocolos Bluetooth é dividida em três partes:

• Camada de Transporte;

• Camada Middleware;

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
15/04/2013 00:00:00





Artigo - Desenvolva um jogo multiplataforma com Corona - Revista Mobile Magazine 47

[rotulo] Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre solução completa.
Autores: Cleverson Schmidt e Rafael Munhoz [/rotulo] [lead]Desenvolvendo jogos com o corona
A categoria de jogos é, de longe, a mais popular nas lojas de aplicativos do Google e Apple. O sonho de todo desenvolvedor independente é conseguir emplacar um novo Angry Birds ou Temple Run. Existem muitas alternativas para implementar um jogo. Das mais complexas como usar APIs nativas do OpenGL, passando pela implementação direta num Canvas ou SurfaceView, até a utilização de frameworks que facilitam e aceleram o processo de desenvolvimento

Neste artigo vamos aprender a desenvolver um jogo multiplataforma usando o framework de desenvolvimento de jogos Corona. Vamos implementar um exemplo passo a passo e ao final do artigo teremos um jogo que, apesar de simples, contém vários elementos de jogos de sucesso encontrados no Google Play e App Store.

Em que situação o tema é útil
Esse artigo será útil para desmistificar um pouco o desenvolvimento de jogos. Apesar de parecer muito complexo, frameworks como o Corona simplificam bastante o processo como um todo e nos auxiliam a implementar tarefas aparentemente muito difíceis como o uso da física nos jogos.[/lead]

O mercado de smartphones e tablets tem crescido de forma muito acelerada nos últimos anos. Previsões indicam que em 2013 serão vendidos mais de 1 bilhão de smart devices no mundo todo. Cada um desses dispositivos tem capacidade de processamento semelhante a PCs de um passado não muito distante. Os usuários tem em mãos um aparelho capaz de executar tarefas cada vez mais complexas e os desenvolvedores de jogos estão explorando muito bem esse ambiente.

A categoria de jogos é, de longe, a mais popular nas lojas de aplicativos do Google e Apple. Em média, metade do tempo de uso nos smartphones é dedicado a jogos. Além de jogar muito, também gasta-se muito nessa categoria. Usuários estão despejando bilhões de dólares em compras diretas e micro transações (In App Purchase - ler Nota do DevMan 1). Combinando um imenso mercado potencial e os dólares desses consumidores, temos um ambiente muito atrativo a ser explorado.

[nota]Nota DevMan 1. In App Purchase

Basicamente, uma In App Purchase se refere à possibilidade de inserir em sua aplicação mecanismos de compra que podem ser acessados de através de botões ou links. Normalmente, estas transações estão associadas à adição de algum recurso extra à sua aplicação ou jogo. Para ilustrar, considere o Jogo Clash of Clans, um jogo de estratégia muito difundido no momento pata ambientes iOS. Neste jogo, você deve evoluir sua vila através da construção de uma série de unidades de ataque e defesa contando para isso com moedas, uma espécie de elixir e esmeraldas. Estes recursos são limitados e vão avançando à medida que suas unidades vão produzindo os recursos. Entretanto, é possível ter uma ajuda extra na liberação de recursos para que você possa evoluir sua vila mais rapidamente. Isso é feito através de compras de recursos através de seu cartão de crédito. Para os mais ansiosos, é possível liberar recursos suficientes para dar um bom upgrade em seu ambiente.[/nota]

Entretanto, o desenvolvimento de jogos traz um conjunto de características que, em muitas vezes, funcionam como uma verdadeira barreira para a entrada neste mercado já bastante disputado. A simples junção da lógica do jogo com uma interface bem elaborada e interativa com o usuário já é por si só uma tarefa extremamente desafiadora e difícil de ser alcançada. Indo um pouco mais além, outro recurso que é presença obrigatória em jogos aumenta ainda mais esta barreira: o uso correto da física. Quando falamos de física, nos referimos a simular no ambiente virtual de um smartphone o comportamento que um objeto teria no mundo real considerando questões como peso, gravidade, colisão e inercia. Criar soluções com estas características vai muito além de um simples cadastro básico que estamos acostumados a lidar em nosso dia a dia como desenvolvedores de software, quando lidamos na maioria das vezes com tarefas repetitivas e que algumas vezes dispensam o uso da criatividade.

Isso sem falar que para atingir um público alvo mais abrangente, é preciso que o jogo desenvolvido possa ser utilizado, pelo menos, nas principais plataformas do mercado. No ce

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
15/04/2013 00:00:00





Artigo - Meio milhão de usuários registrados no portal DevMedia

500 mil usuários cadastrados

A Equipe DevMedia tem a satisfação de anunciar que atingimos o número de meio milhão de usuários cadastrados.

Meio milhão de pessoas participando do fórum, lendo artigos, revistas, assistindo vídeos, enfim, aproveitando os serviços do portal, e esse número aumenta a cada dia.

Como não poderia deixar de ser, queremos agradecer a você, que é parte integrante dessa incrível marca.

Um abraço da Equipe DevMedia.

-->">
11/04/2013 15:47:00





Artigo - Novo curso de Windows Phone

Novo Curso de Introdução ao Windows Phone

O portal DevMedia acaba de lançar um novo curso. No Curso de Introdução ao Windows Phone, ministrado pelo nosso amigo Nabil Safatli, você aprenderá tudo que precisa saber para começar a desenvolver aplicações para o mais recente sistema operacional da Microsoft para smartphones, o Windows Phone.

Serão apresentados desde os conceitos mais básicos, como controles de entrada de dados e layout, até pontos mais avançados como trabalhar como multitasking e com os sensores do aparelho.

Se você quer começar a desenvolver para Windows Phone, seguindo as tendências de um mercado que só cresce no Brasil e no mundo, essa é a hora.

Um abraço da Equipe DevMedia e bons estudos.

Link do curso: http://www.devmedia.com.br/curso/curso-de-introducao-ao-windows-phone/383.

-->">
09/04/2013 17:20:00





What is new - Formação Delphi Developer Atualizada

Pessoal, atualizamos a formação de Delphi Developer. Se você está querendo aprender a programar em Delphi, este é o momento! Sua hora chegou!

Formação Java Básico

Modificação realizada:

Nesta formação você irá aprender os conceitos básicos de Delphi e também a desenvolver aplicativos desktops, utilizando conceitos como multicamadas, além de muito mais coisas.

Basta acessar o link: http://www.devmedia.com.br/curso/formacao-delphi-developer/109.

Bons estudos!

-->">
02/04/2013 14:44:00





Artigo - Desenvolvimento de sistemas para a nuvem - Revista Engenharia de Software Magazine 57

[rotulo] Artigo do tipo Teórico
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre Arquitetura, Conteúdo com estudo de caso.
Autores: Edson A. Oliveira Junior e Rodrigo P. Bonini [/rotulo] [lead]O desenvolvimento de sistemas para a nuvem
Neste artigo será apresentado um breve resumo sobre computação em nuvem e serão catalogadas algumas das principais tecnologias relacionadas. Ao final do estudo analisaremos um pequeno exemplo fictício da utilização de algumas das tecnologias citadas.

Em que situação o tema é útil
Este artigo apresenta algumas das principais tecnologias para auxiliar no desenvolvimento de sistemas e o gerenciamento de infraestruturas baseados em nuvem.

Este tema é útil para gerentes/arquitetos de software e a indústria de software em geral que desejam migrar para soluções em nuvem ou obter conhecimentos sobre um dos temas mais atuais no setor de TI em todo o mundo.[/lead]

Computação em nuvem permite o uso computacional (processamento, armazenamento, serviços, etc.) com recursos compartilhados de forma remota, por meio da internet ou redes locais. Esses recursos são definidos a partir de um painel de controle onde o usuário pode configurar serviços de acordo com a necessidade de uso e sem nenhuma intervenção de um especialista com o servidor. Em geral, o usuário só pagará pelos recursos e serviços utilizados, possibilitando um melhor controle sobre os gastos.

A computação em nuvem é a evolução de uma variedade de tecnologias. Tecnologias como grid computing (modelo de rede de computadores onde os recursos de cada computador são compartilhados com todos os outros computadores no sistema), virtualização (o processo de executar vários sistemas operacionais em um único equipamento) e utility computing (modelo de disponibilização de serviços computacionais no qual um provedor de serviços disponibiliza recursos computacionais e infraestrutura necessários para um cliente e o cobra baseado no uso) podem facilmente ser confundidas com computação em nuvem.

É possível diferenciar computação em nuvem de outras tecnologias observando o modelo proposto pelo Instituto Nacional de Padrões e Tecnologia (NIST), que é composto por cinco características essenciais, quatro modelos de implantação e três modelos de serviços. Tais modelos permitem que organizações de grande porte ofereçam serviços e ferramentas para auxiliar no desenvolvimento de aplicações em nuvem como, por exemplo, o Google App Engine, que é uma plataforma de desenvolvimento em nuvem da empresa Google integrada com uma base de dados própria, o BigTable (sistema de armazenamento de dados comprimido, de alto desempenho e proprietário desenvolvido a partir de um conjunto de tecnologias do Google).

Outro exemplo de serviço é o Windows Azure Platform da Microsoft, que possibilita um desenvolvimento de forma ágil, também integrada com uma base de dados própria, o SQL Azure. Ambos contam com bibliotecas próprias para diversas linguagens. Por fim, cabe ressaltar que todos os serviços citados podem ser executados via Web nos data centers das empresas fornecedoras.

A computação em nuvem oferece muitos benefícios para as organizações, como: a redução de custos, já que as empresas não precisam mais gastar com infraestrutura e também manutenção; e a melhora na automação dos serviços, flexibilidade e sustentabilidade. Além dos benefícios citados, a

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
29/03/2013 00:00:00





Artigo - Aumente a qualidade de seu software com testes - Revista Engenharia de Software Magazine 57

[rotulo] Artigo do tipo Teórico
Recursos especiais neste artigo:
Conteúdo sobre arquitetura, Conteúdo com estudo de caso.
Autores: Ivânia Ramos dos Santos, Jean Carlo do Rosário e Jenifer De Marchi. [/rotulo] [lead]Modelo de testes 3P x 3E
Este artigo tem como propósito, através de um estudo de caso, analisar os índices de qualidade que levaram a equipe de testes de uma empresa de informática aqui denominada ‘Size Software’, a optar pela metodologia 3P x 3E para o aumento da qualidade do seu produto final.

Em que situação o tema é útil

Este artigo aborda o uso do modelo 3P x 3E na fase de testes como fator determinante na busca pelo aumento da qualidade do software, merecendo dessa forma, especial atenção dentro do processo de criação de um sistema. A discussão desse tema é útil para empresas de desenvolvimento de software que antes de iniciarem um projeto, não compreendem a relação existente entre a qualidade, o software e os testes alvos. Desta forma, obterão o escopo necessário para utilização das ferramentas, materiais e recursos disponíveis, criando um produto de qualidade ao usuário final.[/lead]

Em se tratando das diversas considerações que devem ser levadas em conta no processo de construção de um software, a etapa de testes seguramente tem muita importância no conjunto. Não apenas a sua execução, representando uma fase da construção de projetos, mas também a sua relação com a qualidade final. A combinação das ferramentas e da metodologia aplicada requerem a necessidade de estudos cuidadosos no momento da escolha. Uma opção imprecisa pode trazer associações indesejáveis ao produ

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
29/03/2013 00:00:00





Artigo - Apoio a decisões no processo de inspeção de software - Revista Engenharia de Software Magazine 57

[rotulo] Artigo do tipo Teórico
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas.
Autores: Jailton Junior de Sousa Coelho e José Luis Braga. [/rotulo] [lead]Apoio a decisões no processo de inspeção de software
Uma das formas de melhorar a qualidade de software é a aplicação de inspeções nos artefatos desenvolvidos ao longo do processo de desenvolvimento. Embora as vantagens de se utilizar inspeções de software sejam conhecidas, a forma como as inspeções são realizadas na prática pelas organizações de software ainda é pouco sistematizada e seu potencial raramente é explorado. Este artigo apresenta um modelo de dinâmica de sistemas, envolvendo grande parte das variáveis que influenciam fortemente na eficiência da inspeção. Através do modelo é possível reproduzir cenários nos quais seria caro ou perigoso experimentar na realidade, sendo possível analisar os impactos que a inspeção pode trazer no processo de desenvolvimento, diminuindo riscos.

Em que situação o tema é útil
Este artigo apresenta um modelo de dinâmica de sistemas que permite avaliar, via simulação, os impactos da utilização de inspeções em várias etapas do ciclo de desenvolvimento de projetos de software, economizando recursos e permitindo reproduzir cenários nos quais seria caro ou perigoso experimentar com problemas no mundo real.

Através do modelo, gerentes de projetos podem configurar e simular cenários para auxiliá-los na análise e tomada de decisão relativa às características da empresa, permitindo testar situações novas antes de colocá-las em prática.

O uso do modelo torna-se atrativo quando se pretende estimar o total de defeitos distintos do produto e ao mesmo tempo ter acesso a uma estimativa da efetividade do sistema de inspeção, medida que é utilizada por algumas empresas como um critério para continuidade ou não da inspeção, ou para reinspeção de unidades de produtos.[/lead]

A tomada de decisão é uma atividade importante e complexa na engenharia de software. Geralmente é um processo não sistemático, uma vez que tipicamente se baseia em experiência pessoal sem o uso de modelos explícitos. O desenvolvimento de software é um processo onde cada pessoa envolvida constantemente toma decisões, tanto técnicas quanto gerenciais.

A capacidade de enxergar e compreender o sistema como um todo é fundamental nas decisões. Em projetos de software, os gestores quando buscam visualizar de forma integrada todos os fatores de influência do seu processo de desenvolvimento, de maneira que terão maior capacidade em tomar decisões mais adequadas. Entretanto, gestores acabam optando por decisões reativas, considerando apenas o problema presente, sem relacioná-lo com o seu ambiente e demais fatores correlacionados. Isso se torna um risco relevante no projeto, uma vez que decisões gerenciais tomadas de maneira equivocada podem levar a grandes prejuízos e mais do que isso, podem causar falhas críticas no software. Logo, é indispensável o uso de ferramentas que auxiliem os gerentes em suas tomadas de decisão, identificando os riscos antes de eles se materializarem.

A qualidade do produto de software é um aspecto que deve ser acompanhado durante todo o processo de desenvolvimento. A participação humana é um fator de grande presença nos projetos de software, justificando a ocorrência de defeitos, até mesmo se as melhores técnicas e procedimentos forem utilizados. Com isso, fica clara a importância de um processo de garantia da qualidade que atue em todas as fases do processo de desenvolvimento. Revisões de artefatos de software têm se mostrado uma abordagem eficiente e de baixo custo para encontrar defeitos, reduzindo o retrabalho e melhorando a qualidade dos produtos (ler Nota do DevMan 1).

[nota]Nota DevMan 1. Inspeção de Software

A inspeção é um tipo particular de revisão que contribui para garantir a qualidade do produto de software. Todas as etapas do processo de desenvolvimento de software são suscetíveis à incorporação de defeitos, que podem ser detectados pela inspeção e posteriormente removidos.[/nota]

É importante destacar que quant

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
29/03/2013 00:00:00





Aplicativo com fontes - Código fonte da Moderação - Curso JavaScript: Explorando as diferentes ferramentas fornecidas pelo JavaScript


Neste post você encontrará o código fonte desenvolvido pela equipe de suporte DevMedia referente ao Curso JavaScript: Explorando as diferentes ferramentas fornecidas pelo JavaScript.

O código fonte se encontra dividido em pastas - cada uma representando uma aula do curso. Dessa forma você pode ter o código completo e acessar um ponto específico do curso para estudo, quando precisar.

Se você estiver acompanhando o curso e seu projeto apresentar problemas de compilação, recomendamos fortemente que você utilize este código como fonte de comparação, assim você pode verificar onde ocorreu o erro.

Este código fonte é uma forma de consulta adicional ao curso em questão e mais um serviço prestado pela equipe DevMedia.

Bons códigos.

-->">
28/03/2013 15:14:00





 

(Sem currículo cadastrado)
Arquivo de atualizações
 2013
 2012
 2011
 2010
 2009

Estatísticas do Autor:
Número de posts: 756
Características dos posts deste autor:
Conteúdo:
Utilidade:
403 100
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group