RobotLegs Demo For Flex 4.5's MobileApplication

srivello's Avatar

srivello

12 Dec, 2010 12:32 AM

Hi,

Has anyone created a good demo project to share which combines RobotLegs and Flex 4.5's MobileApplication? 4.5 is in Beta, but now is a great time to see how RL can offer a great solution so maybe others jumping into MobileApplication see RL as a viable option.

If you would like to see this, please add a comment. If noone else is making the demo, I'll gladly make it.

-Sam

http://labs.adobe.com/technologies/flex/mobile/

  1. 1 Posted by Samuel Asher Ri... on 29 Dec, 2010 08:23 PM

    Samuel Asher Rivello's Avatar

    Hi All,

    I found this post of "FlashBuilder Burrito templates for Robotlegs and more". It doesn't provide anything MobileApplication specific like I mention in my original post, but it is still cool;

    -Sam

    http://probertson.com/articles/2010/10/25/flashbuilder-burrito-temp...

  2. 2 Posted by peter.ducai on 19 Jan, 2011 01:16 PM

    peter.ducai's Avatar

    as far as i know MobileApp differs only in lighter Buttons and List structures, rest should work same as in flex3/4...

  3. 3 Posted by Quentin on 16 Feb, 2011 02:01 PM

    Quentin's Avatar

    Well, not really.
    Since the "screen logic" is very specific to Flex "Hero" (Mobile) I think there must be some special RobotLegs tricks or uses cases that can be interesting/reusable/shareable; don't you think? Another mobile thing is screen state persistence, that RobotLegs can come in handy for...

    Bumping this: anyone with links/resources?

  4. 4 Posted by patricklemiuex on 05 May, 2011 02:49 AM

    patricklemiuex's Avatar

    Good Luck, I'm not getting anywhere:

    [SWF] VoxCLOUD.swf - 3,705,381 bytes after decompression Warning: Injector already has a rule for type "org.robotlegs.core::IReflector", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "org.robotlegs.core::IInjector", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "flash.events::IEventDispatcher", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "flash.display::DisplayObjectContainer", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "org.robotlegs.core::ICommandMap", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "org.robotlegs.core::IMediatorMap", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "org.robotlegs.core::IViewMap", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "org.robotlegs.core::IEventMap", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. Warning: Injector already has a rule for type "net.voxel.voxcloud.model::DeviceEventsProxy", named "".
    If you have overwritten this mapping intentionally you can use "injector.unmap()" prior to your replacement mapping in order to avoid seeing this message. undefined

    at org.swiftsuspenders::Injector/getAncestorMapping()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:231]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:46]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:49]
    at org.swiftsuspenders.injectionpoints::PropertyInjectionPoint/applyInjection()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionpoints/PropertyInjectionPoint.as:36]
    at org.swiftsuspenders::Injector/injectInto()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:125]
    at org.swiftsuspenders::Injector/instantiate()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/Injector.as:139]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/createResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:40]
    at org.swiftsuspenders.injectionresults::InjectSingletonResult/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/injectionresults/InjectSingletonResult.as:31]
    at org.swiftsuspenders::InjectionConfig/getResponse()[/Users/dj/Documents/new_fb_projects/VoxCloud/src/org/swiftsuspenders/InjectionConfig.as:43]
    
  5. Support Staff 5 Posted by Stray on 05 May, 2011 07:23 AM

    Stray's Avatar

    Hi Patrick,

    Those warnings are new in SS recently, designed to help people spot where they've accidentally overwritten something.

    The undefined one is really interesting though (sorry, probably frustrating rather than interesting for you!) - the injector seems to be stuck in some sort of loop. Any chance you've got a co-injection situation, where A injects B and B injects A?

    As for all the other warnings - either your startup is running twice or you've got something bonkers going on with parent/child injectors. That's my guess anyway.

    If you want to upload / send some code for us to take a look at, please do.

    Stray

  6. 6 Posted by masuland on 05 May, 2011 10:32 AM

    masuland's Avatar

    @srivello,

    I've created my first Login Example application for Mobile devices with Robotlegs 1.4 / AS3-Signals 0.8 and Flex 4.5 (Hero), see:

    http://code.google.com/p/masuland/wiki/LoginExample or
    http://code.google.com/p/masuland/wiki/LoginExample#Flex_4(Hero)with_MVCpshCmd_PInj

    The source code can be found in the SVN of Google Code:
    http://masuland.googlecode.com/svn/trunk/LoginExampleFx4HeroRobotle...

    Hope this helps!

  7. 7 Posted by patricklemiuex on 05 May, 2011 12:32 PM

    patricklemiuex's Avatar

    https://github.com/reduxdj/VoxCLOUD/blob/master/src/VoxCLOUD.mxml

    There's my source... definitely wasn't starting up my context twice.

  8. Support Staff 8 Posted by Stray on 05 May, 2011 12:46 PM

    Stray's Avatar

    Hi Patrick,

    I actually think I know (partly) what this relates to - I think the contextView is being set twice effectively under certain circumstances in Flex.

    That doesn't explain the 'undefined' error you're getting.

    Are you compiling from source, or swc? If it's source then I think I have a patch you can apply pretty much straight away.

    I've got this on my todo list - I've partly written tests for it, which unravelled a few hidden complexities, and we've just been discussing in the core team what the 'right' behaviour should be. So if you're under pressure let me know and I'll get that patch (with tests) into my source on github today.

    However - the 'DeviceEventsProxy' possibly has a further issue of its own - but I can't check it out because your repo just vanished! Not sure if that was you? Let me know the score.

    I'm sure we can get this sorted for you quickly,

    Stray

  9. 9 Posted by patricklemiuex on 05 May, 2011 12:49 PM

    patricklemiuex's Avatar

    Stray,

    I'm all good what's your github username, so I can share the project
    with you - I am only showing select people until the code is somewhat
    'working'

    Thanks,
    Patrick

  10. 10 Posted by patricklemiuex on 05 May, 2011 12:51 PM

    patricklemiuex's Avatar

    I made my source private for the time-being. but thanks, I seemed to
    have solved my problem and it works fine, although I still get some
    warnings.

    Thanks,

  11. Support Staff 11 Posted by Stray on 05 May, 2011 01:07 PM

    Stray's Avatar

    Great - those warnings are basically just a warning that something has run twice (because of the property setter for the contextView in flex).

    The warnings were a recent addition to SS, and so we're still going through the process of finding new things that they reveal that weren't exactly bugs but are behaviours that could be redesigned to be more efficient.

    Let me know if you need any more help, otherwise I'll post here when the patch to the context is up,

    Stray

  12. Stray closed this discussion on 11 May, 2011 08:48 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac