مشخصات کتاب
-
Véronique Brossier
-
2011
-
انگلیسی
-
428
-
114
-
0
Developing Android Applications with Adobe AIR
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
1. AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Installing the Adobe Development Tools 2
Flash Professional CS5.5 2
Flash Builder 4.5 2
Installing the AIR Runtime on an Android Device 2
What Is in the AIR SDK 3
New ActionScript Libraries 4
Functionalities Not Yet Supported 5
AIR on the Desktop Versus AIR on Android 5
Mobile Flash Player 10.1 Versus AIR 2.6 on Android 6
2. Call Me, Text Me . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Setting Up Your Device 8
Creating a Project 8
Using Flash Professional 8
Using Flash Builder 9
Creating the Application Descriptor 9
Using Flash Professional 9
Using Flash Builder 9
Writing the Code 10
Using Flash Professional 11
Using Flash Builder 12
Packaging Your Application As an APK File and Installing
It on the Device 12
Using Flash Professional 12
Using Flash Builder 13
Testing and Debugging 13Using Flash Professional 13
Using Flash Builder 14
Mobile Utility Applications 15
Launchpad 15
Device Central CS5 15
Package Assistant Pro 15
De MonsterDebugger 16
Installing AIR on an Android Device via a Server 16
Other Tools 16
Conclusion 18
3. Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Android Software Development Kit 20
Installing the Android SDK 20
Installing the Android Debug Bridge 21
Detecting Your Device 22
Using the Dalvik Debug Monitor 22
Using the logcat Command 23
Using the Virtual Device Manager and Emulator 24
How Does AIR Run on Android? 25
Starting AIR with intent 25
AIR Access to Android APIs 26
Using the Command-Line Tool 27
A Basic Review 27
Conclusion 28
4. Permissions, Certificates, and Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Why Mobile? 29
The APK File 30
Creating the Application Icon 30
Choosing the Application Settings 31
Setting Permissions 33
Packaging External Resources 36
Signing Your Application with a Certificate 36
Versioning 37
Registering As an Android Developer 38
Publishing an Application on the Android Market 38
Uploading Assets 38
Listing Details 38
Publishing Options 39
Distributing Applications via Adobe InMarket 39
Publishing for the Amazon Market 40
Controlling Distribution by Using the MAC Address 40Launching an AIR Application 41
Monetizing Your Application 41
Paid Applications 41
Mobile Ads 41
Reporting 42
Conclusion 43
5. Evaluating Device Capabilities and Handling Multiple Devices . . . . . . . . . . . . . . . . . 45
Hardware 45
The Processor 46
Memory and Storage 46
The Camera 46
Sensors 46
The Battery 46
The Display 47
Software 47
Performance 48
Capabilities 48
Orientation 49
Creating Content for Multiple Screens 50
Asset Scaling and Positioning 51
Vector Graphics or Bitmaps? 54
Developing a Deployment Strategy 54
Considering Connectivity 55
Conclusion 55
6. Opening and Closing an Application and Saving Data . . . . . . . . . . . . . . . . . . . . . . . . 57
The AIR Application 58
Opening the Application 58
Closing the Application 58
Moving Between the Background and Foreground 59
Setting Back, Menu, and Search Buttons 61
Overriding a Dimmed Screen 61
Why and How to Save Data 62
Internal or External Storage? 63
Local SharedObject 65
The Filesystem 66
Using the SQLite Database 70
Embedding a Database 76
Using Encrypted Local Storage 77
Conclusion7. Multitouch Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
A Brief History 79
What Is Multitouch and Gesture? 80
How Does It Work? 80
The Multitouch Class 81
The GestureEvent Class 82
The Zoom Gesture 82
The Rotate Gesture 83
The Pan Gesture 85
The Swipe Gesture 86
The Press and Tap Gesture 87
The Two-Finger Tap Gesture 88
The TouchEvent Class 88
The GestureWorks Library 91
Designing for Touch 91
Conclusion 92
8. Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
What Is a Motion Sensor? 93
The Accelerometer Class 93
Visualizing the Values 95
A Simple Animation 95
Updates and Screen Rendering 96
Setting Boundaries 97
Rotating Toward the Center 98
Shake Me 99
Smoothing Out Values 100
Conclusion 102
9. Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
The Gallery Application and the CameraRoll Class 103
Selecting an Image 104
Adding an Image 109
The Camera Application and the CameraUI Class 109
Uploading to a Remote Server 111
EXIF Data 111
Conclusion 114
10. Geolocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Geolocation Classes 115
The GeolocationEvent Class 117
Locating a Device Using Global Positioning System and Network/WiFi
Technology 118Using GPS 119
Using the Cellular Network and WiFi 119
How to Know if GPS or WiFi Is Active 120
AIR and Android 121
Reverse Geocoding 122
Maps 124
Launching Google Maps 124
Static Maps 125
Dynamic Maps 129
EXIF Data and the Map Object 132
The speed Property 134
Conclusion 134
11. Microphone and Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
The Microphone 137
Recording Audio 138
Playing Back Audio 139
Saving a Recording 140
Audio Assets 144
Embedding Files 144
Using External Files 144
Settings and the Audio Codec 145
Working with Sounds 147
Loading Sounds 147
Playing Sounds 149
Displaying Progress 149
Stopping Sounds 150
Resuming Sounds 151
Accessing Metadata 151
Audio Example Using Multitouch 152
ID3 Tags 152
Modifying Sound 152
Controlling Volume 152
Panning 154
Raw Data and the Sound Spectrum 154
Audio and Application Activity 158
Conclusion 158
12. Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Preparing Video 161
Codecs 161
Bit Rate 163
Frame Rate 163Resolution 163
Performance 164
Playing Video 164
Embedded Video 165
External Video 165
Progressive Video 165
RTMP Streaming 169
HTTP Dynamic Streaming 171
Peer-to-Peer Communication 171
Controls 171
YouTube 172
Capturing Video 172
Video and the CameraUI Class 172
The Camera Class 175
Documentation and Tutorials 176
Conclusion 176
13. StageWebView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
The Native Browser 177
The StageWebView Class 178
Design Considerations 180
Local Use 181
Mobile Ads 182
Services and Authentication 184
Limitations 185
Conclusion 185
14. Hardware Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Some Definitions 187
Rendering, or How Things Are Drawn to the Screen 188
Computation 189
Edge and Color Creation 189
Rasterization 189
Presentation 190
GPU Rendering on Android 190
The cacheAsBitmap Property 190
The cacheAsBitmapMatrix Property 193
The Display List 195
Memory Consumption 195
Tree Structure 196
Node Relationship 196
MovieClip with Multiple Frames 198
Interactivity 198Events 273
Event Propagation 274
One Listener for Many Children 275
Generic and Custom Events 276
Diagnostics Tools 277
Hi-Res-Stats 277
Flash Builder Profiler 278
Flash Preload Profiler 279
Grant Skinner’s PerformanceTest 279
Native Tools 279
Conclusion 279
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281