Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Developing Android Applications with Adobe AIR
SPECIAL OFFER: Upgrade this ebook with O’Reilly
A Note Regarding Supplemental Files
Foreword
Preface
Audience
Assumptions This Book Makes
Contents of This Book
Conventions Used in This Book
Using Code Examples
We’d Like to Hear from You
Safari® Books Online
Acknowledgments
1. AIR
Installing the Adobe Development Tools
Flash Professional CS5.5
Flash Builder 4.5
Installing the AIR Runtime on an Android Device
What Is in the AIR SDK
New ActionScript Libraries
Functionalities Not Yet Supported
AIR on the Desktop Versus AIR on Android
Mobile Flash Player 10.1 Versus AIR 2.6 on Android
2. Call Me, Text Me
Setting Up Your Device
Creating a Project
Using Flash Professional
Using Flash Builder
Creating the Application Descriptor
Using Flash Professional
Using Flash Builder
Writing the Code
Using Flash Professional
Using Flash Builder
Packaging Your Application As an APK File and Installing It on the Device
Using Flash Professional
Using Flash Builder
Testing and Debugging
Using Flash Professional
Using Flash Builder
Mobile Utility Applications
Launchpad
Device Central CS5
Package Assistant Pro
De MonsterDebugger
Installing AIR on an Android Device via a Server
Other Tools
Conclusion
3. Android
Android Software Development Kit
Installing the Android SDK
Installing the Android Debug Bridge
Detecting Your Device
Using the Dalvik Debug Monitor
Using the logcat Command
Accessing the device’s filesystem
Using the Virtual Device Manager and Emulator
How Does AIR Run on Android?
Starting AIR with intent
AIR Access to Android APIs
Using the Command-Line Tool
A Basic Review
The PATH environment variable
Conclusion
4. Permissions, Certificates, and Installation
Why Mobile?
The APK File
Creating the Application Icon
Choosing the Application Settings
Setting Permissions
Packaging External Resources
Signing Your Application with a Certificate
Versioning
Registering As an Android Developer
Publishing an Application on the Android Market
Uploading Assets
Listing Details
Publishing Options
Distributing Applications via Adobe InMarket
Publishing for the Amazon Market
Controlling Distribution by Using the MAC Address
Launching an AIR Application
Monetizing Your Application
Paid Applications
Mobile Ads
Reporting
Conclusion
5. Evaluating Device Capabilities and Handling Multiple Devices
Hardware
The Processor
Memory and Storage
The Camera
Sensors
The Battery
The Display
Software
Performance
Capabilities
Orientation
Creating Content for Multiple Screens
Asset Scaling and Positioning
Dynamic positioning
Vector Graphics or Bitmaps?
Using vector graphics
Using bitmaps
Developing a Deployment Strategy
Considering Connectivity
Conclusion
6. Opening and Closing an Application and Saving Data
The AIR Application
Opening the Application
Closing the Application
Moving Between the Background and Foreground
Setting Back, Menu, and Search Buttons
Overriding a Dimmed Screen
Why and How to Save Data
Internal or External Storage?
Local SharedObject
The Filesystem
Writing data to the file
Reading a file
Deleting a file
Choosing between synchronous and asynchronous mode
Writing data and saving it to temporary files
Using the SQLite Database
Creating the database file
Opening the database file
Creating the table
Adding data
Requesting data
Editing existing data
Embedding a Database
Using Encrypted Local Storage
Conclusion
7. Multitouch Technology
A Brief History
What Is Multitouch and Gesture?
How Does It Work?
The Multitouch Class
The GestureEvent Class
The Zoom Gesture
The Rotate Gesture
The Pan Gesture
The Swipe Gesture
The Press and Tap Gesture
The Two-Finger Tap Gesture
The TouchEvent Class
The GestureWorks Library
Designing for Touch
Conclusion
8. Accelerometer
What Is a Motion Sensor?
The Accelerometer Class
Visualizing the Values
A Simple Animation
Updates and Screen Rendering
Setting Boundaries
Rotating Toward the Center
Shake Me
Smoothing Out Values
Using a high-pass filter
Using a low-pass filter
Conclusion
9. Camera
The Gallery Application and the CameraRoll Class
Selecting an Image
Adding an Image
The Camera Application and the CameraUI Class
Uploading to a Remote Server
EXIF Data
Conclusion
10. Geolocation
Geolocation Classes
The GeolocationEvent Class
Locating a Device Using Global Positioning System and Network/WiFi Technology
Using GPS
Signal-to-noise ratio
Assisted GPS
Using the Cellular Network and WiFi
How to Know if GPS or WiFi Is Active
AIR and Android
Reverse Geocoding
Maps
Launching Google Maps
Static Maps
The Yahoo! Map Image API
The Google Static Maps API
Dynamic Maps
The Google Maps API for Flash
Styled Maps support
Google Maps 5
EXIF Data and the Map Object
The speed Property
Conclusion
11. Microphone and Audio
The Microphone
Recording Audio
Playing Back Audio
Saving a Recording
The BLOB type
WAV files
Open source libraries
Saving to a remote server
Audio Assets
Embedding Files
Using Flash Professional
Using Flash Builder
Using External Files
Settings and the Audio Codec
Compression
Bit rate
Sampling rate
Stereo or mono
Working with Sounds
Loading Sounds
Streaming
Playing Sounds
Displaying Progress
Stopping Sounds
Resuming Sounds
Accessing Metadata
Audio Example Using Multitouch
ID3 Tags
Modifying Sound
Controlling Volume
Panning
Raw Data and the Sound Spectrum
Audio and Application Activity
Conclusion
12. Video
Preparing Video
Codecs
Encoding
Decoding
Bit Rate
Frame Rate
Resolution
Performance
Playing Video
Embedded Video
External Video
Progressive Video
SD card
Browsing for video
Metadata
Cue points
Buffering
RTMP Streaming
RTMP server
Local Flash Media Server
HTTP Dynamic Streaming
Peer-to-Peer Communication
Controls
YouTube
Capturing Video
Video and the CameraUI Class
The Camera Class
Documentation and Tutorials
Conclusion
13. StageWebView
The Native Browser
The StageWebView Class
Design Considerations
Local Use
Mobile Ads
Services and Authentication
Limitations
Conclusion
14. Hardware Acceleration
Some Definitions
Rendering, or How Things Are Drawn to the Screen
Computation
Edge and Color Creation
Rasterization
Presentation
GPU Rendering on Android
The cacheAsBitmap Property
The cacheAsBitmapMatrix Property
The Display List
Memory Consumption
Tree Structure
Node Relationship
MovieClip with Multiple Frames
Interactivity
Multiple Rendering Techniques
Maximum Texture Memory and Texture Size
2.5D Objects
How to Test the Efficiency of GPU Rendering
Matrices
Identity Matrix
Transformation Matrix
Matrices for Multiscreen Deployment
Matrices Not to Be Used in GPU Mode
Hardware-Accelerated Audio and Video
Conclusion
15. Your Device and Others
RTMFP UDP
P2P Over a Local Network
Color Exchange
Companion AIR Application
P2P Over a Remote Network
Simple Text Chat
Multicast Streaming
Publisher
Recipients
Sending and receiving data
Closing a stream
End-to-End Stream
Sending a peer-assisted stream
Receiving a stream
Directed Routing
Sending a message
Receiving a message
Relay
Treasure Hunt
Other Multiuser Services
Arduino and Physical Computing
Conclusion
16. ViewManager
Navigation
ViewManager
Creating views
The initial view display
The current view display
The IView interface
Creating a custom event
Individual Views
Inheritance
Breadcrumb Navigation
Flash Builder ViewNavigator
Conclusion
17. Case Study
The Album Application
Design
Architecture
Flow
Permissions
Navigation
Images
Audio
Reverse Geolocation
SQLite
P2P Connection
Scrolling Navigation
Desktop Functionality
Conclusion
18. Asset Management
Text
The Virtual Keyboard
Fonts
The Flash Text Engine
Optimizing Art
Bitmap Size and Mip Mapping
Vector Graphics at Runtime
Scaling
cacheAsBitmap
cacheAsBitmapMatrix
Vector to Bitmap
Compositing Vector Graphics
MovieClip with Multiple Frames
Sprite Sheet and Blitting
Blitting
Custom Cursor
Asynchronous Bitmap Decoding
Caching Assets
Components
Conclusion
19. Best Practices for Development
Resources on Optimization
Where to Find Help
Documentation
The Internet
The Community
How Does It Run?
The Concept of Frame
Calculating the frame rate
Improving performance
Memory
Creating Objects
Removing Objects
Garbage Collection
Events
Event Propagation
One Listener for Many Children
Generic and Custom Events
Diagnostics Tools
Hi-Res-Stats
Flash Builder Profiler
Flash Preload Profiler
Grant Skinner’s PerformanceTest
Native Tools
Conclusion
Index
About the Author
Colophon
SPECIAL OFFER: Upgrade this ebook with O’Reilly
← Prev
Back
Next →
← Prev
Back
Next →