Tutorial: Flex for Android in 90 Minutes

If you are looking for a quick way to get started building Flex applications for Android (even if you don’t have an Android device), check out this tutorial: FlexAndroid90Minutes.pdf.

You can download the supporting materials here: FlexAndroid90Minutes.zip.

This tutorial will be posted as a DevNet article in a couple of weeks, but I already wanted to make it available here because a number of people have asked for it. It is based on the hands-on session I delivered at MAX, with additional information and instructions.

Here is a quick outline:

  • Part 1: Creating a Basic Mobile Application
  • Part 2: Using Mobile Item Renderers
  • Part 3: Navigating and Passing Information between Views
  • Part 4: Creating an Action Bar
  • Part 5: Integrating with the Device Capabilities (Dialer, SMS, Email)
  • Part 6: Using a RemoteObject
  • Part 7: Using a Local SQLite Database

In this tutorial, you build a fully functioning Employee Directory application. The end result is the application available on the Android Market. (Just search “Employee Directory” in the Android Market).


As always I appreciate your feedback to continue to improve the tutorial.

Thank You,


77 Responses to Tutorial: Flex for Android in 90 Minutes

  1. Lionel December 2, 2010 at 5:08 pm #

    Thanks ! We need this stuff.

    Not all Adobe paying customers can afford to travel to the conferences, but we are in the font lines using the technologies and convincing others to do the same. I think Adobe would benefit from making quality information/training much more available to those who purchase their products.

    The Training from the Source books for instance should be included with the products they teach. Or at least coupons for discounts.

    Keep up the good work!

  2. manoj chaurasiya December 3, 2010 at 12:10 pm #


    Very Useful information for flex-air developer :)
    great work


  3. Tony Lukasavage December 3, 2010 at 3:04 pm #

    I’m really enjoying all your Air samples, paarticularly the Android ones. Keep up the great work!

  4. Alberto Chucuán December 5, 2010 at 1:34 pm #

    Bookmark this page.. thanks.

  5. Litts December 6, 2010 at 7:48 am #

    This is great stuff .. Have already started implementing some of the ideas on my LIVE project . Wish we have more Adobe Evangelist like you . Great work

  6. Tom December 7, 2010 at 11:48 am #

    Excellent work Christophe–Digital Media Minute pointer of the day.

  7. Wayne December 9, 2010 at 9:52 pm #

    Nice work! I love this. thanks.

  8. Avi December 10, 2010 at 4:14 am #

    This is simply great! Thanks for your support to Flex Society…hats of to you.

  9. Hassan Mian December 13, 2010 at 4:29 am #

    Thank you very much. Very appreciated

  10. tadeusz December 13, 2010 at 7:37 pm #

    great stuff. Ben Forta was presenting it in las vegas

  11. Andy Matthews December 13, 2010 at 10:28 pm #


    I walked through this excellent tutorial and I’ve got the app running in the simulator and it works great. But when I hook it up to my Droid 2 that we got at MAX, the app loads, but I get no data. I can type in the input field, I can click the search button but I get no employee data. Did I miss something? Am I leaving something out?

  12. Christophe Coenraets December 13, 2010 at 10:33 pm #

    Di you add the WRITE_EXTERNAL_STORAGE permission (Part 7, step 5)?

  13. Andy Matthews December 13, 2010 at 11:54 pm #


    Yes that line is there, although it actually looks like the problem might be a missing database file? Does the EmployeeDAO create the SQLite db file in addition to the tables?

  14. Yakov December 15, 2010 at 2:29 pm #

    Well done, Christophe!

    Please check the server at flex.org- the RemoteObject below doesn’t answer

    <s:RemoteObject id="srv" destination="employeeService"

  15. Brian Telintelo December 16, 2010 at 1:03 pm #

    Thanks for the tutorial! One question, when will burrito be able to run more than one operating system, for example, iPhone?

  16. Polaco January 4, 2011 at 8:29 am #

    Hi Christophe,

    Thanks a lot for this clear tutorial. I wonder if there is any way to read the device’s contacts list from air.
    How can I know which capabilities an Air application has over the cellphone (android)?

    thanks in advance,


  17. Polaco January 9, 2011 at 2:51 am #

    Hi Christophe,

    Is there any support to add a bottom navigation menu just as the navigation content bar in order so a menu could be open when the user press the menu button like in standard Android Apps?


  18. Polaco January 10, 2011 at 8:04 am #

    I have implemented the bottom menu to emulate the same behaviour than when a user presses the menu button o a standard android app by launching an hgroup with the menu buttons using the PopUpManager and aligning it to the bottom of the page. I don’t know if this is the best way to implement this but works quite well.

  19. Jérémy January 12, 2011 at 1:47 pm #

    I tried your example with just one Employee in the xml files and I get an error.
    Type Coercion failed: cannot convert mx.utils::ObjectProxy@4c8eac1 to mx.collections.IList.

    Is there any workaround for that ?

  20. Francesco January 14, 2011 at 12:00 pm #

    Great work Christophe! It’s possible to use File.openWithDefaultApplication() to open PDF file from an AIR Application (multitasking)?

  21. AndyC January 26, 2011 at 1:50 pm #

    Very useful. i worked through your examples but am having trouble reducing the gap between items on list which I need for another project
    Something like

    works in flashbuilder for AIR but not on the burrito mobile beta

  22. Sudhakar February 19, 2011 at 11:29 pm #

    One of the most systematic articles I have ever read on the net.

    Thanks alot.

  23. vl February 24, 2011 at 1:36 pm #

    Would it be possible to reproduce this tutorial without FlashBuilder ( e.g. from command line)? Specifically: “adt” tool requires digital certificate to deploy apk file. Does “Burrito” take care of that?

  24. Ivan Ilijasic March 10, 2011 at 4:48 pm #

    Excellent demo!

    Check your search button:
    <s:Button icon="@Embed('assets/search.png')" click="data = srv.findByName(key.text)”/>

  25. Remo Harsono March 17, 2011 at 7:40 pm #

    Great tutorial. pretty clear, concise and structured…thanks :)

  26. thoth23 March 17, 2011 at 9:52 pm #


    Wondering if you ever got the app working on your phone. I am having the same issue on a Droid X.

  27. TerryC April 8, 2011 at 7:51 am #

    The tutorial was great. Thanks so much. What do you consider the best way to synchronise my mobile application with my SQLServer. Updates will be very frequent and my users may not be connected to the internet all the time. So when online they will want to fetch new data and push their changes.

  28. chetan April 23, 2011 at 7:49 pm #

    i am trying to make Flex for Android in 90 Minutes through your tutorial.
    i want to change the names used in the application.but your xml files are read only.please tell me how to change the names.for example i want to use chetan instead of james.tell me how to do that.

  29. SMS May 28, 2011 at 8:48 am #

    A nice informative tutorial . I learned something. Thank you for taking the time to do all of that.

  30. Monika Sharma May 31, 2011 at 1:23 am #

    Very nice and neatly explained. However it does need a pre understanding of remote objects and the server side implementation. Thanks for a clear example :)

  31. Kritner June 7, 2011 at 8:17 am #

    @cheetan you can set readonly flags to not true (at least from windows) by right clicking the file from explorer, properties, and then unselecting read only. IIRC eclipse will warn you about attempting to make modifications to a read only file and will reset the flag for you after confirming.

    I had made changes to my xml files and the changes weren’t coming through, don’t know if it was caching the file or not, i tried cleaning the project etc. Once building a final release build my changes to the xml file were apparent, but not prior to.

  32. Kritner June 7, 2011 at 8:28 am #

    @Kritner (myself) I guess I see why I wasn’t seeing changes done to my xml file on my own system, but was after exporting final release to my phone. The database is created via the DAO and as long as the database exists, there’s no reason to recreate it after each run of the app… so destroying the database would fix the problem of not seeing updates done to the xml file.

  33. Pradipta Roy June 8, 2011 at 7:34 am #

    I went through the article and I have tried to implement the same thing with the Flash builder 4.5, but I was unable to find the spark.compoments.MobileItemRenderer or MobileiconItemRenderer class. is there any specif swc file that include these classes rather than the spark.swc or am I missing anything?

    • alex July 5, 2012 at 8:53 pm #

      how did you solve the problem? I torture the same problem

  34. Lluis Falco June 8, 2011 at 12:56 pm #

    Pradipta Roy i had the same problem as you, it seems that for flash builder 4.5 ” has changed into do this change and it will work.

    Awesome work making this tutorial, on step 2 right now but moving forward, Thanks!!

  35. Lluis Falco June 8, 2011 at 12:58 pm #

    I didn’t read the small text under this hehe i can’t post tags.

    The thing you need to change is: MovileIconItemRenderer for IconItemRenderer

  36. Pradipta Roy June 10, 2011 at 1:06 am #

    Lluis Falco, thanks for your reply. I have tried the IconItemRenderer and it worked fine. thanks for your help.

  37. Ivan July 1, 2011 at 8:39 pm #

    @Andy Matthews @thoth23 I got same problem on htc desire. Did you resolve it? First time debugger said: Cant open database “FlexMobileTutorial.db”
    second time: Cant open database “.”

    Any help?

  38. Ivan July 1, 2011 at 8:49 pm #

    I found a solution. I replaced ‘documentsDirectory’ with ‘applicationStorageDirectory’

    var file:File = File.applicationStorageDirectory.resolvePath(“FlexMobileTutorial.db”);
    /* ORIGINAL var file:File = File.documentsDirectory.resolvePath(“FlexMobileTutorial.db”);*/

    I hope it is OK solution.

  39. garage shoes August 15, 2011 at 4:09 am #

    Thank you! Excellent work-Christophe pointer Digital Media at the minute of the day.

  40. lee August 22, 2011 at 5:10 am #

    Hi Chris,

    I’ve been searching for a while for something like this… Although I won’t be using this as an employee directory – it will do the perfect job! However, is it possible to do the following:

    (In this case employees)

    Instead of jumping straight to the directory section. Have multi level categories?
    e.g: Company > Area of company (ceo office, customer service etc) > Employee directory.

  41. Naveen September 30, 2011 at 5:53 am #

    Hello ,
    Is it possible to read the phone contacts using flex mobile api.
    Please Let me know

  42. NXU January 4, 2012 at 7:35 am #

    Hi Christophe,

    I wonder if you could help. We have acquired some education resources devleoped on Shockwave flash .swf files and then all of them are delivered via a wrapper.html. I would like to see how much work is required to get these swf files to run on the playbook ? we are looking at giving some playbooks to our students and would like to load these resources as apps for them to run. I have had a brief look at adobe air ( i am not professional flash developer) and seen the need for config,xml etc which this application ( developed for windows platform) has. Assuming that xml / html and swf files are portable I am wondering what more need to be done to get the application to work on Blackberry playbook.

    I would be very grateful for any feedback.

    Thanks and Kind Regards

  43. law attorney March 8, 2012 at 2:14 am #

    Good article thanks Welcome to my web site
    school summary

  44. sms interceptor March 20, 2012 at 11:02 pm #

    Interesting flex tutorial for programmers.

  45. Intercepting text messages March 25, 2012 at 6:15 pm #

    Thanks for the tutorial it really cut down the guess work for a non technie like me.

  46. David April 30, 2012 at 4:37 pm #

    Hi…. (So sorry, my english is not good)
    I have a question:
    How can i select a background imagen for the app ?
    Thx there !!

  47. TurtleSoup May 11, 2012 at 3:54 pm #

    Your tutorial has been very helpful. I wish I’d found it earlier, as it would have saved me lots of time.

    Many thanks for spending time to do this.

  48. Niranjan Shah July 31, 2012 at 10:36 am #

    Data is not getting inserted in the mobile database. Ho
    wever running the application on emulator inserts the data. Write external storage permissions are been granted.

    BTW thank you very much for such a excellent tutorial

  49. Niranjan Shah July 31, 2012 at 12:35 pm #

    Thanks for the great tutorial. However, have issue with application running on the mobile.

    Data are getting inserted when running on emulator, however after installing on mobile the data is not getting inserted. Database has been created….

    Write permissions are set in the manifest file….

    Appreciate your response…..

  50. newbie August 15, 2012 at 8:40 am #

    Dear Christophe,
    thanks you for Tutorial , i finished step 6 .
    But step 7 was not working . where ” EmployeeDirectory.db” had created ?
    Please help me

  51. boise blinds August 21, 2012 at 12:07 am #

    I am constantly amazed at how powerful Flex can be. This summary you created from the DevNet article is killer. Thanks for taking the time to put it into a PDF which is a whole lot easier to read!

  52. Gabriel November 25, 2013 at 9:47 pm #

    Hi! thanks for this tutorial.
    Now i need to add employees to the directory. How can i do it? answer me please! :’(

  53. west palm Beach Movers reviews April 9, 2014 at 12:30 am #

    Thank you a bunch for sharing this wirh all folks you reqlly recognize wat you’re speaking approximately!
    Bookmarked. Kindly additiknally consult with my website =).
    We can have a hyperlink cgange contract between us

  54. Meredith April 11, 2014 at 5:58 pm #

    Ԝow, this post is nice, my siϳster іs analyzing these kinds of things,
    thus I am going to tell her.

  55. Elijah Store Promotion Code April 11, 2014 at 10:23 pm #

    Thankfulness to my father who informed me concerning this blog, this web site is really remarkable.

  56. http://simp.ly/publish/gcL239 April 12, 2014 at 11:55 am #

    Its thermal carafe allows your java to remain hot for a
    long time of time. If you compare it towards the cost of buying coffee for the standard drip coffee maker,
    then you will must sit down and really evaluate your habits and generate some
    numbers. But voltage aside, coffee lovers swear by the taste of Braun brewed

  57. Unamee Offer Code April 14, 2014 at 8:21 pm #

    You’re so cool! I don’t believe I have read something like that before.
    So great to find another person with some unique thoughts on this topic.
    Seriously.. thanks for starting this up. This website is something that is required on the internet, someone with some originality!

  58. Bandage Dresses Online April 16, 2014 at 6:15 pm #

    It’s amazing to pay a quick visit this website and rwading the views of all friends about this piece of
    writing, while I amm also zealopus of gettig knowledge.


  1. Tutorial: Flex for Android in 90 Minutes - Daily News Update - December 2, 2010

    [...] source android – Google Blog Search [...]

  2. Flash Tutorial: Flex for Android Quickstart | Adobe Flash Lite - December 3, 2010

    [...] — Li YongFei @ 11:59 pm Christophe Coenraets has posted a new Flash tutorial: Flex for Android in 90 Minutes, this tutorial will tell you a quick way to get started building Flex applications for [...]

  3. Tutorial: Flex for Android in 90 Minutes | Flex learner - December 3, 2010

    [...] rest is here: Tutorial: Flex for Android in 90 Minutes This entry was posted in Adobe, Flash, Flex 2.0, Google, flex and tagged Adobe, android, [...]

  4. Getting started with Flex on mobile devices and tablets « Greg Wilson's Ramblings - December 3, 2010

    [...] Christophe Coenraets created a great self-paced, step-by-step course on building your first mobile app using Flex….and the resulting app is very useful.  You can find the course at http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/ [...]

  5. Deploying a Flex Application to the BlackBerry Playbook (and Android Devices) - December 3, 2010

    [...] Christophe Coenraets Rich Internet Applications, Flex, AIR, Java, Android Skip to content BioAIR SamplesAIR Web ServerAIR Application with Embedded TomcatAIR for Android SamplesEmployee Directory on AIR for AndroidVoice Notes for AndroidReal Time Trader Desktop for AndroidEmployee Directory — Android Market App Companion PageAndroid SamplesTutorial: Building an Android Application in 6 Steps « Tutorial: Flex for Android in 90 Minutes [...]

  6. Flex Android 开发教程:Flex for Android in 90 Minutes | 戈壁滩上的狗尾巴花 - December 3, 2010

    [...] http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/ This entry was posted in Flex and tagged Android, Flex. Bookmark the permalink. [...]

  7. Google Maps API using Flash Builder Burrito « sheetalnilwant - December 4, 2010

    [...] Flex for Android My Groups [...]

  8. Getting started with Flex on mobile devices and tablets (Adobe Flash Platform Blog) - December 4, 2010

    [...] Christophe Coenraets created a great self-paced, step-by-step course on building your first mobile app using Flex….and the resulting app is very useful.  You can find the course at http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/ [...]

  9. Deploying a Flex Application to the BlackBerry Playbook (and Android Devices) (Adobe Flash Platform Blog) - December 4, 2010

    [...] night, I downloaded the new BlackBerry Playbook SDK and thought it would be fun to try to run the Employee Directory application I had just blogged earlier in the day (as an Android tutorial) in the Playbook Emulator. It turned [...]

  10. Building Rich Apps For Smart Phones and Tablet Devices Using Adobe AIR (Adobe Flash Platform Blog) - December 5, 2010

    [...] evangelist Christophe Coenraets recently made available an extremely helpful tutorial called Flex for Android in 90 minutes (.pdf). In around 90 minutes, [...]

  11. Flex Mobile Trader Application running on the Samsung Galaxy Tab and the BlackBerry Playbook - December 6, 2010

    [...] If you want to learn how to build these applications, check out my 90 minutes Flex Mobile Tutorial. [...]

  12. Getting Started Flex / AIR & Android « tommek - December 12, 2010

    [...] http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/ [...]

  13. Flex ile mobil ve tablet pc lere Hükmetmek - FLEX TÜRKÇE BİLGİ KAYNAĞI - December 31, 2010

    [...] Christophe Coenraets in hazırladığı Flex ile ilk mobil uygulamanız derslerine göz atabilirsiniz. Dersi bu adresten görebilirsiniz http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/ [...]

  14. Getting started with Flex on mobile devices and tablets | Greg's Ramblings - January 28, 2011

    [...] Christophe Coenraets created a great self-paced, step-by-step course on building your first mobile app using Flex….and the resulting app is very useful.  You can find the course at http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/ [...]

  15. Google Maps API using Flash Builder Burrito « Ammar Saffaf - April 4, 2012

    [...] http://coenraets.org/blog/2010/12/tutorial-flex-for-android-in-90-minutes/ [...]

  16. Adobe Air iOS - einsteiger templates - Flashforum - August 22, 2012

    [...] du da was f

  17. new thoughts on mobile apps | codefail - February 27, 2013

    [...] Tutorial: Flex for Android in 90 Minutes [...]

  18. flex for android in 90 minutes | Dickson's blog (sort of) - June 4, 2013

    [...] flex for android in 90 minutes [...]

Leave a Reply