Adobe AIR has been installed on over 200 million computers in just 16 months
I've missed the Flash Camp Keynote in San Francisco where Adobe CTO Kevin Lynch mentioned that AIR reached over 200 million installs.
I've missed the Flash Camp Keynote in San Francisco where Adobe CTO Kevin Lynch mentioned that AIR reached over 200 million installs.
The Essential Guide to Flash CS4 AIR Development book is oriented to Flash developers interested in building desktop applications via Adobe AIR. You can order The Essential Guide to Flash CS4 AIR Development on Amazon or buy it on local bookstore.
Reading my previous AIR tutorials, you’ve worked with menus that are associated with tangible elements of your applications,
such as the following:
AIR applications also allow you to create pop- up menus . These are native menus like all
the other ones you’ve seen so far—the only difference is that pop- up menus aren’t natively
associated with any element on the interface of the application. It’s up to the developer to
define and implement the logic and the way in which a pop- up menu can be activated. An
AIR application can have any number of pop- up menus.
You can show a pop- up menu anywhere on the stage. It can be activated in the following
ways: if the user clicks a button, if the mouse rolls over any object, if the user presses
a combination of keys, and on any other condition you want for your application.
Activating pop- up menus
The NativeMenu class has the display() method to activate a pop- up menu. Every time
this method is called, the pop- up menu appears at the specified coordinates. The display()
method requires the three following arguments:
Destination stage : Specifies which stage has to display the pop- up menu. If the
AIR application is on only one NativeWindow- type window, the destination stage is
automatically the window that displays the application. If you’re making a multiwindow
application, you will have to specify the stage of the window you want to
display the pop- up menu on.
Coordinate (X axis) : Specifies the position on the X axis of the pop- up menu. This
coordinate specifies the position from the top left corner of the menu. The coordinate
will apply to the stage you’ve specified as a first argument of the function.
Coordinate (Y axis) : Specifies the position on the Y axis where you want to display
the pop- up menu. This coordinate specifies the position from the top left corner of
the menu. The coordinate will apply to the stage you’ve specified as a first argument
of the function.
Continue reading "Creating and accessing pop- up menus in AIR applications with Flash CS4" »
Tour de Flex is a very useful learning AIR (and now web) application that I often use during my presentation and Flex/AIR training courses to show Flex capabilities and resources, including the core Flex components,
Adobe AIR, data integration, and a variety of third-party components,
effects, skins, and more.
Moreover a brand-new web version of tha application as well as an Eclipse plug-in is available that provides a search interface to the 200+ samples in Tour de Flex.
Adobe has finally released Tour de Flex 1.2. Below are the highlights (from Greg Wilson's blog):
You can download the latest version from http://www.adobe.com/devnet/flex/tourdeflex. If you already have Tour de Flex, your version will auto-update.
In addition to a new desktop version, we’ve also launched a new web browser-based version of Tour de Flex. Obviously, it doesn’t include the AIR desktop samples but most of the remaining samples are included. Holly Schinsky did most of the “magic” to make the web version possible. She will be blogging about the experience shortly.
Check it out at http://www.adobe.com/devnet/flex/tourdeflex/web
The web version supports deep linking so the browser back/forward buttons work as expected. You can even bookmark specific samples!
The primary purpose of the web version is to provide an easier on-ramp for those exploring Flex for the first time. It also provides the ability to view samples from environments that don’t allow applications to be installed.
As an Adobe Flex Certified Instructor (ACI) I had to update my certification to the new Adobe Flex 3 with AIR Exam in order to confirm my Flex ACI.
So this morning I got and passed the Adobe Flex 3 with AIR Exam in a Vue center.
The exam has changed a bit against the previous Flex 2 version. There are questions about AIR and I did not find any questions on UML or Coldfusion Data Services.
These are the topic areas and percentage of questions delivered in each topic area:
Creating a User Interface (UI) 22%, number of question: 11
Flex system architecture and design 18%, number of question: 9
Programming Flex applications with ActionScript 24%, number of question: 12
Interacting with data sources and servers 16%, number of question: 8
Using Flex in the Adobe Integrated Runtime (AIR) 20%, number of question: 10
I want to find the time to wirte more about the topics you have to prepare for passing the Flex 3 exam. So stay tuned on my blog :)
This is another excerpt from my chapter of the O'Reilly AIR Cookbook published on InsideRIA: Consuming Twitter APIs.
Twitter provides its own set of APIs to consume its web services and
create mashups that use its services.
This solution will use the
simplest approach to consume Twitter’s APIs, without carrying out the
authentication procedure to retrieve information about protected users
who aren’t friends.
The examples provided are in Flex as well as JavaScript.
We've updated the DAO-Ext AIR tool for generating DAO and ActionScript Value Objects. We've just fixed some small bugs and added the auto-update. We're working on some documentation too.
If you want to join the project and contribute this is the right time ;) Feel free to contact us.
DAO-Ext is an Adobe
AIR tool that allows developers to automatically generate ActionScript
Data Access Objects (DAO) and Value Objects starting from a local
SQLite database. The project is totally free and open source.
For this first release the tool allows developers to:
The DAO-Ext tool has beend released by Comtaste as an open source project. You can easily download the AIR file and install on your desktop (cross platform) and start using it to auto-generate ActionScript Value objects and Data Access Object (DAO) classes.
Many applications offer context menus associated with the application’s icon. On Windows systems, these menus are located in the system tray. If you’re working on a Mac OS X system, you’ll find these menus in the dock bar. Generally, these menus have shortcuts for the most common functions of the application you’re using. These menus might also contain commands that must be accessible even when the application is minimized or hidden by the desktop.
The AIR runtime allows you to manage and interact with the system tray and dock bar icons of your application. You can define context menus for them. On Microsoft Windows systems, the icons in the system tray don’t have any default context menus, so unless you have a specially prepared menu to display, it won’t provide a context menu. Mac OS X systems, on the other hand, have a default menu for dock bar icons. The menus you create will be added to the default menu provided by the operating system. You can’t modify or remove the default menus provided by the system for dock bar icons.
The application you will create in the next section will run on both Windows and Mac OS X.
Assigning a menu to an application icon
Start by opening the ch06p04.fla file in Flash CS4. The project, like the previous ones, only has an output TextArea. This TextArea will display the messages regarding the status of your application.
The project, as shown in Figure 6-13, displays an icon in the system tray or dock bar of the local system, which is why a symbol has been prepared in the library. The symbol is a movie clip: Application Icon, which represents the way you want to show the application icon. In the Symbol Properties panel, shown in Figure 6-14, the class name of the symbol has been specified: ApplicationIcon . This class name allows you to instantiate the symbol in the library via ActionScript.
Figure 6-13. The stage and Library panel of the ch06p04.fla project
Figure 6-14. The Symbol Properties panel
You access the document class of the Flash project by clicking the Edit class definition icon on the Document Properties panel. Like for the other projects in this chapter, the Flash project has been set up to not declare the variables automatically for the elements on the stage. You’ll have to specify them yourself in the class associated with the project.
The class starts by declaring the namespace and the dependence on external classes, as shown here:
package com.comtaste.foed.essentialair.chapter6
{
import fl.controls.TextArea;
import flash.desktop.DockIcon;
import flash.desktop.NativeApplication;
import flash.desktop.SystemTrayIcon;
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.display.NativeMenu;
import flash.display.NativeMenuItem;
import flash.display.NativeWindow;
import flash.events.Event;
import flash.filesystem.File;
public class Ch06p04 extends MovieClip
{
Then you declare two class properties: one that refers to the component of the TextArea class on the stage of the project, and one to contain the native menu that the application will use:
// onstage components
public var output:TextArea;
// class properties
private var menuRoot:NativeMenu;
Continue reading "Creating Dock and System tray icon menus with AIR" »
My second contribution to InsideRIA portal is online.
The article "Yahoo Maps Web Services" is an excerpted from Chapter 18 of the O'Reilly Adobe AIR 1.5 Cookbook (by David Tucker, Marco Casario, Koen De Weggheleire, and Rich Tretola).
Yahoo provides two kind of APIs, according to the programming language you use:
The Ajax API is designed to use DHTML and JavaScript to host maps. Yahoo provides the JavaScript functions to make mapping a breeze.
The ActionScript 3 Flash APIs are designed to embed a map into your website or desktop application using the ActionScript 3 Maps API with Adobe Flash and Flex.
This dual possibility is a perfect match with AIR, which allows you to integrate Ajax as well as ActionScript applications.
In this article you'll learn how to consume Yahoo Maps APIs in AIR using ActionScript 3 as well as JavaScript.
The Essential Guide to Flash CS4 AIR Development book is oriented to Flash developers interested in building desktop applications via Adobe AIR. You can order The Essential Guide to Flash CS4 AIR Development on Amazon or buy it on local bookstore.
This is the sixth part of the series dedicated to AIR menus (Chapter
6 of the Essential Guide to Flash CS4 AIR Development). You can read
the previous articles here:
Context menus
appear at the cursor when the user right- clicks (on Windows) or Ctrl-
clicks (on the Mac). Contrary to Flash applications for the Web, AIR
applications don’t offer any default context menus, so it’s up to the
developer to create and populate context menus for the application if
necessary.
Context menus can be created with two different ActionScript classes:
You can only use the NativeMenu class for AIR applications, whereas you can use the ContextMenu class for both AIR applications and those that have been created to be executed in a web environment with Flash Player.
To create a native context menu, you populate the nativeMenuRoot context menu . This menu belongs to the NativeMenu class, in the body of the reateNativeMenu() method in the Ch06p03.as class . Here’s the code:
// create a complete native menu
private function createNativeMenu():void
{
Next, assign an instance of the NativeMenu class to the nativeMenuRoot class property .You add two submenus as the first elements of the menu, which are respectively generated by the createFirstSubMenu() and createSecondSubMenu() methods . To add elements to the menu, you use the addItem() method of the NativeMenu class:
// instantiate main menu object
nativeMenuRoot = new NativeMenu();
// append subMenus to menu root
nativeMenuRoot.addItem( createFirstSubMenu() );
nativeMenuRoot.addItem( createSecondSubMenu() );
After the two submenus, you add a separator element to the menu. Remember, you have to create an instance of the NativeMenuItem class to add an item separator, and then you assign the true Boolean value as a second argument to the constructor of the class, as shown here:
// append item separator to root of menu
var itemSeparator:NativeMenuItem = new NativeMenuItem( "", true );
nativeMenuRoot.addItem( itemSeparator );
Finally, you add two more elements after the separator. These elements aren’t submenus, but selectable items, so you register an event listener method for the selection event on each of them. The items are instances of the NativeMenuItem class.
// append command directly to root of menu
var subCommand1:NativeMenuItem =
new NativeMenuItem( "subCommand 1" );
subCommand1.addEventListener( Event.SELECT, menuItemSelected );
nativeMenuRoot.addItem( subCommand1 );
// append another command directly to root of menu
var subCommand2:NativeMenuItem =
new NativeMenuItem( "subCommand 2" );
subCommand2.addEventListener( Event.SELECT, menuItemSelected );
nativeMenuRoot.addItem( subCommand2 );
}
The createNativeMenu() method uses the createFirstSubMenu() and create SecondSubMenu() methods to define its first two elements. These methods are similar to
the ones you used in the ch06p01.fla project to instantiate and populate the items of a native menu.
Continue reading "Creating native and non-native AIR context menu with Flash CS4" »
I've first talked about DAO-Ext during my presentation at FITC Amsterdam, where I've shown a couple of tecniques to work with local persisten SQLite data with AIR.
The DAO design pattern was created by Sun to abstract and encapsulate all access to the data source. The DAO manages the connection with the data source to obtain and store data.
Working with SQLite databases in AIR, it's important to define and mantain a consisten and highly reusable approach with data. To be more precise it's important to abstract your View from all the data access logic. Doing that you'll ba able to reuse DAO classes for different Views of your AIR applications.
In terms of development it means to create several ActionScript classes that implement the DAO pattern and that uses ActionScript Value objects as entity. This repetitive task could make you spend a lot of annoying time.
That's why at Comtaste we've decided to create DAO-Ext, a simple AIR tool that allows us to auto-generate the necessary ActionScript code and save us a lot of time.
DAO-Ext is an Adobe AIR tool that allows developers to automatically generate ActionScript Data Access Objects (DAO) and Value Objects starting from a local SQLite database. The project is totally free and open source.
For this first release the tool allows developers to:
The DAO-Ext tool has beend released by Comtaste as an open source project. You can easily download the AIR file and install on your desktop (cross platform) and start using it to auto-generate ActionScript Value objects and Data Access Object (DAO) classes.
This is a very first build of DAO-Ext and we've a lot of ideas in mind to implement and add new features. We're very curios to see how the community will use this tool and we'd love to have some supporters that contribute to the project.
So feel free to send me an email !