mai 5

 

Olá,

 

Saiu este mês a  nova publicação da revista Flash e Flex Developer Magazine com mais um artigo criado por mim.

O título do artigo é: Acessing iPhone Camera with AdobeAIR 2.6 and Flash.

O artigo criei ensina a criar uma aplicação para iPhone usando Flash/Flex e Adobe Air 2.6 onde você obtém um foto da câmera do telefone e exibe na tela do iPhone. Tudo isso para demonstrar as novas APIs que a Adobe lançou na versão 2.6 do Adobe Air para iPhone.

 

Link: http://ffdmag.com/magazine/1692-handling-iphone-stage-orientation-how-to-listen-for-handle-pan-gesture-events

mai 2

Olá,

 

Hoje irei mostrar uma forma bem simples de remover/atualizar o xCode no MAC.

1 – Abra o terminal.

2 – Vá para o diretório raiz:

cd /

3 – Execute o comando:

sudo Developer/Library/uninstall-devtools –mode=all

 

Após executar o comando #3, irá ocorrer uma série de processos de remoção de aplicativos associados ao xCode e afins.

Após estes processos terminarem, você verá um resultado parecido com este:

 

 

PRONTO! Já foi removido.

Se você vai instalar agora uma nova versão, recomendo reiniciar o  computador antes.

 

Abraços e fiquem com Deus.

mar 10

 

Olá,

Hoje vou deixar uma dica interessante para quem usa o FCKEditor.

As vezes precisamos pegar ou editar o texto do editor, mas o problema é que fica tudo dentro de um IFRAME, e fazer tudo manualmente é bem complexo.

Pensando nisso no FCKEditor existe uma API de acesso às funcionalidades do editor, e duas delas são exatamente estas, obter e alterar o conteúdo HTML.

Para obter o conteúdo do editor precisamos usar a seguinte função em javascript:

var editor = FCKeditorAPI.GetInstance(‘ID_DO_FCK_CRIADO‘);
conteudo = editor.GetHTML();
alert(conteudo);

 

 

Para alterar o conteúdo do editor precisamos usar a seguinte função em javascript:

var editor = FCKeditorAPI.GetInstance(‘ID_DO_FCK_CRIADO‘);
editor.SetHTML(‘mudei o conteúdo‘);

 

 

Obs: Você deve trocar o texto ID_DO_FCK_CRIADO, para o ID usado quando você criou o FCKEditor em sua página.

 

Um abraço a todos,

Fiquem com Deus.

fev 15

Falae pessoal,

Recentemente achei uma função bem útil no Arduino, chamada: map

Ela basicamente faz uma regra de 3 e te retorna o valor de X (na regra de três).
Funciona assim, exemplo:

// lê os dados qualquer da porta 0

int valor = analogRead(0);

// faz o mapeamento da faixa inicial e faixa final do valor 1 com a faixa inicial e faixa final do valor 2, através do valor passado no primeiro parâmetro

valor = map(valor, 0, 1023, 0, 255);

// escreve na porta 9 o valor gerado

analogWrite(9, valor);

Explicação detalhada:

Parâmetro 1:
É o valor que temos em mão, e que queremos que o mapeamento use como referência

Parâmetro 2:
Faixa inicial do “parâmetro 1″, ou seja, o menor valor possível para ele

Parâmetro 3:
Faixa final do “parâmetro 1″, ou seja, o maior valor possível para ele

Parâmetro 4:
Faixa inicial do valor a ser retornado em relação ao “parâmetro 2″, ou seja, o menor valor possível em relação ao “parâmetro 2″

Parâmetro 5:
Faixa final do valor a ser retornado em relação ao “parâmetro 3″, ou seja, o maior valor possível em relação ao “parâmetro 3″

Resumindo: O resultado desta função é um valor entre os “parâmetros 4 e 5″ em relação aos parâmetros “2 e 3″.

fev 2

Olá,

Recentemente tive a necessidade de criar templates customizados por cliente em minha aplicação usando o PlayFramework e pensei até que seria complicado ou impossível usando o Play. Cheguei a postar na lista oficial e tal, mas a solução que foi enviada não funcionou.

Depois de vários testes e pesquisar bastante consegui fazer tudo funcionar perfeitamente.

Vou explicar tendo em vista que você já tenha uma aplicação qualquer com o Play.

Passo 1 – Crie uma pasta chamada: “customers” na raiz da sua aplicação:

/myapp/customers

Passo 2 – Crie uma nova pasta com um nome qualquer (vou colocar “cliente1″) na pasta “customers”:

/myapp/customers/cliente1

Passo 3 – Crie uma nova pasta com o nome “app” dentro da pasta “cliente1″:

/myapp/customers/cliente1/app

Passo 4 –  Mova sua pasta “views” para a pasta “app”:

De: /myapp/app/views

Para: /myapp/customers/cliente1/app/views

Passo 5 –  Mova sua pasta “public” para a pasta “cliente1″:

De: /myapp/public

Para: /myapp/customers/cliente1/public

Passo 6 – Abra seu arquivo de configuração (application.conf) e adicione o seguinte módulo:

# TEMPLATE

# ~~~~~

module.customer=customers/cliente1

Passo 7 – Execute o clean e reinicie sua aplicação

> play clean

> play run

Este recurso é bem interessante, assim você pode criar as views e arquivos estáticos para cada cliente que você tenha ou no caso criar templates diferentes para sua aplicação.

nov 24

Olá,

Recentemente comecei a estudar o Gradle (http://www.gradle.org/) por ser uma ferramenta de build extremamente fácil de usar, mas poderosa por permitir a criação de tarefas de uma forma bem simples permitindo você fazer qualquer coisa que precisa, usando a simplicidade da linguagem Groovy.

É claro que também pode ser usado para outros fins e não somente build, mas podemos usar para fazer backup de banco de dados, cópia de arquivos, FTP, SSH, SCP, enviar email, deploy e tudo mais que precisar, o limite é sua imaginação.

Enfim, vamos ao que interessa. Eu estava com uma grande dificuldade de ficar executando uma BAT toda vez que precisava gerar uma aplicação para iPhone apartir de um projeto em Flash ou Flex. O próprio Flash possui esta opção, mas eu ficaria amarrado a ele toda vez que fosse gerar a aplicação para o iPhone, fora que eu não tenho esta opção para aplicações em Flash, então daria muito trabalho ter que manter um projeto em Flash configurado para suportar o projeto em Flash e tudo mais.

Foi ai que pensei em algo mais prático e como estava usando o Gradle já decidi criar uma TASK para ele que fizesse este trabalho para mim, apenas com um comando: gradle iphone_packager

Criei então a TASK e mais um arquivo de propriedades, de modo que você não precisa alterar a TASK, somente o arquivo de propriedades para cada projeto seu, e se futuramente você baixar uma nova versão da TASK ou quiser modificar, vai mudar um único arquivo.

Bom, segue então os dois arquivos necessários, e deverão ficar na pasta do seu projeto.

No meu caso ficou assim a estrutura do meu projeto com Gradle no FDT:

Lembrando que basta você configurar apartir do arquivo de propriedades apontando para os locais corretos do seu projeto, o que te da uma liberdade de colocar sua TASK onde preferir.

Arquivos(está configurado para o meu projeto com dados de teste, basta você alterar para o seu projeto):

1 – http://www.prsolucoes.com/downloads/gradle/iphone_packager/build.gradle

2 – http://www.prsolucoes.com/downloads/gradle/iphone_packager/gradle.properties

O packager do iPhone pede a lista de arquivos a serem colocados no arquivo a ser gerado(.IPA), então você coloca esta lista na configuração:

IPHONE_PACKAGER_FILE_OR_DIR

Basta você passar:

-C [pasta onde estão os arquivos] “ZombieTown.swf” “assets”

Obs: Não use a barra “\” no Windows, pois será interpretado como caracter de escape, use “/”, exemplo:

C:/workspace/projeto/arquivo.swf

Modo de uso (resumido):

- Instale o Gradle

- Baixar os arquivos de TASK acima

- Coloque ambos os arquivos na pasta do seu projeto Flash/Flex

- Edite o arquivo: gradle.properties colocando os caminhos de acordo com a instalação dos seus programas e do seu projeto

- Execute via linha de comando: gradle iphone_packager

jun 2

Olá,

Decidi fazer este tutorial por uma necessidade própria e que pode ajudar a algumas pessoas que estão começando também com o Maven:

Vou ter como base que o nome do meu projeto se chamará “nome_projeto” e que ficará na pasta “/home/[seu_usuario]/projetos”, então onde você achar esta string, basta trocar pelo nome do seu projeto, mas também pode ser feita qualquer outra alteração depois que você entender o conceito.

Não esqueça de trocar o [seu_usuario] pelo nome do seu usuário no Ubuntu, e no Windows basta informar o caminho normalmente, exemplo: “c:\workspace”.

No tutorial, estou usando ubuntu, mas funciona em qualquer computador com o maven e eclipse instalado.

Não vou cobrir a parte de instalação do Eclipse por ser bem básico, que é somente baixar o ZIP em eclipse.org e extrair para uma lugar qualquer.

O tempo para fazer este tutorial é de 3 minutos, apesar de ter bastante texto, é super simples, mas detalhei o clique de cada botão em cada processo para não surgir dúvidas.

Tópico 1: Instalando o Maven

- NO LINUX (Ubuntu)

http://www.mkyong.com/maven/how-to-install-maven-in-ubuntu/

- NO WINDOWS

http://wiki.indivohealth.org/index.php/Installing_and_Configuring_Maven_-_Windows

Em ambos é bem simples este passo, no Ubuntu você apenas usa o apt-get e no windows basta baixar o zip, adicionar no path e criar o repositório.

Tópico 2: Criação do projeto [nome_projeto]

>mkdir ~/projetos

>cd ~/projetos

>mvn archetype:create -DgroupId=br.com.dominio.nome_projeto -DartifactId=nome_projeto -DarchetypeArtifactId=maven-archetype-webapp

>cd nome_projeto

>mvn eclipse:clean

>mvn eclipse:eclipse

>mvn -Dwtpversion=2.0 compile eclipse:eclipse

Tópico 3: Importando projeto no Eclipse

3.1 – Abra o Eclipse

3.2 – Clique no menu FILE > IMPORT

3.3 – Selecione o item: Existing project into Workspace

3.4 – Informe o caminho onde a pasta do projeto foi criada, que no nosso exemplo é: /home/[seu_usuario]/projetos, que seria o nosso “~/projetos”, mas no eclipse precisa informar o caminho completo, pois o comando “~/projetos” só o terminal reconhece.

3.5 – Clique no botão FINISH

Tópico 4: Configurando no Eclipse, a variável do repositório do Maven

Ao importar o projeto, provavelmente aparecerá umas marcações de erro pois é preciso alterar os seguintes itens:

4.1 – Vá na opção “properties” do seu projeto (clique com o botão direito em cima do projeto)

4.2 – Menu: Java build path

4.3 – Aba: Libraries

4.4 – Clique no botão: Add variable

4.5 – Clique no botão: Configure variables

4.6 – Clique no botão: New

4.7 – Preencha os dados:

4.7.1 – Name: M2_REPO

4.7.2 – Path: /home/[seu_usuario]/.m2/repository  (no windows você informa a pasta onde você criou o repositório)

4.8 – Clique em OK para confirmar tudo e volte para a tela inicial do Eclipse

Tópico 5: Resolvendo problema de versão do Facet

5.1 – Na aba “Markers” do Eclipse terá um item em vermelho, clique na seta ao lado deste item para expandir

5.2 – Clique com o botão direito no subitem “Java compiler level does not match the version of the installed Java project facet”

5.3 – No menu que aparecer vá em “Quick fix” (ou control+1)

5.4 – Marque: “Change java project facet version to java 6″ e clique em “Finish”

Tópico 6: Finalizando

Pronto, agora basta adicionar o servidor de sua preferência e fazer o deploy nele e acessar pela url:

http://localhost:8080/nome_projeto

Espero ter ajudado. Em breve vou colocar os plugins de clean e copy-dependencies no Maven para facilitar mais ainda a vida de quem usa o Maven.