Start learning with our library of video tutorials taught by experts. Get started
Viewers: in countries Watching now:
Join James Talbot, as he reviews the new features in Adobe Flex, Flash Builder, and AIR for mobile application developers. This course covers the Spark components for building mobile user interfaces in the Flex SDK, and the AIR support for native extensions, which enable applications to use parts of the host operating systems that were previously unavailable. The course also describes new testing and network monitoring capabilities available with Flash Builder 4.6, and the ability for Android applications to be deployed without relying on a separate runtime.
In this video we're going to explore the native Android code that we need to create in order to use a native extension within Flash Builder and AIR. So the native Android library is in the directory here called VibrationAndroidLibrary in your student files. Now generally most Android developers utilize Eclipse with the Android extensions installed. We're just going to take a look at this code and explore it, and we can just utilize Flash Builder as Flex developers here.
Now if you were utilizing this in native Eclipse, you would actually build the Eclipse file. What you'd have to do is you would have to take the Flash runtime extension.jar file, which is inside the AIR SDK, and it's under the Lib directory under Android, and you'd have to copy that to your directory inside of your Eclipse project called VibrationAndroidLibrary libs to actually successfully build it. Again, now we're just going to look at the code and what our Android developers would need to do.
So just click File > Open File in Flash Builder, and then browse to your exercise files, go to Vibration, and you'll see that there's a directory in here called VibrationAndroidLibrary. So this is your Eclipse project that you can actually import into Eclipse, and you'll see there is an SRC directory source, and then we have AIR, and we have extensions, and here you'll look at the VibrationExtension.java file. So I'm going to go ahead and open that, and you'll see here that this works actually by implementing the FREExtension class, right here.
So again, this actually needs to be able to work, and this is part of the native library. So also, if you look at the VibrationExtensionContext here, okay, you'll also see that there is a VibrationExtensionContext file. And notice of these implements the FREContext class as well, and you can also see that there is a VibrationSupportedFunction that determines whether or not this is actually supported. And again, all of these implement the FREFREFFunction class.
The native library contains examples of utilizing these different FRE object methods, such as get as int and new object. So in the initialization, the native library uses the get activity method of the FREContext class to get the application's Android activity. Using the returned activity, the initialization method, which is the vibration initNativeCodeFunction.call, actually gets the vibration service.
Okay, so you can see that. And again, the call from the ActionScript side to the ExtensionContext.createExtensionContext must return before the native library can call methods of the object derived from this class, from the FREContext class. So therefore, the call of the get activity occurs in the initialization function that the ActionScript side calls after the return from the create extension context.
The call to get activity cannot occur in the FREContext object constructor. So again, as ActionScript developers, that's what you need to worry about most of all, and you need to make sure that your Android developers derive their objects from these classes.
There are currently no FAQs about Flex 4.6 and AIR 3.0 New Features for Mobile Apps.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.