RSS

Arquivo da categoria: Aplicações móveis

Validar dígito verificador CNPJ

JAVA – Framework TotalCross:

1º – Chamada ao método e conferência:

// Cnpj passado sem os dois últimos dígitos. No método calcDigVerifCnpj() os caracteres especiais são removidos. Ex:12.345.678/0001-
String digitoVerificador = calcDigVerifCnpj(edtCgcCpf.getText().substring(0, edtCgcCpf.getText().length() - 2));

if(!digitoVerificador.equals(edtCgcCpf.getText().substring(16)))
  System.out.println("Dígito verificador do CNPJ inválido");

2º – Método que calcula o dígito verificador do CNPJ:

public String calcDigVerifCnpj(String cnpj) {  
		
   cnpj = formataRemocaoCaracteresEspeciais(cnpj);
		
   int[] arrNum = new int[]{5,4,3,2,9,8,7,6,5,4,3,2};
		
   int soma = 0, divisao = 11, primDig = 0, segDig = 0;  
   for (int i = 0; i < arrNum.length; i++)
      soma += arrNum[i] * Integer.parseInt(cnpj.substring(i, i+1));
        
   primDig = (soma % divisao);
        
   if(primDig < 2)
      primDig = 0;
   else
      primDig = (11 - primDig);
        	
   cnpj += primDig;
        
   arrNum = new int[]{6,5,4,3,2,9,8,7,6,5,4,3,2};
   soma = 0;
   for (int j = 0; j < arrNum.length; j++)
      soma += arrNum[j] * Integer.parseInt(cnpj.substring(j, j+1));
        
   segDig = (soma % divisao);
        
   if(segDig < 2)
      segDig = 0;
   else
      segDig = (11 - segDig);
        
   return ""+primDig + segDig;  
}

3º – Remoção dos caracteres especiais:

public String formataRemocaoCaracteresEspeciais(String valor){

   if (valor.indexOf(",") != -1 || valor.indexOf(".") != -1 || valor.indexOf("-") != -1 || valor.indexOf("/") != -1) {

      StringBuffer valorAux = new StringBuffer();
      for (int i = 0; i < valor.length(); i++)
         if ((valor.charAt(i) != ',') && (valor.charAt(i) != '.') && (valor.charAt(i) != '-') && (valor.charAt(i) != '/'))
            valorAux.append(valor.charAt(i));

      valor = valorAux.toString();
  }      
  return valor;
}

 
Leave a comment

Publicado por em 20 julho 2011 em Métodos - formatações

 

Validar dígito verificador CPF

JAVA – Framework TotalCross:

1º – Chamada ao método e conferência:

// Cpf passado sem os dois últimos dígitos. No método calcDigVerifCpf() os caracteres especiais são removidos. Ex:123.456.789-
String digitoVerificador = calcDigVerifCpf(edtCgcCpf.getText().substring(0, edtCgcCpf.getText().length() - 2));

if(!digitoVerificador.equals(edtCgcCpf.getText().substring(12)))
  System.out.println("Dígito verificador do CPF inválido");

2º – Método que calcula o dígito verificador do CPF:

public String calcDigVerifCpf(String cpf) {

   cpf = formataRemocaoCaracteresEspeciais(cpf);

   int soma = 0, divisao = 11, primDig = 0, segDig = 0;
   for (int i = 1; i <= 9; i++)
      soma += i * Integer.parseInt(cpf.substring(i-1, i));

   primDig = (soma % divisao);

   if(primDig == 10)
      primDig = 0;

   cpf += primDig;

   soma = 0;
   for (int j = 0; j <= 9; j++)
      soma += j * Integer.parseInt(cpf.substring(j, j+1));

   segDig = (soma % divisao);

   if(segDig == 10)
      segDig = 0;

   return ""+primDig + segDig;
}

3º – Remoção dos caracteres especiais:

public String formataRemocaoCaracteresEspeciais(String valor){

   if (valor.indexOf(",") != -1 || valor.indexOf(".") != -1 || valor.indexOf("-") != -1 || valor.indexOf("/") != -1) {

      StringBuffer valorAux = new StringBuffer();
      for (int i = 0; i < valor.length(); i++)
         if ((valor.charAt(i) != ',') && (valor.charAt(i) != '.') && (valor.charAt(i) != '-') && (valor.charAt(i) != '/'))
            valorAux.append(valor.charAt(i));

      valor = valorAux.toString();
  }      
  return valor;
}

 
Leave a comment

Publicado por em 20 julho 2011 em Métodos - formatações

 

Formatar moeda real

// Converte um valor string sem pontuações para moeda real
public String formataMoeda(String valor){
  try {
    BigDecimal bigValor = new BigDecimal(valor).setScale(2, BigDecimal.ROUND_HALF_DOWN);
			
    int pos = -1;
    if((pos = bigValor.toString().indexOf(".")) > 0)
      bigValor = new BigDecimal( bigValor.toString().substring(0, pos) + bigValor.toString().substring(pos + 1));
      //bigValor = new BigDecimal(bigValor.toString().replace(".", ""));
			
    String vlrConvert = bigValor.toString();
			
    // Valor negativo. Remove o sinal e atribui ao final
    String antes = "";
    if (vlrConvert.charAt(0) == '-'){
      antes = "-";
      vlrConvert = vlrConvert.substring(1);
    }
		
    if(vlrConvert.length() < 3)
      vlrConvert = preencheString(vlrConvert, 3, '0', true);
		
    String centavos = vlrConvert.substring(vlrConvert.length() - 2);
    vlrConvert = vlrConvert.substring(0, vlrConvert.length() - 2);
			
    String aux = "";
    while (vlrConvert.length() > 0){
      if(vlrConvert.length() > 3){
        aux = "."+vlrConvert.substring(vlrConvert.length() -3) + aux;
	vlrConvert = vlrConvert.substring(0, vlrConvert.length() -3);
      }else{
	aux = vlrConvert + aux;
	vlrConvert = "";
      }
    }
			
    return antes + aux + "," + centavos;
  } catch (InvalidNumberException e) {
    return "";
  }
}

 
Leave a comment

Publicado por em 15 abril 2011 em Métodos - formatações

 

Preenchimento de string

// Preencher string com tamanho e caracter desejado, antes ou depois do conteúdo existente.
public String preencheString(String text, int size, char caracter, boolean before) {
  if (text == null)
    text = "";
  else if(text.length() > size )
    return text.substring(0, size);

  StringBuffer strBufferReduzida = new StringBuffer();

  // Completa com o caracter passado a string até o tamanho indicado
  while (strBufferReduzida.length() + text.length() < size)
    strBufferReduzida.append(caracter);

    if (before)
      return strBufferReduzida.append(text).toString();
    else
      return text.concat(strBufferReduzida.toString());
}

 
Leave a comment

Publicado por em 15 abril 2011 em Métodos - formatações

 

Formatar CPF / CGC

JAVA – Framework TotalCross:

edtCgcCpf.setValidChars(Edit.numbersSet);
edtCgcCpf.addKeyListener(new KeyListener(){
     public void actionkeyPressed(KeyEvent arg0) {
     }
     public void keyPressed(KeyEvent arg0) {
          if (edtCgcCpf.getCursorPos()[0] == -1)
	       edtCgcCpf.setCursorPos(edtCgcCpf.getText().length() + 1, edtCgcCpf.getText().length() + 1);
	  }
     public void specialkeyPressed(KeyEvent arg0) {
          if (edtCgcCpf.getCursorPos()[0] == -1)
	       edtCgcCpf.setCursorPos(edtCgcCpf.getText().length(), edtCgcCpf.getText().length());
	  }
});

EventType.ControlEvent.FOCUS_OUT:{

     if(!edtCgcCpf.getText().equals(""))
          edtCgcCpf.setText(formataCgcCpf(edtCgcCpf.getText()));

}

public String formataCgcCpf(String cgcCpf){
     cgcCpf = formataRemocaoCaracteresEspeciais(cgcCpf);
     int size = cgcCpf.length();

     String aux = "";
     int ctrl = 0;
     if(size > 11){
          while(cgcCpf.length() > 0){
	       if(ctrl == 0){
	            aux += cgcCpf.substring(0, 2) + ".";
		    cgcCpf = cgcCpf.substring(2, cgcCpf.length());
		    ctrl = 1;
	       }else{
	            if(cgcCpf.length() > 3){
		         aux += cgcCpf.substring(0, 3) + ".";
			 cgcCpf = cgcCpf.substring(3, cgcCpf.length());
		    }else{
		 	 aux += cgcCpf;
			 cgcCpf = "";
		    }
	       }
	  }
     }else{
          while(cgcCpf.length() > 0){
	       if(cgcCpf.length() > 3){
	            aux += cgcCpf.substring(0, 3) + ".";
		    cgcCpf = cgcCpf.substring(3, cgcCpf.length());
	       }else{
		    aux += cgcCpf;
		    cgcCpf = "";
	       }
	  }
     }

     if((size > 10) && (ctrl == 0))
          return aux.substring(0, 11) + "-" + aux.substring(12);
     else if((size < 12) && (ctrl == 1))
	  return aux.substring(0, 10) + "/" + aux.substring(11);
     else if((size < 13) && (ctrl == 1))
          return aux.substring(0, 10) + "/" + aux.substring(11, 14) + aux.substring(15);
     else if((size > 12) && (ctrl == 1)){
          if(size > 14)
	       return aux.substring(0, 10) + "/" + aux.substring(11, 14) + aux.substring(15, 16) + "-" + aux.substring(16, 18);
	  else
	       return aux.substring(0, 10) + "/" + aux.substring(11, 14) + aux.substring(15, 16) + "-" + aux.substring(16);
     }
     else
          return aux;
}

public String formataRemocaoCaracteresEspeciais(String valor){
     if (valor.indexOf(",") != -1 || valor.indexOf(".") != -1 || valor.indexOf("-") != -1 || valor.indexOf("/") != -1) {
          StringBuffer valorAux = new StringBuffer();
	  for (int i = 0; i < valor.length(); i++)
	       if ((valor.charAt(i) != ',') && (valor.charAt(i) != '.') && (valor.charAt(i) != '-') && (valor.charAt(i) != '/'))
	            valorAux.append(valor.charAt(i));

	  valor = valorAux.toString();
     }
     return valor;
}

 
Leave a comment

Publicado por em 15 abril 2011 em Métodos - formatações

 

Emulador para windows mobile 6.5

Buenas, como nosso mundo móvel vive de upgrades, lanço este post para apresentar o emulador para Windows Mobile 6.5.

Para aqueles que vinham utilizando da versão anterior, o emulador Windows Mobile 6.0, sabe da importância do mesmo para testar aplicações antes de realmente reportar ao dispositivo móvel. Este novo emulador consiste em atender uma gama de resoluções diferentes da versão anterior e claro relembrando, possibilita interagir com a nova interface, conhecendo-a e tornando-a amigável.

As resoluções estão disponíveis em duas versões distintas: Standard e Professional.

No emulador windows mobile 6.5 professional prevê as resoluções QVGA (mais comum em PDAs touch-screen), VGA (HTC Diamond), WQVGA (Samsung Omnia), WVGA (HTC Touch HD e Diamond II) e equipamentos com ecrã quadrado, enquanto a versão Standard prevê a variante clássica e a mais recente QVGA (Samsung i600, Motorola Q9, etc).

Infelizmente ainda não temos a versão do emulador em português, mas creio que em breve será disponibilizada e assim que souber disponibilizo o link para download.

Standard – Não necessitei instalar.

  • Samsung i600 (240×320 pixels);
  • Motorola Q9 (320×240 pixels);
  • Etc…

Professional – Inclui cinco tipos diferentes de resoluções.

  • Windows Mobile 6.5 Professional Square (320×320 pixels);
  • Windows Mobile 6.5 Professional VGA (480×640 pixels);
  • Windows Mobile 6.5 Professional WQVGA (240×400 pixels);
  • Windows Mobile 6.5 Professional WVGA (480×800 pixels);
  • Windows Mobile 6.5 Professional (240×320 pixels);

No meu caso tinha a versão anterior instalada na máquina, windows mobile 6.0. Desta forma apenas alguns pacotes foram agregados ao diretório e o acesso ao emulador permaneceu o mesmo, mas também podendo manipular através do Device Emulator Manager.

Estou buscando como habilitar a rede, não obtive sucesso. Conseguindo apresento aqui.

Caso ache necessário, visualize este vídeo demonstrativo:
http://www.youtube.com/watch?v=5M2W2MJ_ReQ

Fontes:

http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e

http://msmvps.com/blogs/albertosilva/archive/2009/06/04/windows-mobile-6-5-emulador-j-225-dispon-237-vel.aspx

 
Leave a comment

Publicado por em 6 outubro 2010 em Emulador windows mobile

 

Tags: ,

Blackberry como modem

Neste tópico esta explícito como proceder para obter acesso a internet no seu notebook ou desktop através da conexão 3G do aparelho blackberry.

Para tanto proceda com os seguintes passos:

  1. Configurar as opções de telefone e modem (ponto de acesso).
  2. Configurar a conexão de rede.
  3. Conectar-se a internet através da conexão de rede ou mapeá-la no software do blackberry (Desktop Manager) versão 4.2 ou superior e conectar.
  • Configurando opções de telefone e modem – Ponto de Acesso [ S.O. XP ]:

- Acessar “Menu Iniciar” – “Configurações” – “Painel de Controle”.
- Acessar “Opções de Telefone e Modem”.
- Na janela de “Opções de Telefone e Modem”, acessar aba “Modems”.
- Selecione “Modem Padrão” e clique no botão “Propriedades”.
- Na janela de propriedades do Modem Padrão, acessar a aba “Avançadas”.
- No campo “Comandos Adicionais de Inicialização” digitar o seguinte comando:

+cgdcont=1,”ip”,”???.com.br” ( ??.com.br – especificar conforme operadora )

Ex: Operadoras:

TIM   = +cgdcont=1,”ip”,”tim.br”
Claro = +cgdcont=1, “ip”, “claro.com.br”
Vivo  = +cgdcont=1, “ip”, “zap.vivo.com.br”

- Clique no botão OK.
- E por fim na janela “Opções de Telefone e Modem”, clique no botão OK.

  • Configurando a conexão de rede [ S.O. XP ]:

- Acessar “Menu Iniciar” – “Configurações” – “Painel de Controle”.
- Acessar “Conexões de Rede” – “Criar nova conexão” (Vista: “Centro de rede e compartilhamento”).
- Clique no botão “Avançar”.
- Selecione a opção “Conectar-me a Internet”. Clique no botão “Avançar”.
- Selecione a opção “Configurar minha conexão manualmente”. Clique no botão “Avançar”.
- Selecione a opção “Conectar-me usando um modem dial-up”. Clique no botão “Avançar”.
- Se surgir tela para selecionar conexão, escolha a opção Modem Padrão.
- No campo “nome do provedor” atribuir nome para conexão (Sugestão: BlackBerry)
- No campo “número do telefone”, digite *99# (ou número fornecido pela operadora).
- Clique no botão “Avançar”.
- Informe usuários que terão acesso a nova conexão. Clique no botão “Avançar”.
- Informe login e senha do seu provedor de serviço (de acordo operadora).

Ex: Operadoras:

Claro: usr: claro pwd: claro
Vivo : usr: vivo  pwd: vivo

- Clique no botão “Avançar”.
- Clique no botão “Concluir”.

- Na conexão que você criou, clique com o botão direito e acesse “Propriedades”.
- Observe e informe a opção “Modem Padrão”, clique no botão “Configurar”.
- Observe e desabilite a opção “Ativar o controle de fluxo por hardware”, caso as demais estejam habilitadas, desabilite-as. Clique no botão “OK”.

Feito estes procedimentos, efetue conexão. Clicando sobre a sua conexão gerada com o botão direito e conectar. Caso preferir utilize o software do BlackBerry (Desktop Manager) e acesse a opção de conexões mapeie a sua conexão criada no software e é só conectar.

Pronto, seu desktop estará acessando a internet através da conexão 3G do seu BlackBerry.

Lembre-se de deixar unicamente habilitado no seu aparelho a conexão 3G.

Caso ainda restar dúvidas a respeito do assunto abordado acima, sugiro que veja este vídeo especificado abaixo:

Configurando BlackBerry como Modem

 
Leave a comment

Publicado por em 6 abril 2010 em Blackberry como modem

 

Tags:

Integração entre java plataform micro edition SDK 3.0 e emulador windows mobile

A fim de facilitar a compreensão do funcionamento das ferramentas “JME SDK 3.0” e “Emulador WM”, descrevo resumidamente os procedimentos que foram necessários para rodar uma aplicação feita em J2ME com foco inicial ao sistema PalmOS, mas que atualmente necessitou ser adaptado ao sistema WM 6.0.

Bom …, partindo do princípio que a JME SDK 3.0 e o Emulador WM, ambos estejam instalados no PC, prosseguimos, caso contrário, veja ambos os tópicos antes de prosseguir. Após, execute ambas as ferramentas.

No emulador, acesse:

  1. file.
  2. Configure …
  3. Aba General ….  ao final você deve configurar as seguintes informações:
  • Host Key:    Right Alt
  • Func Key:    193
  • Shared Folder:    c:\Java_ME_Plataform_SDK_3.0\on-device\WinMobile-orm

Sendo o “Shared Folder”, responsável pelo mapeamento do diretório onde encontra-se o arquivo que desejamos instalar no emulador. No caminho acima especificado, se instalado, o default da JME SDK 3.0, você encontrará a máquina virtual que acompanha a ferramenta, caso contrário, localize o diretório correspondente. Bom, após mapearmos, vamos a instalação da mesma no emulador.

Acesse no menu do emulador:

  1. Start.
  2. Programas.
  3. Gerenciador de Arquivos.
  4. Storage Card.
  5. sun_java_cldc_emu.cab

Agora localizada basta efetuar a instalação. Todo arquivo que for mapeado no Shared Folder, pode-se ser encontrado no Storage Card do Emulador, para assim proceder com a instalação.

Após ter instalado a VM no emulador, acesse o JME SDK 3.0, siga os seguintes passos:

  1. Abra seu projeto.
  2. Clique sobre ele com o botão direito.
  3. Acesse as propriedades.
  4. Opção Plataform.
  5. Opção device.

Deve ter aparecido automaticamente “CldcWinceEmu1”, basicamente ao selecioná-lo, as configurações pré-definidas são mapeadas, bastando agora apenas compilar seu projeto, gerando os arquivos .jar e .jad.

Para obter o perfeito funcionamento da minha aplicação, tive de instalar e rodar a partir de uma VM diferente da pré-instalada, da que é oferecida pelo fabricante, a “Midlet Manager”. Foi necessário a instalação da “Weme”, na qual disponibilizo o link abaixo, onde pode ser feito o download.

     Site para Downoad – Máquina Virtual - Weme     

 Após instalada, basta acessar na VM:

  1. Weme.
  2. Bin.
  3. Emulador.

No meu caso, utilizei a versão Weme – Cldc 1.1 e MIDP 2.0. Seguindo estes procedimentos tive sucesso na execução da minha aplicação.

Ainda necessitei que o emulador tivesse acesso a rede, portanto para que isto funcionasse precisei instalar o virtual PC 2007, criei uma base, mas não instalei outro sistema operacional e  a rede passou a funcionar. Caso seja preciso disponibilizo o link abaixo, onde pode ser feito o download e também um tutorial.

     Site para Download – Virtual PC 2007

     Tutorial para Instalação – Virtual PC 2007

Utilizei um tutorial que foi crucial para compreender a integração entre estas ferramentas. Como ele tem ilustrações sobre os procedimentos descritos aqui neste tópico, disponibilizo para que possa ser utilizado em paralelo, ou para esclarecer algum ponto que eu possa ter me esquecido de comentar.

     Tutorial de Integração entre JME SDK 3.0 & Emulador WM 6

 
Leave a comment

Publicado por em 24 dezembro 2009 em J2ME SDK 3.0 e emulador WM

 

Tags: , , ,

Emulador para windows mobile 6

Este emulador foi de grande valia para o desenvolvimento de aplicações J2ME para Windows Mobile 6.0, utilizando a ferramenta da SUN SDK 3.0. Abaixo, descrevo rapidamente sobre alguns benefícios de utilizar o emulador e disponibilizo link para aprofundar os conhechimentos e caso desejar efetuar o download.

Este emulador consiste em emular o sistema operacional do Windows Mobile 6.0, permitindo efetuar testes em aplicações e/ou conhecer o funcionamento do sistema operacional.

Este emulador ainda agrega o Cellular Emulator, que permite simular conexões GPRS e testar aplicações que acessam dados on-line e/ou WebServices.

O Windows Mobile 6 Emulator está disponível em diversos idiomas, e em duas versões diferentes:

Standard – Inclui três tipos diferentes de emulatores

  • Windows Mobile 6 Standard (176×220 pixels – 96 dpi);
  • Windows Mobile 6 Standard Landscape QVGA (240×320 pixels – 131 dpi);
  • Windows Mobile 6 Standard QVGA (320×240 pixels – 131 dpi)

Professional – Inclui seis tipos diferentes de emulatores.

  • Windows Mobile 6 Classic (240×320 pixels – 96 dpi);
  • Windows Mobile 6 Professional (240×320 pixels – 96 dpi);
  • Windows Mobile 6 Professional Square (240×240 pixels – 96 dpi);
  • Windows Mobile 6 Professional Square QVGA (320×320 pixels – 128 dpi);
  • Windows Mobile 6 Professional Square VGA (480×480 pixels – 192 dpi);
  • Windows Mobile 6 Professional VGA (480×640 pixels – 192 dpi)

No link especificado na fonte abaixo é possível encontrar mais detalhes a respeito da ferramenta e você encontra link’s para download em diferentes linguagens e versões.

Fonte:
http://www.pdaexpert.net/downloads/windows-mobile/windows-mobile-6-emulator-localized-images/

 
Leave a comment

Publicado por em 11 dezembro 2009 em Emulador windows mobile

 

Tags: ,

Java platform micro edition software development kit 3.0

A SUN acaba de lançar uma nova plataforma de desenvolvimento, denominada J2ME SDK 3.0, que visa ser o sucessor do java Wireless Toolkit 2.5.2, esta nova plataforma integra CLDC, CDC e Blu-ray Disc Java (BD-J), todos num mesmo SDK.

Alguns itens que agregam esta nova versão podem ser vistos abaixo:

  • Integração com emuladores de terceiros e dispositivos com Windows Mobile;
  • Simplificação no processo de deploy em dispositivos reais;
  • Integração do CDLC/MIDP, CDC/FP/PBP/AGUI e BD-J todos em um único SDK;
  • Nova máquina virtual HotSpot CLDC, em substituição à antiga KVM;
  • MSA 1.1 otimizado e com extensões;
  • Suporte a profiling;
  • Suporte a BD-J;
  • Novo ambiente de desenvolvimento baseado na plataforma Netbeans;
  • Integração com Lightweight UI Toolkit (LWUIT);
  • Pesquisa por especificações técnicas de dispositivos integrado no SDK;

Esta plataforma conta com um ambiente de desenvolvimento integrado baseado no NetBeans, isto faz com que novos desenvolvedores tenham mais facilidades para criar as suas primeiras aplicações, o que garante uma maior chance de crescimento da comunidade Java ME.

A conhecida máquina virtual da Java ME, a Kilo Virtual Machine (KVM), encerra por aqui sua atividades e abre espaço para a CLDC HotSpot Virtual Machine, inclusive para a configuração CDC. A CLDC HotSpot Virtual Machine, conta com uma compilação dinâmica das instruções de bytecode em instruções nativas “Compilação Just-in-time (JIT)” com menor consumo e fragmentação de memória, maior economia da bateria, dentre outras.

A CLDC HotSpot Virtual Machine, esta disponível juntamente com a plataforma, e pode ser encontrada após a instalação no seguinte endereço: [ No meu caso o diretório raiz: C ]

C:\Java_ME_platform_SDK_3.0\on-device\winmobile-arm\sun-java-cldc-emu.cab

Abaixo disponibilizei dois link’s, ambos permitem efetuar o download da ferramenta, porém o primeiro permite analizar melhor a ferramenta e ver seus pré-requisitos, caso já os conheça, pode utilizar o segundo link, que direciona direto para o download.

Este tópico visou apresentar apenas uma prévia sobre a ferramenta, caso tenha interesse em aprofundar seus conhecimentos, por favor acesse os link’s especificados nas fontes abaixo.

Fontes:
http://java.sun.com/javame/downloads/sdk30.jsp
http://www.javamovel.com/2009/06/java-platform-me-sdk-30-o-sucessor-do.html

 
Leave a comment

Publicado por em 10 dezembro 2009 em J2ME - SDK 3.0

 

Tags: , ,

 
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.