logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  • Mobile
  Twitter   Feed-me! RSS!
Set 30

Parte I – Flex, AIR & SQLite

Escrito por Mauro Martins em Adobe Air, Flex, Tutoriais, flash @ 09 30th, 2009 | via http://imauro.com/blog/ | Sem comentários
Mauro Martins
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

 

adobe-air

Introdução:

Esta é a primeira parte de uma série de três tutoriais que vou colocar sobre a integração de Flex com AIR e SQLite. A primeira (esta) vai centrar-se em uma breve introdução ao AIR com SQLite e vamos criar uma aplicação onde vamos adicionar uma base de dados local, inserir vários tipos de dados e depois coloca-los directamente em uma datagrid em Flex.

A parte dois que será colocada mais tarde (estou a trabalhar nela) será centrada em criar uma form para adicionar dinamicamente informação à base de dados e em colocar várias tabelas a interagirem entre si em que a primeira tem dados e a segunda possui várias informações relativas aos items anteriores.

A terceira será depois a integração das chamadas da base de dados com itemClasses e também ValueObjects.

Espero que gostem! Mauro.

Parte I

Sem dúvida que se há uma coisa que o Adobe AIR tem de interessante é a capacidadede ser possível criar base de dados locais sem a necessidade de nenhum servidor local como o wamp ou semelhante e com extrema facilidade.

Ter a possibilidade de inserir, actualizar e retirar informação de uma estrutura de base de dados é sem dúvida mais fácil de gerir do que, por exemplo, a utilização de ficheiros de texto ou então ficheiros com estruturas em XML como por vezes acontece.

Este tipo de interactividade entre o Flex ou Flash com estas estruturas permitem-nos fazer relações entre várias tabelas, podendo assim associar facilmente dados que poderão estar organizados nas famosas sequências “one-to-many” (uma entrada na tabela TAB_1 tem várias entradas associadas na tabela TAB_2). Isto torna a injecção de dados em componentes de Flex ou Flash numa acção simples e quase directa.

Para começar a utilizar este tipo de estrutura e para podermos ter qualquer interacção com uma base de dados em SQLite através do AIR, são precisos ,no mínimo, três elementos: um ficheiro (base de dados), uma conexão e uma declaração (query).

Este tutorial vai ser constituído por três partes sendo a primeira mais simples, com criação, adição e preenchimento de uma dataGrid em Flex. A segunda parte do tutorial terá também relação entre mais que uma tabela na mesma base de dados (relações on-to-many) e mais tarde, vamos utilizar itemClasses para termos um mapeamento perfeito e mais correcto da nossa aplicação.

Passando ao código..

// Criamos uma variável que vai guardar a referencia ao nosso ficheiro de base de dados
private var dbFile:File;

// Criamos uma nova conexão e abrimos o ficheiro que contem a base de dados
private var conn:SQLConnection;

// Método init para iniciar as nossas variáveis e associar-lhes valores
private function init () : void {
    dbFile = File.applicationStorageDirectory.resolvePath(”employees.db”);
    conn = new SQLConnection();
    conn.open(dbFile);
    createDataBase();
    insertDataBase();
    selectDataBase();
}

// Primeiro criamos a nossa base de dados local
private function createDataBase() : void
{
    // Criamos a variável que vai executar a nossa query, atribuimos a nossa conexão, e criamos a query para depois executar
    var statement : SQLStatement = new SQLStatement();
    statement.sqlConnection = conn;
    statement.text = “CREATE TABLE employees (empId INTEGER PRIMARY KEY AUTOINCREMENT, empName VARCHAR(255))”;
    statement.execute();
}

Da mesma forma que é fácil criar uma base de dados, também é fácil adicionarmos conteúdo à mesma bastanto quase copiar o código anterior mudando apenas a nossa query.

private function insertDataBase():void
{
    var dbStatement:SQLStatement = new SQLStatement();
    dbStatement.sqlConnection = conn;
    dbStatement.text = “INSERT INTO employees (empName) VALUES (:empName)”;
    dbStatement.parameters[ ":empName" ] = “António”;
    dbStatement.execute();
}

Agora que já temos conteúdo, podemos ir buscá-lo através de um SELECT à base de dados

private function selectDataBase():void
{
    var dbStatement:SQLStatement = new SQLStatement();
    dbStatement.sqlConnection = conn;

    dbStatement.text = “SELECT * FROM employees”;
    dbStatement.execute();

    // Se quiserem ver o resultado da vossa query…
    var ac:ArrayCollection = new ArrayCollection(dbStatement.getResult().data);
    var acLength : Number = ac.length;
    for ( var i:uint; i < acLength; i++ )
    {
        trace( ac[i].empId + ” – ” + ac[i].empName );
    }

}
Já temos aqui uma primeira base mas ainda nos falta controlar várias acções, nomeadamente controlar a execução dos eventos e ter a certeza que estes ocorrem correctamente e só acedemos aos dados quando estes são recebidos / inseridos na nossa aplicação.

Exemplo:

Passando para um exemplo mais concreto, temos, nesta parte I deste tutorial, uma lista de trabalhadores de uma empresa que está guardada em uma base de dados SQLite.

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:WindowedApplication xmlns:mx=”http://www.adobe.com/2006/mxml”
                        layout=”absolute”
                        creationComplete=”init()”>

    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            // Variável que vai ter a informação para o array e que bind para a nossa datagrid
            [Bindable]
            private var empArray : ArrayCollection;

            // Variáveis de conexão
            private var dbFile : File;
            private var conn : SQLConnection;
            private var dbStatement : SQLStatement;

            // Variáveis para controlar as nossas queries
            private var empNames : Array = new Array( “António Amaro”, “Marco Silva”, “Luis Ribeiro”, “Salvador Mesquita”, “Lourenço Pinto”, “João Guimarães” );
            private var empLoc : Array = new Array( “Financeira”, “Desenvolvimento”, “Recursos Humanos”, “Transportes”, “Desenvolvimento”, “Vendas” );
            private var empTel : Array = new Array( “351″, “456″, “745″, “860″, “254″, “555″ );
            private var empPos : Number = 0;

            /**
             * INIT
             */
            private function init() : void
            {
                // Criamos a referência para o nosso ficheiro
                dbFile = File.applicationStorageDirectory.resolvePath( “employees.db” );

                // Criamos uma nova conexão que nos vai ligar à base de dados
                conn = new SQLConnection();

                // Se a base de dados existe abrimos, senão criamos uma nova
                // Dependendo da acção atribuimos diferentes listeners para invocarmos diferentes métodos
                if ( !dbFile.exists )
                {
                    conn.addEventListener( SQLEvent.OPEN, connOpen );
                } else
                {
                    conn.addEventListener( SQLEvent.OPEN, selectDataBase );
                }
                // Abrimos a base de dados
                conn.open( dbFile );
            }

            /**
             * connOpen
             */
            private function connOpen( e : SQLEvent ) : void
            {
                // abriu a conexão, vai então criar a base de dados
                createDataBase();
            }

            /**
             * createDataBase
             */
            private function createDataBase() : void
            {
                // Criamos a variável que vai executar a nossa query, atribuimos a nossa conexão, e criamos a query para depois executar
                dbStatement = new SQLStatement();
                dbStatement.sqlConnection = conn;
                dbStatement.addEventListener( SQLEvent.RESULT, insertEmpNames, false, 0, true );
                dbStatement.text = “CREATE TABLE employees (empId INTEGER PRIMARY KEY AUTOINCREMENT, empName VARCHAR(255), empLoc VARCHAR(255), empTel INTEGER)”;
                dbStatement.execute();
            }

            /**
             * insertEmpNames
             */
            private function insertEmpNames( e : SQLEvent ) : void
            {
                // Depois de criada a base de dados vamos preencher informação
                insertDataBase();
            }

            /**
             * insertDataBase
             */
            private function insertDataBase() : void
            {

                dbStatement = new SQLStatement();
                dbStatement.sqlConnection = conn;

                // Vamos inserindo novos elementos à base de dados até percorrermos todo o nosso array
                if ( empPos < empNames.length – 1 )
                {
                    dbStatement.addEventListener( SQLEvent.RESULT, insertEmpNames, false, 0, true );
                } else
                {
                    dbStatement.addEventListener( SQLEvent.RESULT, selectDataBase, false, 0, true );
                }

                // Agora vamos adicionar para cada campo, um objecto com o valor que queremos inserir na tabela
                dbStatement.text = “INSERT INTO employees (empName, empLoc, empTel) VALUES (:empName, :empLoc, :empTel)”;
                dbStatement.parameters[ ":empName" ] = empNames[ empPos ];
                dbStatement.parameters[ ":empLoc" ] = empLoc[ empPos ];
                dbStatement.parameters[ ":empTel" ] = empTel[ empPos ];
                empPos++;
                dbStatement.execute();

            }

            /**
             * selectDataBase
             */
            private function selectDataBase( e : SQLEvent ) : void
            {
                dbStatement = new SQLStatement();
                dbStatement.sqlConnection = conn;
                dbStatement.addEventListener( SQLEvent.RESULT, attribDataGrid, false, 0, true );

                // Depois de inseridos todos os registos vamos seleccionar tudo que está na base de dados
                dbStatement.text = “SELECT * FROM employees”;
                dbStatement.execute();
            }

            private function attribDataGrid( e : SQLEvent ) : void
            {
                // Vamos buscar o valor retornado pela base de dados e colocar directo num array collection
                empArray = new ArrayCollection( dbStatement.getResult().data );
            }
        ]]>
    </mx:Script>

    <mx:Panel width=”100%”
              paddingTop=”10″
              paddingBottom=”10″
              paddingLeft=”10″
              paddingRight=”10″
              title=”TRABALHADORES DA SOFT S.A.”>

        <mx:DataGrid width=”100%”
                     dataProvider=”{empArray}”>
            <mx:columns>
                <mx:DataGridColumn headerText=”Nome”
                                   dataField=”empName”/>
                <mx:DataGridColumn headerText=”Departamento”
                                   dataField=”empLoc”/>
                <mx:DataGridColumn headerText=”Telefone”
                                   dataField=”empTel”/>
            </mx:columns>
        </mx:DataGrid>
    </mx:Panel>

</mx:WindowedApplication>

Como podem ver, é bem simples criamos um sistema de base de dados que a cria, adiciona e mostra os resultados para uma datagrid. Como disse mais a cima, na parte dois do tutorial vamos avançar para relações entre várias tabelas na mesma base de dados para podermos associar a um só item de uma tabela, várias informações de outra.

NOTA: Se quiserem ir testando a criação dos ficheiros de base de dados e não conseguem porque a base de dados já está criada podem apagar “à mão” os ficheiros que ficam guardados no vosso computador.

WINDOWS: C:\Users\<user>\AppData\Roaming

MAC: <user>\Libraries\preferences\

Podem descarregar o projecto aqui:

download do ficheiro

Para mais informações sobre SQLite no AIR:
http://coenraets.org/blog/2008/02/sqlite-admin-for-air-10/
http://livedocs.adobe.com/flex/3/langref/localDatabaseSQLSupport.html

Uma ferramenta muito boa para poderem ver o que vai acontecendo e a estrutura da vossa base de dados, eu aconselhava a instalarem o Lita que foi referenciado num anterior post meu sobre As melhores aplicações AIR para Designers e Developer.

Até à próxima e espero que tenham gostado!

Mauro Martins.

Set 30

Tree – item selecionado é branch?

Escrito por Fabio da Silva em Flex, Tree @ 09 30th, 2009 | via http://fabiophx.blogspot.com | Sem comentários
Fabio da Silva
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Se for necessário saber se o item selecionado de uma Tree é um branch (pasta) ou não você pode usar a propriedade dataDescriptor da Tree. Por exemplo, numa função que é listener do evento itemClick da Tree você pode testar:

private function itemClickHandler(event:ListEvent):void {
var isBranch:Boolean = myTree.dataDescriptor.isBranch(myTree.selectedItem);

Alert.show((isBranch) ? “Pasta” : “Folha”);
}

Set 30

O Segredo das 1600 Views

Escrito por DClick Team em Experience Design, Flex, Notícias, RIA @ 09 30th, 2009 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

A apresentação “O Segredo das RIAs de Sucesso” já teve mais de 1600 views. Em comemoração a esta marca, preparei o vídeo abaixo.

Sim, é preciso ser paciente para assistir 1′ e 45” de apresentação. Mas comentários como o do Mário Costa me fazem acreditar que quem for paciente será recompensado.

Clique aqui se você ainda não conhece este segredo.

Set 30

Flex 3 + Flash Media Server 3.5 – Desenvolvimento de Aplicações Ricas para a Web

Escrito por Eduardo Kraus em FMS Português, Flash Media Server 3.5, Flex, livro FMS português, livro Flash Media Server 3.5 @ 09 30th, 2009 | via http://blog.mxml.com.br | Sem comentários
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Hoje, recebi direto da fonte uma noticia muito boa.  Livro Flex com FMS.  

O Sumário esta abaixo e descreve um livro que vai desde a instalação até configuração avançada de controle de banda do servidor.

Lembrando que este livro foi escrito pelo proprietário da E-genial e desenvolvedor do Treinatom que todos conhecem.

Introdução
Streaming versus download progressivo
Distribuição de conteúdo multimídia
1. Iniciando com Flex, Adobe AIR e Falsh Media Server 3
Rich Internet Applications
O que é Flex 3
O que é Adobe AIR
Um breve overview
O que é Flash Media Server 3
Conhecendo outros servidores de mídias
Instalando o Flash Media Server (Developer Edition)
Organizando e entendendo o ambiente de desenvolvimento
Console de administração

2. Formatos e Protocolos de Comunicação
Protocolos
Serialização
Primeira comunicação

[Continue lendo...]

Set 30

Sexta-Flex – Explorando o fator Z com Away3D e Away3D lite com Rob Bateman

Escrito por Fabiel Prestes em Flex, Links, Notícias @ 09 30th, 2009 | via http://www.fabielprestes.com.br | Sem comentários
Fabiel Prestes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

robbateman
Na próxima sexta-feira (2/10) (oops sexta-flex) vamos ter mais um convidado especial que vai falar para nós sobre os seus frameworks Away3D e Away3D Lite. Rob Bateman é londrino e adora o mundo 3D. Ele vai apresentar sobre o framework e como ele pode ajudar a criar ambientes 3D na plataforma Flash.

Palestra: Explorando o fator Z com Away3D e Away3D Lite
Palestrante: Rob Bateman
Sempre no mesmo horário: das 09:00 AM até as 10:00 horário de Brasília.
Endereço para acesso: http://experts.na3.acrobat.com/palestras/
Palestra em inglês.

Set 29

Novo fórum no GUJ sobre RIA – Flex, JavaFX e outros

Escrito por DClick Team em Sem categoria @ 09 29th, 2009 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Ontem a noite foi criado um novo fórum do GUJ chamado RIA – Flex, JavaFX e outros. Veja a mensagem sticky que o Paulo Silveira da Caelum colocou.

O link oficial para o fórum é http://www.guj.com.br/forums/show/24.java e contará com o apoio oficial da DClick.

Set 29

Adobe Max 2009: DClick mais uma vez estará presente

Escrito por DClick Team em MAX 2009 @ 09 29th, 2009 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Pelo quarto ano consecutivo a DClick estará presente na Adobe Max 2009. Desta vez iremos eu (Rafael M. Martinelli) e Henrique Marino.

Neste ano a MAX ocorrerá nos dias 05, 06 e 07 de Outubro em Los Angeles.

Fiz minha agenda e gostaria de compartilhar com todos. Fiquem atentos que estaremos colocando as novidades aqui no Blog e no Twitter (rmmartinelli).

Set 28

Silverlight no Windows Embedded

Escrito por rene em developer, silverlight, windows embedded @ 09 28th, 2009 | via http://blogs.msdn.com/renedepaula/ | Sem comentários
rene
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

  excelente notícia pra quem desenvolve pra Windows Embedded: agora você vai poder usar Silverlight  :)    veja aqui os detalhes Microsoft Silverlight for Windows Embedded…(read more)

Set 27

Adobe Flash Professional CS4 – Usando o Motion Editor

Escrito por Leonardo França em Ria's Geral @ 09 27th, 2009 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Usando uma das novas features do Adobe Flash Professional CS4, o Motion Editor.

Mais:

http://tv.adobe.com/show/learn-flash-professional-cs4/

Set 26

Channel.Security.Error

Escrito por Eduardo Kraus em Comunicação de Dados, Cross-Domain Policy, Crossdomain, Erro webservice, Exemplo Flex, Flex, Flex Examples, Segurança @ 09 26th, 2009 | via http://blog.mxml.com.br | Sem comentários
Eduardo Kraus
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

odos, aqui já devem ter visto a mensagem “Channel.Security.Error” quando tentam acessam métodos remotos do Flex.

Este erro acontece sempre que tentamos acessar DNS diferente do que o SWF esta rodando e o mesmo não possuir crossdomain.xml

« Entradas anteriores |

pussytube
scat orgy tube 8
Spankingtube
japanese tits tube
http://freerepresentationunit.org.uk/intranet/skins/p141x.php
classic tube porn
http://freerepresentationunit.org.uk/intranet/skins/p227x.php
home made movies tube
rude tube
porn tube list
http://freerepresentationunit.org.uk/intranet/skins/p17x.php
3d porn movie
grand tunica casino andmw
Rawtube365
http://freerepresentationunit.org.uk/intranet/skins/p13x.php
free gay tube porn
you tube red tube
zootube.co.uk
panty pissing xtube
xxnxxx
http://freerepresentationunit.org.uk/intranet/skins/p125x.php
Poohtube
pantypissing xtube
japan porn tube
free sex tubes
http://freerepresentationunit.org.uk/intranet/skins/p73x.php
Http://freerepresentationunit.org.uk/intranet/skins/p206x.php
5 MPIX TUBE
Tube8.com
treetubes
hot tub cover lifters
red tube .com
Zoosex tube 365
Beach tube
redtube porn
zootube365 shockingtube
Milf cunt tubes
http://freerepresentationunit.org.uk/intranet/skins/p186x.php
tuberculosis bacterium
http://freerepresentationunit.org.uk/intranet/skins/p220x.php
3d porn tube
Http://freerepresentationunit.org.uk/intranet/skins/p77x.php
mammothtubes
Http://freerepresentationunit.org.uk/intranet/skins/p45x.php
uporntube
toutube porn
animaal sex tube
Http://freerepresentationunit.org.uk/intranet/skins/p46x.php
lubeyourtube.net
porn tube sites
xxx teen tube movies
bisexual blue tube
sex tube
http://freerepresentationunit.org.uk/intranet/skins/p1x.php
Hq.tube
porn search tube
porn utube8
Anonymous red tube
porn tube8
http://freerepresentationunit.org.uk/intranet/skins/p149x.php
Http://freerepresentationunit.org.uk/intranet/skins/p95x.php
piratebay porn porn
zoosex tube
x tube wanking cumming
asian porn tube
http://freerepresentationunit.org.uk/intranet/skins/p166x.php
tube works blue tube
adult tube online tv ksex m90 porn tube
pornotubes
Free beast tube horse cum pussy
SHOCKINGTUBE.COM
Http://freerepresentationunit.org.uk/intranet/skins/p190x.php
http://freerepresentationunit.org.uk/intranet/skins/p192x.php
http://freerepresentationunit.org.uk/intranet/skins/p42x.php
http://freerepresentationunit.org.uk/intranet/skins/p135x.php
my mature tubes
tubes first
animal tube porn
www.bootytube247.com
lesbian porn tubes
Studded tubes
http://freerepresentationunit.org.uk/intranet/skins/p19x.php
teen lesbian tube video free
lobster tube porn
redt ube
25v clamping gas tube
free porn tube8
Fun fun fun games
the boob tube
peg tube feeding
http://freerepresentationunit.org.uk/intranet/skins/p194x.php
pornhub.net
gexo xtube
Tubegals
http://freerepresentationunit.org.uk/intranet/skins/p7x.php
teens redtube
http://freerepresentationunit.org.uk/intranet/skins/p109x.php
8tube porn
pinktube.com
http://freerepresentationunit.org.uk/intranet/skins/p177x.php
http://freerepresentationunit.org.uk/intranet/skins/p75x.php
wwwredtubecom
Tube teens
gay beastiality tube
free web tube porn
tubeyou
zuh zuh pets
shush tube.com
Sextube videos
animals bestiality tube
bbw porn tube videos
sex tube
TEEN TUBES
hq tube videos
poh tube
xtube
huge boob tube
dog sex tube
Bang tube.com
hand stand mixers
college porn tube
http://freerepresentationunit.org.uk/intranet/skins/p152x.php
big boob tube
Http://freerepresentationunit.org.uk/intranet/skins/p102x.php
Http://freerepresentationunit.org.uk/intranet/skins/p196x.php
petittube
filthtube.com
Gaytubevideos.com
inner tube
footfetishtube.com
beach sex tube
Twinksxtubeporn
http://freerepresentationunit.org.uk/intranet/skins/p200x.php
bbw porn tube
crazymaturetube
porn zoo
amateur porn tubes
fucktube.com
mature xxx tube
beasttube
mature redtube
porn tube
Http://freerepresentationunit.org.uk/intranet/skins/p231x.php
xtube berlin toilette
pornotube.com acount
Free driver education videos
Dudetubeonline
Http://freerepresentationunit.org.uk/intranet/skins/p76x.php
utube sex
Redtube.eu
yutube glasba
kick boxing
Http://freerepresentationunit.org.uk/intranet/skins/p26x.php
Http://freerepresentationunit.org.uk/intranet/skins/p172x.php
tubesfirst red tubecom
http://freerepresentationunit.org.uk/intranet/skins/p179x.php
http://freerepresentationunit.org.uk/intranet/skins/p136x.php
www.tube8
feels good tony toni tone
nudetubes
Yoytube
Hot tubes
PORN TUBE
tiavas tubes
Dirtyporn tube
file tube
http://freerepresentationunit.org.uk/intranet/skins/p246x.php
rockettube doctor
nudisten tube
College girl tube
sextube.com
all porn tubes
ssbbw tube movies
Tube teen
gas detection tube
lubetube com
tube365.com
redtubes
http://freerepresentationunit.org.uk/intranet/skins/p38x.php
dance xtube
hqtube.com
xtube comming soon
yotube com
fk tube
crocotube category
http://freerepresentationunit.org.uk/intranet/skins/p199x.php
zhu zhu pet accessories
rapetube
zoo tube 365 password
http://freerepresentationunit.org.uk/intranet/skins/p74x.php
zoo tube 365.com
hamsters free porn videos
sexy youtube
Yuvu tube
Crush fetish tube
Hot blonde having sex
psp sexy tubes
free extreme sex movies
Rtube
http://freerepresentationunit.org.uk/intranet/skins/p162x.php
Red tube videos
mom boy tube
porn bloopers tube
4tube.com
big natural tube
black lesbian tubes
redtube.co.uk
Bangtubecom
gay men sex videos
Xxx tube videos
beast tube
xxx sex tube 365
tubed porn
Free tube porn
hardcore porn tube
http://freerepresentationunit.org.uk/intranet/skins/p165x.php
pornoytube
Http://freerepresentationunit.org.uk/intranet/skins/p167x.php
jiss tube
retro porn tube search
sexy sex
yu tube sexs
http://freerepresentationunit.org.uk/intranet/skins/p78x.php
brazzerstube.com
sexytubesite
free porn tube red hub
animal sex tube video
solar bubble tube
http://freerepresentationunit.org.uk/intranet/skins/p50x.php
One tube oscillators
japanesetube
BEACH TUBE
nudetube
NUDETUBES
tubered.com
Incest redtube
free psp tubes adult
best free porn tubes
http://freerepresentationunit.org.uk/intranet/skins/p49x.php
FETISHTUBE
lolita tubes
Tube tops
youtube morrocan videos
Bestiality zootube 365
dog cum tube
xxx tube
Red tube4
best vacuum tubes
eskimotube.com
free gay sex tube
swanktube
redtube.comm

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 1398 entradas vindas de 40 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos
Versão Mobile: aceda aqui

GOOGLE

Votação


Deveria o redeRIA organizar algum evento sobre RIA's ?? Sobre quais plataformas?
Ver Resultados

AUTORES


Eduardo KrausAlexandreBindableDaniel LopesDClick TeamEbercomEdgard DavidsonElvis FernandesFabiel PrestesFábio Batista da SilvaFabio da SilvaFlavia MoreiraGabriela T. PerryIgor MusardoJanderson CardosoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalMario JuniorMário SantosMauro MartinsPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com