Java – Usando o SimpleDateFormat

Acredito que varias pessoas já tiveram problemas com o objeto Date, ou ajustar uma String de data com formato americano por exemplo.

O SimpleDateFormat é uma Classe bem simples de ser utilizada e totalmente útil para esse assunto. Com o SimpleDateFormat você pode definir seus próprios padrões de data, por exemplo, dd/mm/aaaa, dd/mm/aaaa, aaaa-mm-dd, e assim por diante. Os padrões de letras são definidas na imagem abaixo (todos os outros caracteres de ‘A’ a ‘Z’ e de ‘a’ a ‘z’ são reservados):

Tabela SimpleDateFormat

Abaixo  vamos mostrar um exemplo bem simples da utilização dessa Classe.
Continue reading

Fedora – Habilitar USB no VirtualBox

Sempre tive problemas ao habilitar o USB no VirtualBox, e acredito que todos que utilizam ele no Fedora ou qualquer outra distribuição Linux tem ou já teve esse problema. Para resolver é simples (depois que descobri como), basta adicionar seu usuário no grupo do vboxusers e editar o arquivo responsável por controlar as usb no VirtualBox informando o grupo e a permissão, veja como no tutorial abaixo:

Continue reading

Como configurar o RoboCode no Netbeans

O que é o RoboCode?

Robocode é um jogo de programação. Ele pode ser usado para ensinar ouaprender a programação em Java ou. NET. Ela pode servir como uma plataformapara explorar AI e técnicas de aprendizagem de máquina. Ou pode ser um hobby,competitiva viciante que consome todo o seu tempo e ciclos de CPU. (http://robowiki.net/wiki/Main_Page)

Download e outras informações: http://robocode.sourceforge.net/

Configurando para o Netbeans

Primeiramente vá em Tools > Libraries…
Continue reading

Banco de dados para Android

Banco de dados para android sqlite3

SQLite3

Um Banco de dados é muito útil para qualquer sistema de grande ou pequeno porte, a não ser que seu sistema lida apenas com dados simples, não utilizando de um banco para armazenar informações.

O Android usa o banco de dados SQLite que é open-source, o SQLite é muito utilizado em aplicações populares. Outros exemplo de quem utiliza o SQLite é Mozilla Firefox e iPhone.

No Android o banco de dados que você cria em uma aplicação só é acessível para si mesma, a não ser que você utiliza um provedor de conteúdo (assunto a ser discutido em outro post), uma vez criado o banco de dados, ele é armazenado no diretório “/data/data/{nome do pacote}/databases/{nome do banco}”, alem de gerenciar o banco por código você pode faze-lo pelo adb(clique para saber mais) utilizando a ferramenta sqlite3.

Exemplo:
Continue reading

Como funciona o SOAP – Protocolo Simples de Acesso a Objetos

SOAP

O que é SOAP?

SOAP significa Protocolo Simples de Acesso a Objetos, é um protocolo de comunicação baseado em XML que permite a comunicação de mensagens entre aplicações via HTTP, normalmente utilizado em WebServices.

Uma das grandes qualidades desse protocolo é sua independência de plataforma e linguagem além de ser simples e extensível por utilizar XML.

Continue reading

Android – Tocar Alarme com o MediaPlayer

Android Audio

MediaPlayer

A classe MediaPlayer pode ser usada para controlar a reprodução de áudio/vídeo ou stream.

Diagrama de Estado

O diagrama a seguir mostra o ciclo de vida e os estados de um objeto MediaPlayer impulsionado pelas operações de controle de reprodução.  As ovais representam os estados de um objeto MediaPlayer podem residir dentro. Os arcos representam as operações de controlo de reprodução que conduzem a transição de estado do objeto. Existem dois tipos de arcos. Os arcos com uma ponta de seta única são chamadas de métodos síncronos, enquanto que aqueles com uma ponta de seta dupla representa chamadas de método assíncrono.
Continue reading

AsyncTask – Executando tarefas em segundo plano.

Android AsyncTask

AsyncTask um Substituto de Threads e Handles

Como todo desenvolvedor Android sabe, é bem chato mexer com Threads, ainda mais quando há necessidade de atualizar a interface, para isso atualmente usamos a famosa ThreadUI ou Handler.

Pesquisando, encontrei uma maneira de trabalhar com essas Threads distintas facilmente utilizando a classe AsyncTask, com ela nos não precisamos nos preocupar com o tal de Handler. Nela executamos qualquer processo paralelamente e temos um método responsável por atualizar a interface.

Quando estendemos a AsyncTask ele nos obriga a definir três tipos de classes:

(defini esses tipos como exemplo)

Continue reading

Instalando o Skype no Fedora 16 64bits

Como não tem disponibilizado o Skype x64 para o fedora basta fazer um simples procedimento antes.

Instale as seguintes bibliotecas:

$> sudo yum -y install libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 pulseaudio-libs.i686 pulseaudio-libs-glib2.i686 alsa-plugins-pulseaudio.i686

Caso de esse erro:
Error: Protected multilib versions: 1:qt-x11-4.8.2-2.fc17.i686 != 1:qt-x11-4.8.1-10.fc17.x86_64
Error: Protected multilib versions: 1:qt-4.8.2-2.fc17.i686 != 1:qt-4.8.1-10.fc17.x86_64

Retire da linha de comando acima  o “qt.i686″ e tente novamente.

Após instalado. Instale o Skype do site oficial. O arquivo já é RPM:

http://www.skype.com/intl/pt-br/get-skype/on-your-computer/linux/downloading.fedora

Android – Verificar serviços em execução

Os serviços são executados em segundo plano por tempo indeterminado , geralmente eles tem um alto consumo de recursos, memoria e CPU. Não há interação com o usuário e não precisa de interface gráfica.

Eles podem ser utilizados para fazer download de alguma informação, fazer verificações no sistema, um reprodutor de MP3 entre outros processos demorados sem que o usuário perceba.

Atravez deste método o sistema verifica os serviços que estão rodando:

   public boolean isServiceRunning(String servicoClassName) {
        ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        List<RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE);
        Log.d(TAG,"Procurando Serviços");
        for (int i = 0; i < services.size(); i++) {
            Log.d(TAG,"Service Nr. " + i + " class name : " + services.get(i).service.getClassName());
	    if(services.get(i).service.getClassName().compareTo(servicoClassName)==0){
	    	return true;
	    }
        }
        return false;
    }

Fonte imagem: http://images.mylot.com/userImages/images/postphotos/2521292.jpg