Developing for Xoom with Flash and AIR

2,171 views

Published on

Going over AIR for Android and multiple screens for Motorola developers at XOOM event.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,171
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Point out currently 10.2 on most devices including Xoom.
  • Point out currently 10.2 on most devices including Xoom.
  • You develop with AIR but it creates an apk file that is distributable on any market. It requires the AIR runtime, but makes it easy for someone to get if they need it.
  • Point out currently 10.2 on most devices including Xoom.
  • Flash Builder is a professional eclipse-based Integrated Development Environment (IDE) used by developers in the creation of rich Internet application built with the Flex framework and is used by ActionScript developers creating interactive Flash content.Flash Builder includes intelligent code editing support, Design-view for visual layout and editing, and a powerful, interactive debugger and profiling tools for memory, performance and network monitoring.
  • Point out currently 10.2 on most devices including Xoom.
  • Developing for Xoom with Flash and AIR

    1. 1. XOOM with Flash and AIR <br />Terry Ryan<br />Developer Evangelist<br />http://terrenceryan.com<br />@tpryan<br />
    2. 2. Who are you?<br />
    3. 3. Flash on Devices<br />
    4. 4. Flash on Mobile<br />Flash Player 10.1 + <br />In-browser content<br />Games, video<br />Deploy as a SWF, put on the web<br />Air 2.5 + <br />Mobile applications<br />Native APIs, extra functionality<br />Package to target individual devices<br />
    5. 5. Current Versions<br />Flash Player 10.3<br />Air 2.6 <br />
    6. 6. AIR for Devices<br />.apk<br />
    7. 7. “Native Application”<br />AIR for Device Applications are “Native”<br />That means they can be put on app stores<br />NOT that the UI components are native<br />
    8. 8. We can use Flash to build “native applications”<br />
    9. 9. A layer above Android? Isn’t that slow?<br />
    10. 10. Comb Over Charlie<br />
    11. 11. Why Flash on Devices<br />
    12. 12. AIR is MultiScreen<br />
    13. 13. Harness Creatives<br />
    14. 14. Timeout <br />
    15. 15. Deeper Dive<br />
    16. 16. What can AIR do?<br />
    17. 17. GEO APIs<br />Geolocation.isSupported<br />GeolocationEvent.UPDATE<br />GeolocationEvent:<br />altitude<br />heading<br />horizontalAccuracy<br />latitude<br />longitude<br />speed<br />timestamp<br />verticalAccuracy<br />
    18. 18. Accelerometer APIs<br />Accelerometer.isSupported<br />AccelerometerEvent.UPDATE<br />AccelerometerEvent:<br />accelerationX<br />accelerationY<br />accelerationZ<br />timestamp<br />
    19. 19. Multi-Touch APIs<br />Gesture OR Multitouch --- Multitouch.inputMode<br /><ul><li>MultitouchInputMode.GESTURE
    20. 20. TransformGestureEvent
    21. 21. GESTURE_PAN
    22. 22. GESTURE_ROTATE
    23. 23. GESTURE_SWIPE
    24. 24. GESTURE_ZOOM
    25. 25. GestureEvent.GESTURE_TWO_FINGER_TAP
    26. 26. PressAndTapGestureEvent.GESTURE_PRESS_AND_TAP
    27. 27. MultitouchInputMode.TOUCH_POINT
    28. 28. TouchEvent
    29. 29. TOUCH_BEGIN
    30. 30. TOUCH_END
    31. 31. TOUCH_MOVE
    32. 32. TOUCH_OUT
    33. 33. TOUCH_OVER
    34. 34. TOUCH_ROLL_OUT
    35. 35. TOUCH_ROLL_OVER
    36. 36. TOUCH_TAP</li></li></ul><li>Remote Data<br />Standard Flex Networking Libraries:<br />HTTPService<br />WebService<br />RemoteObject<br />
    37. 37. Camera Access<br />Camera - Raw camera feed<br />CameraUI - Native Camera App<br />varcameraUI:CameraUI = new CameraUI();<br />cameraUI.launch(MediaType.IMAGE);<br />CameraRoll - Choose photos from the device's camera roll<br />varcameraRoll:CameraRoll = new CameraRoll();<br />cameraRoll.browseForImage();<br />cameraRoll.addBitmapData(bd);<br />21<br />
    38. 38. Native App Integration<br />Open Email, Browser, Maps, Phone, or SMS<br />navigateToURL(new URLRequest('mailto:foo@bar.com'));<br />navigateToURL(new URLRequest('http://www.jamesward.com'));<br />navigateToURL(new URLRequest('http://maps.google.com/'));<br />navigateToURL(new URLRequest('tel:1234567890'));<br />navigateToURL(new URLRequest('sms:1234567890'));<br />22<br />
    39. 39. Local DB APIs<br />SQLite<br />SQLConnection<br />Sync and/or Async connections<br />SQLStatement<br />Prepared Statements:<br />varstmt:SQLStatement = new SQLStatement();<br />stmt.sqlConnection = FlexGlobals.topLevelApplication['sqlConnection'];<br />stmt.text = "INSERT into giberish values(:giberish)";<br />stmt.parameters[":giberish"] = g.text;<br />stmt.execute();<br />
    40. 40. StageWebView<br />WebStageView.isSupported<br />varswv:StageWebView = new StageWebView();<br />swv.viewPort = new Rectangle(0, stage.height - height, width, height);<br />swv.stage = stage;<br />swv.loadURL("http://www.jamesward.com");<br />24<br />
    41. 41. Tooling<br />
    42. 42. Flash Tooling<br />Flash Professional<br />Designer centric<br />Timeline based <br />Traditional Flash Tool<br />Flash Builder<br />Developer Centric<br />Code based<br />Eclipse Plugin<br />
    43. 43. ActionScript<br />
    44. 44. ActionScript<br />Scripting Language for Flash<br />Object Oriented<br />Event Based<br />
    45. 45. Scripting Language<br />Like JavaScript, PHP, ruby…<br />Allow for manipulation of item in Flash’s world<br />
    46. 46. vargreet:TextField = newTextField();<br />greet.text = "Hello World";<br />this.addChild(greet);<br />
    47. 47. Flash Builder 4<br />
    48. 48. MXML and ActionScript<br />Code editing<br />Visual layoutand styling<br />Mobile debugging<br />What is Flash Builder<br />
    49. 49. Demo<br />Boa Tarde<br />
    50. 50. Flex for Mobile<br />
    51. 51. Mobile Optimized Components<br />
    52. 52. View Navigator<br />The pattern for screens on devices<br />Can define transitions between views<br />Uses push/pop stack to move between views<br />
    53. 53. Tab Navigator<br />Tab through views<br />Just set up multiple ViewNavigators with the firstViewproperty<br />Can’t use push/pop<br />
    54. 54. Actionbar<br />Provides easy access to important features<br />Won’t scroll<br />Can be defined globally or for each view<br />
    55. 55. Demo<br />Flash Builder in Action<br />
    56. 56. Philly ETE<br />
    57. 57. Conqu<br />
    58. 58. Design Considerations<br />
    59. 59. !=<br />
    60. 60.
    61. 61.
    62. 62. Apps that get it right<br />
    63. 63. GMail<br />
    64. 64. Email<br />
    65. 65. Market<br />
    66. 66. Get Coding<br />
    67. 67. Flash Tooling<br />Flash Professional<br />http://adobe.com/go/flashpro<br />Flash Builder<br />http://adobe.com/go/flashbuilder<br />
    68. 68. Development Help<br />http://www.adobe.com/devnet/devices/android.html<br />
    69. 69. Conclusions<br />
    70. 70. Follow up?<br />Feel free to contact me<br />terry.ryan@adobe.com<br />http://terrenceryan.com<br />Twitter: @tpryan<br />
    71. 71. GET STARTED NOW!<br />Download MOTODEV Studio and the Android 3.1 SDK<br />Test your app with the MOTODEV App Validator<br />“Tell Us” about your application<br />Join our online office hours, Thursday June 2, 2pm<br />Leverage other MOTODEV resources<br />Ask questions in our discussion boards<br />Follow MOTODEV on Twitter @motodevbr<br />Join us downstairs for networking, cocktails, and a chance to win a XOOM or ATRIX<br />
    72. 72. LIFE.<br />POWERED.<br />

    ×