 |
Postado por: Neto Leal em:
Flash
,
Nerd stuffs
,
WebDevelopment
Que o Flickr é bom, todo mundo sabe. Mas poucos imaginam o quanto ele pode oferecer aos desenvolvedores. Um recurso interessante é o uso de sua API para acesso a partir de aplicações externas ao Flickr. Eu já comentei aqui que tinha criado minha própria API para isso. Mas acabei voltando atrás e refiz todo o mural usando uma API já pronta criada por Kelvin Luck. As classes criadas por ele são completas. Com elas é possível não só ler informações a partir do Flickr, mas também ter acesso a TODOS os recursos de lá como se você estivesse navegando dentro do proprio Flickr.
Como nunca mais tinha escrito nenhum post técnico aqui, resolvi fazer um exemplo simples para quem estiver interessado em iniciar uma aplicação do gênero em Flash possa ter seus passos iniciais facilitados.
O primeiro passo para você que quer desenvolver sua "Flash-Flickr-Application" é criar um cadastro no Flickr. Pra isso acesse www.flickr.com. Se você já tiver uma ID do Yahoo nem precisará preencher formulários. Depois entre em www.flickr.com/services e solicite uma APIKey. Vão te fornecer uma senha bem grande para você usar para acessar a API do Flickr remotamente.
O segundo passo é ler a documentação e registrar seu domínio no site do Flickr. Isso pode ser feito acessando www.flickr.com/services. Como já deve ser de conhecimento de todos, o FlashPlayer 8 não permite que sejam acessados documentos diretamente fora do servidor onde o arquivo SWF está hospedado. Isso significa que se você estiver rodando localmente um swf e tentar uma ação do tipo " meuMovieClip.loadMovie('http://static.flickr.com/42/84392637_5474d426a7_m.jpg')" a imagem será carregada normalmente. Porém se você hospedar esse mesmo SWF em um servidor web, não irá funcionar por uma questão de segurança do Flash Player. É por isso que o registo do seu domínio é importante.
Terceiro passo: vá até o site do Kelvin Luck ( http://www.kelvinluck.com/projects/flashr-a-flickr-api-wrapper-for-flash) e baixe as classes criadas por ele para facilitar a nossa vida (Thanks Kelvin!). O que fazer com as classes ? Bom, você pode descompactar o arquivo ZIP no mesmo diretório que seus arquivos .FLA ou pode por direto na pasta 'classes' na instalação do Flash 8.
O exemplo que segue abaixo faz uma consulta simples que busca as fotos públicas de um determinado usuário do Flickr e as retorna.
import com.kelvinluck.flickr.Flickr;
import com.kelvinluck.flickr.FlickrResponseListener;
import com.kelvinluck.flickr.Person;
import com.kelvinluck.flickr.Photo;
import mx.utils.Delegate;
//Sua apiKey fornecida pelo Flickr.com
var api:String = "sua_api_key_do_flickr";
//Seu nome de usuário (aquele endereço original que você tinha antes de criar um 'alias')
var un:String = "seu_nome_de_usuario";
//Criando a instância do objeto da classe Flickr
var flickr:Flickr = Flickr.getFlickr();
//O ResponseListener irá receber todas as ocorrências de retorno dos métodos
//executados pelo flickr. É ele quem recebe os callbacks
var resp:FlickrResponseListener = new FlickrResponseListener();
//Função para iniciar a aplicação
function inicia():Void{
//Definindo qual apiKey será usada para executar os métodos no Flickr (obrigatório)
flickr.apiKey = api;
//Configurando os callbacks
configuraRespListener();
//Efetuando a busca de fotos
buscaFotosPublicas();
}
//Função para buscar as fotos públicas no Flickr
function buscaFotosPublicas():Void{
//Método que busca as fotos públicas
//Pâmetros:
//nsid: String => User Name (definido na variável 'un')
//extras: String => Critérios extras de filtro
//perPage: Number => Número de fotos por página (default = 100)
//page: Number => Número da página recuperada (default = 1)
flickr.peopleGetPublicPhotos(un);
}
//função para configurar o ResponseListener
function configuraRespListener():Void{
//callback do método peoploGetPublicPhotos
resp.onPeopleGetPublicPhotos = Delegate.create(this, recebeFotos);
/*
O uso da classe Delegate é interessante para não perder a referência
ao objeto representado por 'this' na função 'recebeFotos'
Ex.:
//Requer MovieClip no Stage. Nome de instância 'mcTeste"
import mx.utils.Delegate;
var mcTeste:MovieClip;
function testeSemDelegate():Void{
trace("Sem Delegate: " + this); //Aparece: _level0.mcTeste
}
function testeComDelegate():Void{
trace("Com Delegate: " + this); //Aparece: _level0
}
mcTeste.onPress = testeSemDelegate;
mcTeste.onRelease = Delegate.create(this, testeComDelegate);
*/
}
//Função final, executada quando as fotos do Flickr são recebidas pela aplicação
//Parâmetros: usuario: Person => Objeto que representa o usuário consultado
function recebeFotos(usuario:Person):Void{
//Método getPhotos retorna um array de objetos do tipo 'Photo'
var fotos:Array = usuario.getPhotos();
//Loop exibindo no output o título de todas as fotos recebidas
for(var i = 0, t = fotos.length; i < t; i++){
//Recuperando a foto relativa ao iterador 'i'
var foto:Photo = fotos[i];
//Exibindo o título
trace(foto.title);
}
}
//Iniciando a aplicação
inicia();
Agora que você já viu a API funcionando, é só soltar a imaginação e fazer sua própria Flickr Application!
Postado às 16:51
Permalink para este Post
32 Comentários
Leonardo França
,
Higor Oliveria
,
Implante de Cabelos
,
alexandre
,
Jackson
,
Fashion blog
,
louis vuitton
,
louis
,
lv
,
john
,
Replica Watches
,
junior
,
LJ
,
cv
,
Bruno Tavares
,
sanorita
,
Patch panel
,
louboutin
,
123
,
cheap lotro gold
,
dfdg
,
uggboots
,
ugg boot
,
kisspuma
e
uggs on sale
Comentaram
Postado por: Neto Leal em:
Flash
Estava eu em casa, aproveitando uns dias de folga. Enquanto remexia uns arquivos no meu computador vi uma pasta conhecida: "netov5_definitivo". Dei esse nome ao diretório dos arquivos fontes do meu site por que fiz algumas tentativas frustradas de relançamento do flashsite antes do que está no ar agora. Vocês devem lembrar de uma versão cinza, com uma textura de parede ao fundo ... argh, simplesmente podre heheheh.
Resolvi então abrir uns arquivos e dar uma olhada no trabalho que deu construir essa versão mais atual quando me surgiu uma idéia. Integrar o site com o Flickr, o organizador online de fotos do yahoo. Então comecei e desenvolvi uma API própria que acessa via Flash Remoting um componente ColdFusion que faz o papel de gerenciamento e ligação com o RSS fornecido pelo Flickr, lendo o RSS e criando cópias locais de arquivos de imagens em dois tamanhos (ambos fornecidos pelo próprio Flickr).
Depois de todo trabalho feito, o resultado foi o mural de imagens que pode ser visualizado acessando a opção "Mural" em meu site pessoal.
Para minha surpresa, o Flickr JÁ possui uma API toda pronta e disponível para uso nas mais diversas linguagens como Delphi, Java, Python, PHP5 e até mesmo ActionScript. Infelizmente eu só descobri isso depois que já tinha tido todo o trabalho de desenvolver minha própria API mas as soluções que encontrei no site do Flickr são excepcionais.
Inclusive, existe a opção de adicionar seu domínio à lista de security policy do Flickr para que seu site em Flash possa ler as imagens diretamente do servidor do Flickr. Bom hein!?
Ficou curioso? Quer desenvolver sua própria aplicação em cima do Flickr? Você pode acessar a documentação em: http://www.flickr.com/services/
Postado às 10:55
Permalink para este Post
14 Comentários
Leonardo França
,
Rodrigo Muniz
,
Fabrício Mendonça
,
lingerie
,
red heart yarn
,
Fabiano Cruz
,
cv
,
sanorita
,
louboutin
,
123
,
guildwars gold
e
dfdg
Comentaram
Postado por: Neto Leal em:
Anúncios
,
Flash
,
Geral
Faltando 6 dias para o Referendo, três amigos: Gabriel Laet, Fabiano Cruz e Gui Soares lançaram um hotsite sobre o referendo e querem saber a sua opinião na votação.
Acessem, confiram e votem: www.esporro.com.br
Postado por: Neto Leal em:
Flash
Dia desses a Macromedia anunciou o desenvolvimento da próxima geração do Flex e do FlashPlayer 8.5 Com essa nova realidade, a linguagem ActionScript (responsável pelo desenvolvimento de interação em aplicações/sites Flash e Flex) sofrerá uma boa (mesmo) mudança.
Esta mudança deve trazer um certo temor entre alguns programadores mas que, a exemplo do que foi a transição do ActionScript 1 para ActionScript 2, é apenas uma questão de costume e adaptação. Na verdade essa mudança é algo que já era esperado devido a constante atualização e crescimento da Flash Platform e nada mais natural do que a mudança de sua sintaxe para que esteja cada vez mais de acordo com os novos padrões de desenvolvimento.
Entre as mudanças da linguagem estão:
- Novos tipos de dados primitivos e complexos
- Toda e qualquer variável é um objeto
- Utilização de packages de forma explícita (assim como é em Java usando a palavra chave package)
- Uso de namespaces para controlar a visibilidade de membros e classes
- Agora não será mais possível acessar o prototype de objetos como era até o AS2
- Suporte a E4X
- Suporte a constantes (variáveis que não podem ter seu valor alterado)
- Suporte a expressões regulares
Nossa, muitas novidades e melhoramentos na linguagem estão para vir, e infelizmente eu ainda tenho que ficar de boca fechada =( mas não vai demorar para todos podermos colocar a mão nessa belezura.
Postado às 15:19
Permalink para este Post
23 Comentários
Lucas Ferreira
,
Rodrigo Muniz
,
Neto Leal
,
Rodrigo Medeiros
,
Fabrício Mendonça
,
Qurente
,
willians
,
douglas
,
Luciano Melo
,
Nathan
,
star
,
lv
,
Sigma
,
christian louboutin
,
louboutin
,
dfdg
,
uggboots
,
ugg boot
,
0555
e
uggs on sale
Comentaram
Postado por: Neto Leal em:
Anúncios
,
Flash
,
Nerd stuffs
O Brasileiro Fabrício Manzi saiu na frente e lançou o primeiro livro de Flash 8 do mundo entitulado "Flash 8 - Criando além da animação". Segundo o autor, o livro está atualmente em prevenda e no máximo no dia 30 estará na editora.
O livro cobre animações por ActionScript, integração com dados externos (como XML), efeitos de vídeo, áudio e webcam.
Parabéns Fabrício. Sucesso para você !
Postado às 13:36
Permalink para este Post
17 Comentários
Mateus Damião
,
Neto Leal
,
Marcelo
,
Fabricio Manzi
,
Fábio Mariz
,
Anderson Chagas
,
André Coura
,
Rildo Brasil
,
ISRAEL FEITOZA
,
Fernando Aquino Em
,
john
,
lilyer
,
louboutin
,
uggboots
,
ugg boot
e
uggs on sale
Comentaram
Postado por: Neto Leal em:
Flash
E aí, já mecheu muito no novo brinquedo? Eu posso dizer que sim. Na verdade faz tempo que já venho mechendo no bichinho e estou cada vez mais satisfeito com os novos recursos.
Vi que algumas pessoas postaram aqui no blog que o novo Flash não trás novidades para o público designer. Acho que não prestaram muita atenção nos artigos já disponíveis no site da nave mãe além trambém dos vídeos demonstrativos do produto.
A Macromedia inclusive já divulgou entre as MATPs o novo modelo de curso do Flash 8 que trará um foco ainda mais reforçado no público designer do que em versões anteriores. Os novos recursos de filtros, blend modes e object drawing ajudam muito na criação de insterfaces cada vez mais ricas tornando o designer mais independente de softwares terceiros como o Fireworks ou Photoshop. Ta certo que seria demais dizer que você não precisa mais de nenhum deles, e eu até gostaria que fosse verdade. Mas o fato é que já se pode fazer muita coisa dentro do próprio Flash sem medo que o arquivo fique pesado ou que a animação fique lenta.
Nas minhas horas vagas estou dedicando o tempo ao desenvolvimento da versão Flash do meu site pessoal. Depois do fiasco da versão passada essa versão está recebendo um cuidado excessivo por minha parte. Tudo para não me arrepender depois de lançado. O Flash 8 está tendo um papel fundamental no desenvolvimento do site que trará novos recursos somente possíveis com esta versão. Acho que semana que vem consigo publicar. Confie ... vai valer a pena =)
Eu sei que muita gente ta esperando que eu poste aqui algo mais profundo sobre as novidades do Flash. Peço desculpas por ainda não ter postado mas é que meu tempo está bem preenchido ultimamente o que me faz não poder parar para escrever como eu gostaria.
Vou fazer uma força para semana que vem publicar alguns artigos sobre as novidades nos sites de conteúdo técnico como iMasters, MXStudio etc para compensar isso, beleza ?
Postado às 11:26
Permalink para este Post
17 Comentários
Danilo Santana
,
Renan Fretta
,
Roberto Mendes
,
ELTON_SI
,
Fabricio Garcia
,
Ary
,
Bira
,
lv
,
louboutin
,
dfdg
,
uggboots
,
ugg boot
,
uggs on sale
,
0555
,
fashion brand shoeshua
e
ugg boots sale
Comentaram
|
 |
 |