Air

Evento BR Conference

O BR Conference 2010, é o primeiro evento realizado no Brasil sobre RIA (Rich Internet Application) e ColdFusion.

Com o apoio da Adobe Systems Inc’s e a participação de alguns dos melhores e mais renomados profissionais do mundo nas ferramentas e tecnologias ColdFusion, Flex, AIR, Flash Media Server e LiveCycle, o BR Conference 2010 é um evento criado por desenvolvedores para desenvolvedores.

O objetivo do evento é apresentar ao seu público soluções de alta escala, novos recursos e tendências do mercado no desenvolvimento de aplicações ricas para Web e Desktop, atendendo a necessidade de empresas, governo, estudantes e profissionais que desejem aprofundar seus conhecimentos.

Além das sessões, apresentações e painéis de discussão, o público terá a oportunidade de contato com os desenvolvedores, gurus, patrocinadores e dirigentes da comunidade.

O evento será uma ocasião oportuna para a formação de parcerias entre os setores privado, acadêmico e governamental e um momento único para as empresas divulgarem seus produtos e serviços a este público especializado.

Palestrantes

Comunidade Internacional: Raymond Candem, Ben Forta, Terrence Ryan, Adam Lehman, Lee Brimelow, Kevin Schmidt, Liz Frederick, Charlie Arehart;

Comunidade Nacional: Neto Leal, Fabio Vedovelli, Flavio Mikami, Lauro Santos, Gabriela Perry, Fransico Paulino (Tofinha).

Local e Datas do Evento

Data: 19, 20 e 21 de agosto de 2010 (quinta, sexta e sábado)

Local: Sendo definido – Rio de Janeiro – RJ.

Popularity: 10% [?]

Adobe AIR com SQLite

Adobe acrescentou a possibilidade de utilizar bancos de dados locais, quando eles criaram AIR. Este é um dos muitos recursos que ajudam a tornar o Adobe AIR uma ótima solução para aplicações desktop multi-plataforma. Neste rápido tutorial vou mostrar como criar um banco de dados de arquivo e abrir uma conexão com ele. O código é muito simples, então vamos pular direto para ele. A primeira coisa é criar um arquivo para o banco de dados. Em SQLite, que é o mecanismo de banco de dados utilizado no Adobe AIR, o banco de dados completo é armazenado em apenas um único arquivo. É realmente um sistema muito bom compacto e portátil. Eu usei a função applicationStorageDirectory sobre a classe File para criar um arquivo que aponta para o armazenamento de aplicação local e com o nome dbTest.db. No meu caso (no Seven), o caminho real no disco é C:\Users\usuário\AppData\Roaming\SQLiteExample\Local Store. O arquivo não é criado, até iniciar a aplicação.

import flash.data.SQLStatement;
import flash.errors.SQLError;
import flash.events.Event;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
import flash.events.TimerEvent;
import flash.filesystem.File;
import flash.utils.Timer;
 
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.utils.ObjectUtil;
 
import org.osmf.events.TimeEvent;
 
// sqlconn é uma variável que precisamos para definir uma
// coneção com a nosso banco de dados
private var sqlconn:SQLConnection = new SQLConnection();
// sqlstate é um SQLStatement que precisamos para executar
// o executar os comandos sql
private var sqlstate:SQLStatement = new SQLStatement();
// ArrayCollection é usado como dataprovider para a nossa datagrid.
// Tem de ser bindable para que os dados em nosso datagrid
// mudem automaticamente, quando mudamos o nosso ArrayCollection
[Bindable]
private var dp:ArrayCollection = new ArrayCollection();
 
// função que chamamos no inicio da aplicação
private function init():void
{
	// primeiro precisamos de "setar" o arquivo para o banco de dados
	// Se o banco de dados não existe, ele irá criar
	// um banco de dados quando inicia
	var db:File = File.applicationStorageDirectory.resolvePath("dbTest.db");
	// depois de "setar" o arquivo para o banco de dados,
	// precisamos de abri-lo.
	sqlconn.openAsync(db);
	// precisamos de "setar" os event listners de para que possamos
	// saber se temos algum erro, quando o banco de dados é
	// totalmente aberto e também para saber quando recebemos um
	// resultado de uma query sql, o ultimo é para ler
	// os dados do banco de dados.
 
	sqlconn.addEventListener(SQLEvent.OPEN, db_opened);
	sqlconn.addEventListener(SQLErrorEvent.ERROR, error);
	sqlstate.addEventListener(SQLErrorEvent.ERROR, error);
	sqlstate.addEventListener(SQLEvent.RESULT, resault);
}
 
private function db_opened(e:SQLEvent):void
{
	// quando um banco de dados é aberto precisamos do link do SQLStatment
	// para a nossa conexão, se não "setar" esta conexão vamos ter um
	// erro quando executar o SQLStatment.
	sqlstate.sqlConnection = sqlconn;
	// escrevemos o SQLStatment.
	// no SQLStatment criamos uma tabela no banco de dados com o nome "aluno",
	// com 3 colunas (id, nome, apelido)
	sqlstate.text = "CREATE TABLE IF NOT EXISTS aluno " +
		"( id INTEGER PRIMARY KEY AUTOINCREMENT, nome TEXT, apelido TEXT);";
	// depois de conectar o SQLStatment  a nossa SQLConnection e escrever o
	// comando sql, precisamos de executar o SQLStatment
	// nada vai mudar até executar o SQLStatment.
	sqlstate.execute();
	// depois de carregar o banco de dados e criar a tabela
	// se já não existir, chamamos de método refresh() para popular o datagrid
	refresh();
}
 
// função para adicionar um item no banco de dados
private function addItem():void
{
	// este comando SQL é para adicionar um item na tabela
	sqlstate.text = "INSERT INTO aluno (nome, apelido) " +
		"VALUES('"+nome.text+"','"+apelido.text+"');";
	sqlstate.execute();
	refresh();
}
 
// função para chamar quando queremos fazer o refresh de dados no datagrid
private function refresh(e:TimerEvent = null):void
{
	// objeto timer que precisamos se o SQLStatment está ainda em execução,
	// caso contrário tentamos novamente depois de 10 milliseconds.
	var timer:Timer = new Timer(10,1);
	timer.addEventListener(TimerEvent.TIMER, refresh);
	if ( !sqlstate.executing )
		// precisamos checar se o SQLStatment está ainda executando
		// o ultimo comando sql.
		// se sim, usamos o timer para voltar a executar em 10 milliseconds.
		// senão checar, podemos ter erro pq o SQLStatment
		// não pode executar 2 comandos aomesmo tempo.
	{
		// SQLStatment que retorna todos os dados da tabela "aluno".
		sqlstate.text = "SELECT * FROM aluno"
		sqlstate.execute();
	}
	else
	{
		timer.start();
	}
}
 
// função que é chamada se receber algum resultado do comando sql.
// também pode ser chamado, quando for inserir algum dado
private function resault(e:SQLEvent):void
{
	// com o sqlstate.getResult().data pegamos o array de objetos
	// para cada linha do banco de dados
	var data:Array = sqlstate.getResult().data;
	// passamos o array de objetos para o
	// dataprovider para popular o datagrid
	dp = new ArrayCollection(data);
}
 
// função que remove um item do banco de dados
private function remove():void
{
	// SQLStatment para excluir da tabela o id que tem o
	// mesmo número que selecionamos no datagrid para excluir
	sqlstate.text = "DELETE FROM aluno WHERE id="+dp[dg.selectedIndex].id;
	sqlstate.execute();
	refresh();
}
 
// função que é chamada quando recebemos um erro do comando sql
// ou conexão sql e mostra esse erro em um alert.
private function error(e:SQLErrorEvent):void
{
	Alert.show(e.toString());
}

Aplicação básica para entender e aprender como você pode armazenar dados em banco de dados SQLite. O exemplo é muito básico, mas você deve pegar uma idéia de como fazê-lo.

Aplicativo AIR aqui (view source habilitado).

Popularity: 72% [?]

Flex 4 in a week: Video Download Links

Download Flex 4 Videos (.flv):

Download Details:

Total Files : 53

Total Size: 1.38GB

Day 1: 13 files -> 387 MB

Day 2: 10 files -> 308 MB

Day 3: 11 files -> 248 MB

Day 4: 9 files -> 229 MB

Day 5: 10 files -> 246 MB

Basic Information:

Learn to use Flex 4 beta and Flash Builder 4 in a week by stepping through this video training course.

To get started, follow these steps:

  1. Download and install Flash Builder 4 beta (requires free Adobe membership).
  2. Download the project files for each training day.The project files include the starter and solution files for the listed exercises as well as transcripts of the training videos.Note: If you prefer, you can also download the starter and solution files for each exercise individually from the respective exercise pages.
  3. To maximize your learning, view the videos and complete the exercises in the order listed.

Important: This training is based on the Flex 4 beta 2 and Flash Builder beta 2 versions. Like beta software, this course is still in active development. If you run into problems and have questions, please post your question to the Flex in a Week forum. Also help us help you learn Flex better by telling us what works and what doesn’t work for you in the way this course is structured and presented, so we can make any necessary changes in time for the Flex 4 and Flash Builder releases.

Start Downloading :)

Day 1

Exploring the basics

Introducing object-oriented programming

Understanding components and layouts

Day 2

Handling events

Validating and formatting data

Navigating application content

Animating components and states

Day 3

Controlling text display

Controlling visual display with CSS

Skinning Spark components

Day 4

Extending events

Accessing remote data

Creating a typed data model

Day 5

Displaying data with the DataGroup container

Displaying Data with the DataGrid control

Deploying Flex and AIR Applications

:) This work is not licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.

Popularity: 31% [?]