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,
Christophe
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!
Thanks
Very Useful information for flex-air developer :)
great work
Thanks
Manoj
I’m really enjoying all your Air samples, paarticularly the Android ones. Keep up the great work!
Bookmark this page.. thanks.
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
Excellent work Christophe–Digital Media Minute pointer of the day.
Nice work! I love this. thanks.
This is simply great! Thanks for your support to Flex Society…hats of to you.
Thank you very much. Very appreciated
great stuff. Ben Forta was presenting it in las vegas
Christophe/anyone…
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?
Andy,
Di you add the WRITE_EXTERNAL_STORAGE permission (Part 7, step 5)?
Christophe
Christophe…
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?
Well done, Christophe!
Please check the server at flex.org- the RemoteObject below doesn’t answer
<s:RemoteObject id="srv" destination="employeeService"
endpoint="http://flex.org:8080/extras/messagebroker/
Thanks for the tutorial! One question, when will burrito be able to run more than one operating system, for example, iPhone?
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,
Polaco.
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?
regards,
Polaco.
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.
Hello,
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 ?
Great work Christophe! It’s possible to use File.openWithDefaultApplication() to open PDF file from an AIR Application (multitasking)?
F.
Hi,
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
cheers
One of the most systematic articles I have ever read on the net.
Thanks alot.
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?
Excellent demo!
@AndyMatthews
Check your search button:
<s:Button icon="@Embed('assets/search.png')" click="data = srv.findByName(key.text)”/>
Great tutorial. pretty clear, concise and structured…thanks :)
@AndyMatthews
Wondering if you ever got the app working on your phone. I am having the same issue on a Droid X.
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.
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.
A nice informative tutorial . I learned something. Thank you for taking the time to do all of that.
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 :)
@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.
@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.
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?
how did you solve the problem? I torture the same problem
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!!
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
Lluis Falco, thanks for your reply. I have tried the IconItemRenderer and it worked fine. thanks for your help.
@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?
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.
Thank you! Excellent work-Christophe pointer Digital Media at the minute of the day.
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.
Hello ,
Is it possible to read the phone contacts using flex mobile api.
Please Let me know
Thanks
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
Nalin.
Good article thanks Welcome to my web site
school summary
Interesting flex tutorial for programmers.
Thanks
Thanks for the tutorial it really cut down the guess work for a non technie like me.
Hi…. (So sorry, my english is not good)
I have a question:
How can i select a background imagen for the app ?
Thx there !!
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.
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
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…..
Dear Christophe,
thanks you for Tutorial , i finished step 6 .
But step 7 was not working . where ” EmployeeDirectory.db” had created ?
Please help me
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!