Adobe AIR

Latin Flash Tour Mexico

by Alberto González on Oct.19, 2010, under Adobe AIR, Adobe Flash, Events, Tips & Tricks

La próxima semana, en los días 29 y 30 de Octubre de 2010, comenzará un extraordinario evento llamado “Latin Flash Tour”. Será la segunda ocasión que se realiza este evento teniendo por objetivo visitar diferentes paises de América latina mostrando las capacidades, funcionalidades y mejores aplicaciones de la plataforma Flash.
Este año el evento comenzará en la ciudad de México y finalizará en Río de Janeiro Brasil, pasando por Bogotá, Lima, Santiago y Buenos Aires.
El evento será de gran calidad y comenzará en la Universidad Iberoamericana con conferencias impartidas por Grant Garrett (Influxis), Jerry Chabolla (Influxis), Enrique Duvos (Adobe) y Lee Brimelow (Adobe).
Serán dos días intensos de conferencias y talleres que no se pueden perder.La página principal del evento es http://www.latinflashtour.com/ y el site del evento en la ciudad de México es http://www.latinflashtour.com.mx donde también pueden entcontrar la agenda de los días 29 y 30 de Oct y el registro.
Los temas de las conferencias y talleres son muy diversos y van desde Ilustración con Flash y Plataforma Flash para Diseñadores hasta AS3 en iPhone para Diseñadores Flash y Experiencias Multitouch pasando por FX con Flash y After Effects, APIs Sociales para Flash y muchos, muchos temas más.No se lo pierdan.

1 Comment : more...

[MAX09 - 01] AIR 2.0, New features

by Alberto González on Oct.13, 2009, under Adobe AIR, New Releases

In Adobe MAX I could attend many many conferences and I’d like to share the info.
In this first post I will tell you about the new features that are coming with AIR 2.0

  • Start native processes and applications: In AIR 2.0 you will be able to start a native application installed in the OS from you AIR application. This is very very useful.
  • Native Installers: You’ll also have Native Installers for the OS. You will be able to generate .exe, .dmg, .rpm or .deb when you package the file. Obviously the .air file is also included in the list.
  • New classes. FilePromise, URLFilePromise: You will use these classes when you want to download a file from the server but you don’t have the file reference yet. That’s why you will be telling AIR that you have a promise of a file.
  • Socket servers: This is an extraordinary feature. You will be able to configure and start a socket server from the AIR application. We know that FlashPlayer can connect to socket servers but now you will be able to start one from the AIR app and also secure socket servers with TLS
  • IPv6: Now you’ll have compatibility with IPv6.
  • NetworkInfo class: With this new class we can check detail information about the network in the hosting device. Information like the interfaces that are available in the host.
  • UDP support: We can now connect by UDP.
  • Audio encoding: This is an extraordinary functionality because with this feature we will be able to record the sound captured by the microphone without any server like FMS or any other. Basically we can encode the sound raw info as a sound.
  • Global Error Handling: Have you ever tried to handle the multiple errors that you forgot to catch ? Now we can do it. The global error handling will work as a general try and catch block for any exception that could happen during the app execution.
  • JavaScript Debugging and profiling: The ability to debug and profile javascript code in the AIR app will be integrated into the AIR 2.0 runtime. Profiling will be only available from Aptana.
  • New webkit features: Now the engine has a module that supports CSS3 :-D , custom styles can be applied to scrollbars, we can break up text across columns, and more.
  • Profiles for AIR applications: Defined in the application descriptor, we now have a set of profiles that enable/disable some functionality in the Application. We have a “desktop” profile, a “NativeDesktop” profile (for native installers), “mobile” profile (for mobile AIR applications) and “extenden mobile” profile.
  • AIR Mobile applications: Yes, we can now create AIR applications for mobile devices, including the iPhone and the applications for iPhone will be package as .ipa, a native iPhone Application.
  • Leave a Comment :, more...

    New AIR and Flash Player versions on July 2009

    by Alberto González on Aug.02, 2009, under Adobe AIR, New Releases

    As you may know there were discovered some critical vulnerabilities in Flash Player, Adobe AIR, Adobe Reader and Acrobat. These were important and forced Adobe to update the products as soon as possible.
    If you want to know the details of these vulnerabilities, you can read the next article http://www.adobe.com/support/security/bulletins/apsb09-10.html

    A new version of Flash Player was released the last week. Actually there were two versions: Flash Player 10.0.32.18 and 9.0.246. Both of them can be downloaded directly from the Flash Player Downloads page. There, you can get debug and projector versions of the Flash Players. As you can see, Adobe also updated Flash Player 9 instead of just updating Flash Player 10, this was because if you can not have Flash Player 10 installed in you machine for any reason, you will also be protected if you install the new Flash Player 9.
    Adobe also released a new version of Adobe AIR, the 1.5.2.8870 version. You can download this version directly from Adobe web site. Besides the fixed vulnerabilities in this new version, there were released more features like the isPerUser property in LocalConnection instances and, for Flash Player 10.0.32.18 and 9.0.246, the modification made to FileReference.save when running Internet Explorer in protected mode. You can see the details in this page http://kb2.adobe.com/cps/497/cpsid_49735.html.
    Talking about AIR 1.5.2 if you want to use the new features and code hinting you should download the new SDK also released (1.5.2) and change it in Adobe Flex/Flash Builder and Adobe Flash installations. You can get the SDK here http://www.adobe.com/cfusion/entitlement/index.cfm?e=airsdk. Also don’t forget to change the AIR version in the XML descriptor file of you new AIR application.
    That’s all for now.Regards.

    3 Comments :, , , , more...

    Working with Flash and Flash Builder in the same project

    by Alberto González on Jul.27, 2009, under ActionScript, Adobe AIR, Adobe Flash, Adobe Flex, Coding, Tips & Tricks

    This article shows how you can configure Adobe Flash and Flash Builder to work in a project. Let’s start.
    I created this post ’cause I love the programming tool of Flash Builder but there are projects that need to be created mainly in Flash. So, following these steps you will be able to have all the coding advantages of the Eclipse platform and still use Flash for the visual part of the project.

    1) Removing the Build Automatically option in Flash Builder: First open Adobe Flash Builder and before create any project or anything just remove the Build Automatically option located under Project -> Build Automatically. This will avoid Flash Builder to compile the code every time you save a file.
    2) Create an ActionScript project in Flash Builder: Let me tell you that the project structure created by Flash Builder is very useful so we’ll try to keep it. Select File -> New… -> ActionScript project. Chose a name for the project and the location, just remember that this will be the location where all the files, including FLA and asset files, will be stored.Click Next and here we will change two fields. First, for the “main source folder” we will type src/classes and for the “output folder” it will be deploy. These two changes will help us with the Flash / Flash Builder project.You can now click Finish.
    projectsettings_01
    projectsettings_02
    3) Change the super class of the main class to be MovieClip: This is because we’ll use this main class as the Document Class in the Flash file and if you don’t change the super class to MovieClip yo won’t be able to invoke methods like gotoAndPlay, gotoAndStop, nextFrame, stop, etc. If you don’t need to invoke this kind of methods you can leave Sprite as the super class.

    package{import flash.display.MovieClip;public class MyApplication extends MovieClip{public function MyApplication(){}}}

    4) Create the Fla file in Adobe Flash and place it in the right location: Open Adobe Flash, create a new Flash file and save the file under a folder named /flas that has to be at the same level of the folder named /classes. This folder is, remember, in the Flash Builder project.Once you save the file, change the publish settings in Flash and for the exported swf point to the folder named /deploy that is two levels up the folder where the fla file is stored.Export the swf, refresh the Flash Project Folders in Flash Builder and see if your project looks like this.
    package_explorer_01
    publish_settings_01
    5) Set up the classpath in Flash and set the main class of the Flash Builder project to be the Document Class in the Flash File: Go to Publish settings in Flash, in the Flash tab locate the “Settings…” button under the script section. Once there, set the source path to be ../classes/ and then, in the field “Document Class” type the name of the class generated by Flash Builder.
    publish_settings_02
    6) Final steps… Run, Debug and Profile configurations in Flash Builder: Go back to Flash Builder an press the little black arrow located just next to the Run button, yes the one that seems like a music stand play button. Select Run configurations… and then we just have to change the files that Flash Builder will run when we press the Run, Debug and Profile buttons. Locate Web Application in the left side, select it and the press the “New launch Configuration…” button located in the top side of that panel. Then type any name for the configuration and the most important step is to change the files that Flash Builder will launch. We do this unchecking the option “Use defaults” in the “URL or path to launch” section and, for the new names, we’ll just change the name of the file, not all the location. We have to point to the html or swf generated by Adobe Flash located in the same folder name /deploy. We have to change the 3 fields (one per action). If we do this step right, when we press “Run”, Flash Builder will launch the files generated and compiled by Adobe Flash.run_configuration_01
    7) Enable the debug mode in the fla file: If you try to debug or profile the swf file from Flash Builder after doing the previous step, you’ll notice a message saying that the swf file was not compiled for debugging. That’s true. Unlike Flash Builder, swf files generated by Adobe Flash are not for debugging by default. If we want to enable them for debugging we have to go to publish settings, once again in Adobe Flash, and in the Flash tab just enable the option “Permit Debugging”. Recompile the swf file from Flash and try to debug the Flash Builder project. You will get no errors now. Just, DON’T FORGET TO UNCHECK THE OPTION PERMIT DEBUGGING when you deploy the final project.

    Unfortunately we don’t have a way to compile a fla file to a swf without Adobe Flash so, anytime you want to compile the project you have to switch back to Adobe Flash and press Ctrl + Enter to export the swf. The advantage here is that you can code in Flash Builder and use all the features it has. The main class in Flash Builder is the Document Class in the Fla file so you can control everything from that class. Also yo can create more classes and packages all from Flash Builder. Actually you will use Flash for compiling and for adding visual information with the Flash tools.
    Enjoy the article and see you soon.

    9 Comments more...

    Filter an ArrayCollection and don’t lose the original data

    by Alberto González on May.02, 2009, under ActionScript, Adobe AIR, Adobe Flex, Coding, Tips & Tricks

    Yesterday, one of my students asked me about recovering the original data of an ArrayCollection if this ArrayCollection has a filter applied.In Adobe Flex, the ArrayCollection class has a property called filterFunction. We can assign a function reference directly to this property and then apply a refresh() to the ArrayCollection instance.This is an example.

    // Defining the ArrayCollection instanceprivate var ac:ArrayCollection = new ArrayCollection([{label:"Adobe Flex", data:"Fx"},{label:"Adobe Flash", data:"Fl"},{label:"Adobe After Effects", data:"Ae"},{label:"Adobe Flash Player", data:"fp"}]);//Defining the filter functionprivate function flashFilter(obj:Object):Boolean{return obj.label.toLowerCase().indexOf("flash") != -1;}//Applying the filterac.filterFunction = flashFilter;ac.refresh();

    Once the filter is applied, the ArrayCollection hides all the objects that don’t pass the validation in the function and shows the objects that do.
    An ArrayCollection stores internally an instance of the Array class. You can see that in the previous example where I place an array inside the constructor of the ArrayCollection.
    An ArrayCollection acts as a “wrapper” for the array instance enabling functionality that belongs to collections and lists. This functionality can be, filtering, sorting, add/remove/modify data and more.
    After you filter an ArrayCollection instance the “wrapper” only shows the unhidden objects and it seems like it only has 2 elements (in my example), I mean if you test the “length” property after the filter you will see that it shows the value 2. But we know the truth, the ArrayCollection actually has 4 elements. If you want to get back this 4 elements without clearing the filter you have to deep into the ArrayCollection and find the source. This source, as I said previously, is an Array.
    You will find the source using, in fact, the “source” property of the ArrayCollection. The array that will give you this property is the complete set of data that the ArrayCollection is storing without any filter. Just don’t forget that “source” is giving you an instance of an Array and not an instance of an ArrayCollection.

    //continuing the previous example...//Applying the filterac.filterFunction = flashFilter;ac.refresh();//Test the length property of the ArrayCollectiontrace(ac.length); // 2//Test the source property of the ArrayCollectiontrace(ac.source) // [object Object],[object Object],[object Object],[object Object]//Test the length property of the source propertytrace(ac.source.length) // 4
    6 Comments :, , more...

    Looking for something?

    Use the form below to search the site:

    Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!