JAVA/Linux – Configurando JDK no linux – Adicionando JAVA no PATH

java_linux

Faça o Download do JAVA JDK:

http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html

Extraia o arquivo baixado para sua pasta de preferência (exemplo: /opt/java_xxxx)

Opcional: Por costume e em caso de atualização do java, para não precisar mudar minhas configurações eu crio um link simbólico para referenciar a ultima versão do java:

$ ln -s /opt/java_xxxx /opt/java_jdk/

Para configurar o PATH, JAVA_HOME, CLASSPATH e MANPATH edite o arquivo:

$ sudo gedit /etc/profile

Adicione as seguintes linhas no topo do arquivo:

#JAVA
export JAVA_HOME=/opt/java_jdk
export CLASSPATH="$JAVA_HOME/lib"
export PATH="$PATH":"$JAVA_HOME/bin"
export MANPATH=/usr/local/man:/usr/man:"$JAVA_HOME/man"

Java – Como Retornar o ID do registro inserido de uma tabela (Get Autoincrement value after INSERT query in MySQL)

O método abaixo fica responsável em retornar o id autoincrement do registro inserido de uma tabela:

.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
  if (stm.executeUpdate() > 0) {
     ResultSet rs = stm.getGeneratedKeys();
     if (rs.next()) {
        return rs.getInt(1);
     }
}

Android / Java – Como calcular distância entre dois pontos GPS

Android-Apps-GPS-Location-Tmobile-G1

Segue o método responsável pelo calculo, basta passar as duas coordenadas, latitude e longitude origem e destino. O retorno será em metros.

private double calculaDistancia(double lat1, double lng1, double lat2, double lng2) {
	//double earthRadius = 3958.75;//miles
	double earthRadius = 6371;//kilometers
	double dLat = Math.toRadians(lat2 - lat1);
	double dLng = Math.toRadians(lng2 - lng1);
	double sindLat = Math.sin(dLat / 2);
	double sindLng = Math.sin(dLng / 2);
	double a = Math.pow(sindLat, 2) + Math.pow(sindLng, 2)
			* Math.cos(Math.toRadians(lat1))
			* Math.cos(Math.toRadians(lat2));
	double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
	double dist = earthRadius * c;

	return dist * 1000; //em metros
}

Java – Problemas na execução de procedure (java.sql.SQLException: Parameter number X is not an OUT parameter)

java linux tux
- Problemas ao executar procedure no Java.
- Parameter number x is not an OUT parameter.
- Java procedure execute registerOutParameter

Atualmente me ocorreu um erro ao executar uma procedure com retorno, abaixo segue como foi realizado a chamada:

String sqlString = "{CALL pr_teste(?,?)}";

CallableStatement sqlStm = connection.prepareCall(sqlString);

sqlStm.setString(1, usuario);
sqlStm.registerOutParameter(2, Types.INTEGER);
sqlStm.execute();

O erro que retornou no printstack foi:

java.sql.SQLException: Parameter number 2 is not an OUT parameter
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
    at com.mysql.jdbc.CallableStatement.checkIsOutputParam(CallableStatement.java:690)
    at com.mysql.jdbc.CallableStatement.registerOutParameter(CallableStatement.java:1881)
    at com.mysql.jdbc.CallableStatement.registerOutParameter(CallableStatement.java:1890)
    at com.isb.igt.database.StoredProcedures.preparationCalls(StoredProcedures.java:40)
    at com.isb.igt.database.StoredProcedures.main(StoredProcedures.java:236)

A procedure implementada foi definida da seguinte maneira: Continue reading

Eclipse – Como configurar o atalho CTRL+TAB para navegar entre tabs

eclipse_ctrl+tab+atalho

Bem vindo ao Eclipse, pera aí… Ctrl+TAB não funciona? como vou navegar entre as tabs? (decepção total). No Eclipse esse atalho é chamado de Next Editor, é dado pela combinação das teclas ctrl+f6. Para alterarmos vamos realizar os procedimentos abaixo:

  • Acesse a opção Window na barra de menu e escolhaPreferences;
  • Depois abra a opção General e selecione Keys;
  • Em uma pequena caixa de texto abaixo da combobox de seleção de Scheme, substitua ‘type filter text’ por ‘Next Editor’;
  • Selecione a opção mostrada na lista de resultados (Next Editor);
  • Logo abaixo, na caixa de texto Bindings, apague a combinação pré-existente (Ctrl+F6) e execute a combinação de teclas desejada (suponho que seja ‘Ctrl+Tab’);
  • Você também pode querer alterar a combinação para voltar à aba anterior, para tal, opós modificar a configuração para ‘Next Editor’, escreva ‘Previous Editor’ na caixa de texto de procura;
  • Novamente selecione o resultado na lista e substitua a combinação de teclas apresentada por uma de sua preferência (eu sugiro ‘Ctrl+Shift+Tab’);
  • Depois de tudo configurado, clique sobre o botão Apply e depois em OK;

Fonte: http://goo.gl/r0NsvV

Java – Conversão de base numérica (Binário / Decimal / Octal / Hexa)

conversao base

Conversão de base numérica é o nome dado à passagem de um valor de uma base para outra mantendo o valor quantitativo, mas alterando a simbologia para se adequar a nova base. (Conversão de base numérica – Wikipedia).

Nos exemplos abaixo, vamos demostrar como converter as bases programaticamente utilizando o Java: Continue reading

Java / Android – Remover acentos de uma String

acentos

Remover acentos de uma String
Java Removendo acentuação
Como remover acentos de uma String
Normalize String
Java remover acentuação
String remover acentuação

Resultado:

run:
a c guilherme biff a a a a u helpdev

Linux – Executar jar na inicialização do sistema. Jar como serviço. (How to make a jar file run on startup)

java linux tux

Uma maneira fácil de se fazer isso é utilizar o SysVInit.

1 – Você deve criar um script de start e stop para sua aplicação. No exemplo vamos utilizar o diretorio /opt/:

Start Script: /opt/server/myapp-start.sh
Stop Script: /opt/server/myapp-stop.sh

Cada arquivo dará as instruções necessárias para executar e parar o aplicativo.
O conteudo é bem simples, exemplo de como ligar:

#!/bin/bash

java -jar /opt/server/myapp.jar

Para parar, pode ser algo como:

#!/bin/bash
# Grabs and kill a process from the pidlist that has the word myapp

pid=`ps aux | grep myapp | awk '{print $2}'`
kill -9 $pid

2 – Crie um script ‘myscript’ e coloque-o em /etc/init.d.

‘/etc/init.d/myscript’ conteudo: Continue reading

Android + Servlet – Como criar um Servlet para tráfego de objetos com o Android

comunicacao

“Servlet (servidorzinho em tradução livre) é um componente como um servidor, que gera dados HTML e XML para a camada de apresentação de uma aplicação Web. É basicamente uma classe na linguagem de programação Java que dinamicamente processa requisições e respostas, proporcionando dessa maneira novos recursos aos servidores. A definição mais usada considera-os extensões de servidores. Servlet é um módulo que estende a funcionalidade de um servidor Web, através de módulos de aplicação implementados em Java.” (Wikipédia)

O objetivo desse post é mostrar como criar um Servlet para se comunicar via objetos com um cliente Android. No exemplo vou utilizar o NetBeans 7.3 com Glassfish e o Android com uma maquina virtual 4.2.2. O objetivo deste post não é explicar toda estrutura do Servlet, mas sim explicar a criação de um projeto simples que receba um objeto e retorne outro.

Vamos iniciar com a criação do Servlet: Continue reading