Book description
Describes how to use Flex Builder and the Flex SDK to build AIR applications.
Table of contents
- 1. Installation instructions
- 2. Getting started
-
3. AIR development tools
- 3.1. Developing AIR applications with Flex Builder
-
3.2. Creating an AIR application using the command line tools
- 3.2.1. Compiling an AIR application with the amxmlc compiler
- 3.2.2. Compiling an AIR component or library with the acompc compiler
- 3.2.3. Using the AIR Debug Launcher (ADL)
- 3.2.4. Packaging an AIR installation file using the AIR Developer Tool (ADT)
- 3.2.5. Creating a self-signed certificate with ADT
- 3.2.6. Using Apache Ant with the SDK tools
-
3.3. Using the Flex AIR components
- 3.3.1. About file system controls
- 3.3.2. FileSystemComboBox control
- 3.3.3. FileSystemTree control
- 3.3.4. FileSystemList control
- 3.3.5. FileSystemDataGrid control
- 3.3.6. FileSystemHistoryButton control
- 3.3.7. Example: Displaying a directory structure with Flex AIR
- 3.3.8. About the HTML control
- 3.3.9. About the FlexNativeMenu control
- 3.3.10. About window containers
-
4. Application development essentials
-
4.1. AIR security
-
4.1.1. Installation and updates
- 4.1.1.1. AIR runtime installation location
- 4.1.1.2. Seamless install (runtime and application)
- 4.1.1.3. Manual install
- 4.1.1.4. Application installation flow
- 4.1.1.5. Application destination
- 4.1.1.6. The AIR file system
- 4.1.1.7. AIR application storage
- 4.1.1.8. Updating Adobe AIR
- 4.1.1.9. Updating AIR applications
- 4.1.1.10. Uninstalling an AIR application
- 4.1.1.11. Uninstalling Adobe AIR
- 4.1.1.12. Windows registry settings for administrators
- 4.1.2. Sandboxes
- 4.1.3. HTML security
- 4.1.4. Scripting between content in different domains
- 4.1.5. Writing to disk
- 4.1.6. Working securely with untrusted content
- 4.1.7. Best security practices for developers
- 4.1.8. Code Signing
-
4.1.1. Installation and updates
-
4.2. Setting AIR application properties
- 4.2.1. The application descriptor file structure
-
4.2.2. Defining properties in the application descriptor file
- 4.2.2.1. Defining the basic application information
- 4.2.2.2. Defining the installation folder and program menu folder
- 4.2.2.3. Defining the properties of the initial application window
- 4.2.2.4. Specifying icon files
- 4.2.2.5. Providing a custom user interface for application updates
- 4.2.2.6. Allowing browser invocation of the application
- 4.2.2.7. Declaring file type associations
- 4.3. New functionality in Adobe AIR
-
4.1. AIR security
-
5. Windows, menus, and taskbars
-
5.1. Working with native windows
- 5.1.1. AIR window basics
- 5.1.2. Creating windows
-
5.1.3. Managing windows
- 5.1.3.1. Getting a NativeWindow instance
- 5.1.3.2. Activating, showing and hiding windows
- 5.1.3.3. Changing the window display order
- 5.1.3.4. Closing a window
- 5.1.3.5. Allowing cancellation of window operations
- 5.1.3.6. Maximizing, minimizing, and restoring a window
- 5.1.3.7. Example: Minimizing, maximizing, restoring and closing a window
- 5.1.3.8. Resizing and moving a window
- 5.1.3.9. Example: Resizing and moving windows
- 5.1.4. Listening for window events
- 5.1.5. Displaying full-screen windows
- 5.2. Screens
- 5.3. Working with native menus
- 5.4. Taskbar icons
-
5.1. Working with native windows
-
6. Files and data
-
6.1. Working with the file system
- 6.1.1. AIR file basics
-
6.1.2. Working with File objects
- 6.1.2.1. About the File class
- 6.1.2.2. Paths of File objects
-
6.1.2.3. Pointing a File object to a directory
- 6.1.2.3.1. Pointing to the user's home directory
- 6.1.2.3.2. Pointing to the user's documents directory
- 6.1.2.3.3. Pointing to the desktop directory
- 6.1.2.3.4. Pointing to the application storage directory
- 6.1.2.3.5. Pointing to the application directory
- 6.1.2.3.6. Pointing to the filesystem root
- 6.1.2.3.7. Pointing to an explicit directory
- 6.1.2.3.8. Navigating to relative paths
- 6.1.2.3.9. Letting the user browse to select a directory
- 6.1.2.3.10. Pointing to the directory from which the application was invoked
- 6.1.2.4. Pointing a File object to a file
- 6.1.2.5. Modifying File paths
- 6.1.2.6. Supported URL schemes
- 6.1.2.7. Finding the relative path between two files
- 6.1.2.8. Obtaining canonical versions of file names
- 6.1.2.9. Working with packages and symbolic links
- 6.1.3. Getting file system information
- 6.1.4. Working with directories
- 6.1.5. Working with files
-
6.1.6. Reading and writing files
- 6.1.6.1. Workflow for reading and writing files
-
6.1.6.2. Working with FileStream objects
- 6.1.6.2.1. FileStream open modes
- 6.1.6.2.2. Initializing a FileStream object, and opening and closing files
- 6.1.6.2.3. The position property of a FileStream object
- 6.1.6.2.4. The read buffer and the bytesAvailable property of a FileStream object
- 6.1.6.2.5. Asynchronous programming and the events generated by a FileStream object opened asynchronously
- 6.1.6.2.6. Data formats, and choosing the read and write methods to use
- 6.1.6.3. Example: Reading an XML file into an XML object
- 6.1.6.4. Example: Reading and writing data with random access
-
6.2. Drag and Drop
- 6.2.1. Drag and drop basics
- 6.2.2. Supporting the drag-out gesture
- 6.2.3. Supporting the drag-in gesture
-
6.2.4. HTML Drag and drop
- 6.2.4.1. Default drag and drop behavior
- 6.2.4.2. Drag-and-drop events in HTML
- 6.2.4.3. MIME types for the HTML drag-and-drop
- 6.2.4.4. Drag effects in HTML
- 6.2.4.5. Dragging data out of an HTML element
- 6.2.4.6. Dragging data into an HTML element
- 6.2.4.7. Example: Overriding the default HTML drag-in behavior
- 6.2.4.8. Handling file drops in non-application HTML sandboxes
- 6.3. Copy and paste
- 6.4. Working with byte arrays
-
6.5. Working with local SQL databases
- 6.5.1. About local SQL databases
- 6.5.2. Creating and modifying a database
-
6.5.3. Manipulating SQL database data
- 6.5.3.1. Connecting to a database
- 6.5.3.2. Working with SQL statements
- 6.5.3.3. Using parameters in statements
- 6.5.3.4. Retrieving data from a database
- 6.5.3.5. Inserting data
- 6.5.3.6. Changing or deleting data
- 6.5.3.7. Working with multiple databases
- 6.5.3.8. Handling database errors
- 6.5.3.9. Working with database data types
- 6.5.4. Using synchronous and asynchronous database operations
-
6.5.5. Strategies for working with SQL databases
- 6.5.5.1. Distributing a pre-populated database
- 6.5.5.2. Improving database performance
-
6.5.5.3. Best practices for working with local SQL databases
- 6.5.5.3.1. Pre-create database connections
- 6.5.5.3.2. Reuse database connections
- 6.5.5.3.3. Favor asynchronous execution mode
- 6.5.5.3.4. Use separate SQL statements and don't change the SQLStatement's text property
- 6.5.5.3.5. Use statement parameters
- 6.5.5.3.6. Use constants for column and parameter names
- 6.6. Storing encrypted data
-
6.1. Working with the file system
-
7. HTML content
-
7.1. About the HTML environment
- 7.1.1. Overview of the HTML environment
-
7.1.2. AIR and Webkit extensions
-
7.1.2.1. JavaScript in AIR
- 7.1.2.1.1. HTML Sandboxes
- 7.1.2.1.2. JavaScript eval() function
- 7.1.2.1.3. Function constructors
- 7.1.2.1.4. Loading external scripts
- 7.1.2.1.5. The XMLHttpRequest object
- 7.1.2.1.6. The Canvas object
- 7.1.2.1.7. Cookies
- 7.1.2.1.8. The Clipboard object
- 7.1.2.1.9. Drag and Drop
- 7.1.2.1.10. innerHTML and outerHTML properties
- 7.1.2.1.11. Document.write() and Document.writeln() functions
- 7.1.2.1.12. Document.designMode property
- 7.1.2.1.13. unload events (for body and frameset objects)
- 7.1.2.1.14. JavaScript Window object
- 7.1.2.1.15. air.NativeApplication object
- 7.1.2.1.16. The javascript URL scheme
- 7.1.2.2. Extensions to HTML
- 7.1.2.3. Extensions to CSS
- 7.1.2.4. Unsupported standard and extended features
-
7.1.2.1. JavaScript in AIR
-
7.2. Programming in HTML and JavaScript
- 7.2.1. About the HTMLLoader class
-
7.2.2. Avoiding security-related JavaScript errors
- 7.2.2.1. Causes security-related JavaScript errors
- 7.2.2.2. Mapping application content to a different sandbox
- 7.2.2.3. eval() function
- 7.2.2.4. Assigning properties to an object
- 7.2.2.5. Creating a new function with variables available in context
- 7.2.2.6. Creating an object using the name of the class as a string parameter
- 7.2.2.7. setTimeOut() and setInterval()
- 7.2.2.8. Function constructor
- 7.2.2.9. javascript: URLs
- 7.2.2.10. Event callbacks assigned through onevent attributes in innerHTML and outerHTML statements
- 7.2.2.11. Loading JavaScript files from outside the application installation directory
- 7.2.2.12. document.write() and document.writeln()
- 7.2.2.13. Synchronous XMLHttpRequests before the load event or during a load event handler
- 7.2.2.14. Dynamically created script elements
- 7.2.3. Accessing AIR API classes from JavaScript
- 7.2.4. About URLs in AIR
- 7.2.5. Making ActionScript objects available to JavaScript
- 7.2.6. Accessing DOM and JavaScript objects from ActionScript
- 7.2.7. Using ActionScript libraries within an HTML page
- 7.2.8. Converting Date and RegExp objects
- 7.2.9. Manipulating an HTML stylesheet from ActionScript
-
7.2.10. Cross-scripting content in different security sandboxes
- 7.2.10.1. AIR security sandboxes and JavaScript code
- 7.2.10.2. Loading application content into a non-application sandbox
- 7.2.10.3. Setting up a sandbox bridge interface
- 7.2.10.4. Establishing a child sandbox bridge
- 7.2.10.5. Establishing a parent sandbox bridge
- 7.2.10.6. Accessing a parent sandbox bridge during page loading
- 7.3. Handling HTML-related events
-
7.4. Scripting the HTML Container
- 7.4.1. Display properties of HTMLLoader objects
- 7.4.2. Scrolling HTML content
- 7.4.3. Accessing the HTML history list
- 7.4.4. Setting the user agent used when loading HTML content
- 7.4.5. Setting the character encoding to use for HTML content
-
7.4.6. Defining browser-like user interfaces for HTML content
- 7.4.6.1. About extending the HTMLHost class
- 7.4.6.2. Example: Extending the HTMLHost class
- 7.4.6.3. Handling changes to the window.location property
- 7.4.6.4. Handling JavaScript calls to window.moveBy(), window.moveTo(), window.resizeTo(), window.resizeBy()
- 7.4.6.5. Handling JavaScript calls to window.open()
- 7.4.6.6. Handling JavaScript calls to window.close()
- 7.4.6.7. Handling changes of the window.status property
- 7.4.6.8. Handling changes of the window.document.title property
- 7.4.6.9. Handling JavaScript calls to window.blur() and window.focus()
- 7.4.6.10. Creating windows with scrolling HTML content
- 7.4.7. Creating subclasses of the HTMLLoader class
-
7.1. About the HTML environment
- 8. Rich media content
- 9. Interacting with the operating system
- 10. Networking and communications
-
11. Distributing and updating applications
-
11.1. Distributing, Installing, and Running AIR applications
- 11.1.1. Installing and running an AIR application from the desktop
-
11.1.2. Installing and running an AIR applications from a web page
- 11.1.2.1. About customizing the seamless install badge.swf
- 11.1.2.2. Using the badge.swf file to install an AIR application
- 11.1.2.3. Loading the air.swf file
- 11.1.2.4. Checking if the AIR runtime is installed
- 11.1.2.5. Checking from a web page if an AIR application is installed
- 11.1.2.6. Installing an AIR application from the browser
- 11.1.2.7. Launching an installed AIR application from the browser
- 11.1.3. Digitally signing an AIR file
- 11.2. Updating AIR applications
-
11.1. Distributing, Installing, and Running AIR applications
Product information
- Title: Developing AIR applications with Flex
- Author(s):
- Release date: January 2008
- Publisher(s): Adobe Systems
- ISBN: 00120090015SI
You might also like
book
Enterprise Development with Flex
If you want to use Adobe Flex to build production-quality Rich Internet Applications for the enterprise, …
book
Beginning Adobe® AIR™: Building Applications for the Adobe Integrated Runtime
If you're ready to take advantage of Adobe Integrated Runtime (AIR) to build desktop-based Rich Internet …
book
Adobe AIR Programming Unleashed
Covers version 1.5 of Adobe AIR Written to help you hit the ground running, this book …
book
Motion for Mac OS X: Visual QuickStart Guide
Offering never-before-seen features like the ability to preview multiple HD videos in real time and Behaviors-based …