Label transparente em Windows Mobile
Escrito por Raphael Oliveira em 30/07/09 12:26
Uma das dificuldades encontradas por quase todos que se aventuram a programar em Windows Mobile é: Como fazer Label com fundo transparente? E porque a propriedade transparent parece não funcionar?
Começando pela segunda pergunta, a resposta é que a propriedade transparent faz com que Label herde a cor de seu pai, o que funciona somente quando temos Label colocada sobre um fundo de uma única cor. Ou seja, essa propriedade de nada adianta se temos uma imagem de fundo. Então como solução (e também respondendo a primeira pergunta), siga os passos abaixo.
Primeiro, crie em seu projeto uma Component Class (neste exemplo criamos uma nova pasta chamada de Util -> Add -> New Item -> Component Class).
using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Drawing;
namespace TransparenteLabelExample.Util {
public partial class TransparentLabel : Control {
public TransparentLabel() {
this.TextChanged += new System.EventHandler(this.alterouTexto);
}
public void alterouTexto(object sender, EventArgs e) {
this.Invalidate();
}
protected override void OnPaintBackground(PaintEventArgs e) {
}
private bool bPaintOnce = false;
protected override void OnPaint(PaintEventArgs e) {
if (!bPaintOnce) {
bPaintOnce = true;
this.Visible = false;
this.Parent.Invalidate(this.Bounds);
this.Parent.Update();
this.Visible = true;
return;
}
else {
bPaintOnce = false;
Graphics g = e.Graphics;
Font font = this.Font;
SolidBrush brush = new SolidBrush(this.ForeColor);
g.DrawString(this.Text, font, brush, 1, 1);
g.Dispose();
}
}
}
}
Depois, execute seu programa uma vez, a Toolbox do Visual Studio conterá um novo Componente que é a TransparentLabel!
Aqui uma imagem para ilustrar:

Também é possível utilizar esta mesma técnica para criar imagens com fundo transparente com esta Classe.
Mobits Button Soccer enviado para aprovação da Apple
Escrito por Quintana em 28/07/09 13:05
Depois de alguns meses de desenvolvimento, agora só depende da Apple para o iPhone ganhar o clássico jogo de futebol de botão.

Como podem ver acima, fizemos duas versões do aplicativo: uma para a App Store internacional na categoria Games e outra para o Brasil (e outros países que a Apple trata como "resto do mundo") na categoria Entretenimento. Esse modelo é aplicado pela maioria dos desenvolvedores brasileiros de jogos para iPhone, pois a App Store no Brasil não permite a categoria de Games. Desta maneira, conseguimos lançar jogos na categoria correta, mas não deixamos o mercado brasileiro de fora. A única desvantagem é que a Apple pode aprovar as apps em prazos diferentes e o jogo ser encontrado em algumas App Store e outras não.
Sobre o jogo
O jogo possui 2 modos: em rede ou no mesmo iPhone. A versão por wi-fi permite que os 2 jogadores joguem cada um em seu dispositivo, como mostra esse vídeo; já o jogo no mesmo iPhone é similar à partida em uma mesa real de futebol de botão, ou seja, cada jogador deve jogar em um lado do dispositivo - as mensagens e o placar ficam sempre viradas para o jogador que está com a posse de bola.

É possível habilitar uma opção para que o jogo dê pausa automaticamente entre os turnos para facilitar, caso o iPhone tenha que ser passado para a outra pessoa.
O jogo também permite a partida seja salva, tanto de forma opcional quanto de forma automática ao fechar a aplicação. Assim você não precisa se preocupar em perder o seu jogo caso receba uma ligação telefônica no meio da partida, ela estará salva.
As regras do jogo foram baseadas nas regras oficiais da Federação de Futebol de Mesa do Estado do Rio de Janeiro (FEFUMERJ), e podem ser obtidas aqui. Algumas adaptações foram feitas para aumentar a jogabilidade, por exemplo, ao invés de um limite de jogadas por botão, colocamos tempo para se concluir cada série de jogadas. Essa e outras mudanças foram realizadas visando o jogo via rede, pois um lado não pode esperar indefinidamente a conclusão da jogada do outro.
Próximas versões
Quem adquirir o jogo (preço inicial de US$ 1,99) na App Store também terá direito a baixar as suas atualizações gratuitamente. Algumas que já estão planejadas são: o modo de apenas 1 jogador (que enfrentará o computador), o modo por Bluetooth e o modo on-line, onde será possível interagir com jogadores do mundo todo. Então podem começar a treinar!
Agradecimentos
Agradecemos aos beta testers por todos os feedbacks gerados durante a fase de testes. Foi graças a eles que conseguimos melhorar a jogabilidade, adaptar as regras e consertar alguns bugs tb... Todos eles receberão o jogo gratuitamente e os mais participativos receberão uma versão personalizada do jogo com seu nome no menu inicial.
Agradecemos também aos Blogs MacMagazine, Blog do iPhone e iTouchBR por nos ajudarem na divulgação do jogo, quando o aplicativo ainda estava em fase de desenvolvimento. Vocês também receberão a versão final personalizada!
Leia também
iPhone no monitoramento da gripe suína
Escrito por Felipe Barreto em 24/07/09 18:31
Projeto com participação da Mobits poderá ser usado no controle da Influenza A.
A gripe A H1N1 (gripe suína) ganhou mais um inimigo aqui no Brasil: o iPhone. A versão do Módulo Risk Manager para iPhone faz parte de uma solução completa montada pela Módulo para o monitoramento de situações críticas e controle de pandemias.
Retirado do press release da Módulo sobre a solução:
"O Módulo Risk Manager é responsável por automatizar o processo de gestão de riscos e produzir painéis de controle e planos de contingência a partir da coleta de informações sobre o perfil e rotina dos colaboradores, realizada por meio de questionários online ou remotamente, com o uso de PDAs ou iPhone. A apuração desses dados permite a geração de relatórios que identificam o perfil de risco e a exposição de cada indivíduo ao vírus H1N1, apresentando resultados por setor, função, tipo de rotina, sexo, entre outros."
A Mobits ficou muito contente com a oportunidade de participar de um projeto desta importância, desenvolvendo e auxiliando na implantação de uma App com o uso tão relevante para o nosso país.
Base64 encode/decode para iPhone
Escrito por Karin em 17/07/09 12:15
Bem, começo este post contando um pouco da história do uso de Base64 no nosso primeiro projeto. No Módulo Risk Manager, o cliente (iPhone) conversa com o servidor pelo protocolo HTTP. Informações como imagens e outros arquivos binários não podem ser transferidos diretamente por este protocolo, pois este exige que todos os dados sejam texto. Aí começa a nossa busca por um algoritmo de Base64 para iPhone.
O primeiro algoritmo que encontramos não foi bem sucedido, pois era muito lenta a conversão, o que prejudicava na performance do aplicativo. Após mais buscas pelo Google, encontramos uma lib chamada libtomcrypt. Nós gostamos muito dela, pois a performance melhorou em muito se comparado ao anterior. Porém, em uma certa situação, achamos um problema: se a string tivesse o tamanho igual a 10, a codificação era gerada erroneamente. Vasculhando a chamada do método do algoritmo, percebemos que o tamanho do buffer de saída que nós colocamos estava errado, então tomem cuidado com isso. Após o conserto, tudo voltou a funcionar sem problemas!
Legal, mas a história não acaba aqui.
No segundo projeto para a Módulo, Módulo Workflow Manager, nos deparamos com uma situação diferente da encontrada no projeto anterior, agora arquivos maiores seriam transitados entre o cliente e o servidor. E adivinha o que aconteceu? Isso mesmo, outro problema e agora era com gerência de memória. Novamente, fomos vasculhar a chamada do algoritmo para entender onde era o problema e conseguimos, bravamente, manipular a string de entrada para que fosse codificada em blocos, ou seja, dividimos a entrada em blocos de tamanhos pré-definidos para que manipulássemos melhor a memória do aparelho.
Ótimo, conseguimos trabalhar melhor com os arquivos, mas mesmo assim, limitamos baixar somente arquivos com tamanho 500Kb para não ter problemas de memória.
Mas não satisfeita, lendo um post do nosso amigo Matt Gallagher, vi que ele falava sobre Base64 e que disponibilizava o código. Fiquei feliz, mas precisava testar para ver se realmente funcionava. Entre um teste e outro, conseguimos validar o algoritmo, mas só uma dica, a saída do método de encode dele retorna com quebra de linha, então se você precisar que seja somente em uma linha, altere o parâmetro do método para false. Digo a vocês que o algoritmo dele funciona e o meu projeto está melhor do que com o outro. Os problemas, que o outro apresentava, não aconteceram com este. :)
Segue aqui o código-fonte do Base64 do Matt.
Ah, por todas essas buscas que fiz no Google, encontrei um site bem legal onde dada uma string, ele retorna o código em Base64. Segue o link.
Qualquer outra novidade, aviso! Valeu!
Leia também
Nova versão do Cine Mobits iPhone
Escrito por Hildi em 15/07/09 23:18
Cine Mobits versão 1.1 já disponível na App Store com melhorias na usabilidade e cinemas favoritos!
A nova versão do Cine Mobits iPhone vem com algumas melhorias de usabilidade, como a escolha da localidade, conserto de alguns bugs e o mais pedido: o cadastro de cinemas favoritos - assim não precisa mais trocar de localidade para ver seus cinemas preferidos!
Gostaríamos de agradecer a todos que contribuiram para essa nova versão. E esperamos que continuem nos enviando seus feedbacks para melhorarmos cada vez mais o Cine Mobits.
O Cine Mobits versão 1.1 já está disponível para download na App Store! Confira!
Lançada versão 1.0 do Cine Mobits em Java!
Escrito por Hildi em 15/07/09 18:27
Agora com cadastro de cinemas favoritos e envio de feedback pelo celular! Confira!
Novidades
- Cadastro de cinemas favoritos - Acesse seus cinemas preferidos sem precisar trocar de localidade!
- Envio de feedback direto do celular - Teve alguma dúvida, crítica ou sugestão? Só enviar direto do Cine Mobits!
- Novo layout!
Correções e melhorias
Recentemente, recebemos e-mails de pessoas com problemas na instalação de Cine Mobits nos aparelhos Nokia 5800 e Sony Ericsson z780i. Graças aos feedbacks e ajuda da usuária Vera, conseguimos testar e homologar o Cine em seu aparelho Nokia. Obrigada Vera! Com isso, acreditamos que esta nova versão do Cine funcionará também nos novos aparelhos da Nokia.
Outra melhoria realizada foi a possibilidade de configurar o tamanho do texto no Cine. Assim, você pode ajustá-lo de acordo com o tamanho da tela do seu celular!
Para aproveitar as novas funcionalidades do Cine Mobits 1.0, baixe-o agora aqui!
Mobits desenvolve mais um aplicativo em Windows Mobile
Escrito por Afonso Junior em 15/07/09 14:50
Através de um convênio entre UFRJ e a Petrobras, a Mobits foi contratada para desenvolver um aplicativo móvel que auxiliasse no controle das amostras coletadas para análise dos laboratórios da Petrobrás.
A aplicação, desenvolvida para Windows Mobile, permite aos laboratórios acompanharem o trâmite das amostras coletadas nas plataformas até os laboratórios. Com dispositivos móveis dotados do programa em todas as etapas da cadeia, os usuários podem informar onde se encontra uma determinada amostra, bem como para onde ela está sendo levada, e se houve algum problema no armazenamento ou transporte da mesma.
O aplicativo também auxilia na tomada de decisão em caso de problemas com as amostras coletadas: nele, o usuário encontra todas as informações de normas, procedimentos e recomendações a serem seguidas durante todo o processo. Junto a isso, o usuário preenche um checklist de verificação do estado da amostra, visando assegurar sua qualidade em todas as etapas da cadeia.
Nesse projeto também foram utilizados leitores de código de barras e RFID nos dispositivos, para permitir maior rapidez na entrada de dados para o dispositivo, além de diminuir os erros manuais de digitação. Caso sejam encontradas evidências que precisem de fotos, elas podem ser coletadas através do dispositivo, algo já realizado no projeto desenvolvido para a Modulo.
Mobits desenvolve jogo de futebol de botão para iPhone
Escrito por Quintana em 10/07/09 18:49
O clássico futebol de botão, jogo presente na infância de muitas pessoas, está prestes a ganhar um jogo para iPhone/iPod Touch!!
A interface Touch Screen e a alta resolução desses dispositivos permitem que o jogo original seja simulado com grande realismo e ainda permitem que sejam introduzidos novos elementos como partidas via rede wi-fi, replay dos lances e várias novidades que só a computação pode trazer.

Lançamento, requisitos e preço
Com o nome Mobits Button Soccer, o aplicativo será lançado para diversos países através da App Store. Atualmente ele se encontra em fase final de desenvolvimento e será enviado para a aprovação da Apple em até duas semanas. Para obtê-lo, será necessário que os iPhones/iPod Touchs estejam com o firmware 2.2 ou superior. O preço inicial do aplicativo será US$ 1,99.
Modos de jogo
O jogo permitirá que duas pessoas joguem no mesmo iPhone ou que cada uma jogue em seu dispositivo, se comunicando pela rede wi-fi, como mostra o vídeo abaixo. Em ambos os casos, as partidas seguirão as regras originais do futebol de botão com a possibilidade de salvar uma partida em andamento para continuar depois. Para tornar-se um exímio jogador, ainda será possível praticar os fundamentos através de 9 fases de treinamento.
Para mais informações sobre o jogo, sigam o twitter do futebol de botão!
Mobits desenvolve sistema para rastrear as ambulâncias do Samu
Escrito por Quintana em 10/07/09 10:51
A Mobits foi contratada por um convênio entre a UFRJ e a FAPERJ para desenvolver um sistema que rastreará as ambulâncias do Samu do Rio de Janeiro. O sistema se trata de um aplicativo na tecnologia Windows Mobile que terá suporte a GPS e enviará as suas coordenadas, por redes GSM, para as centrais do Samu. Além das coordenadas, o sistema também enviará e receberá diversas informações como as ocorrências, o estado delas e informações relevantes para o tratamento das emergências.
O sistema móvel desenvolvido pela Mobits se comunicará com o Sismove, desenvolvido no NCE/UFRJ, que ficará nas centrais do Samu.
Com o aplicativo móvel, as centrais do Samu poderão saber onde estão as ambulâncias e verificar se estão disponíveis, o que facilitará no tratamento de emergências o mais rápido possível. Além disso, as ambulâncias também poderão receber pelo celular as ocorrências e visualizá-las no mapa, agilizando o atendimento.