• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
FITC 2012 Jellybean Tips and Tricks

FITC 2012 Jellybean Tips and Tricks



FITC 2012 Jellybean Tips and Tricks

FITC 2012 Jellybean Tips and Tricks



Total Views
Views on SlideShare
Embed Views



1 Embed 2

http://jellybeanideas.jusst.us 2



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    FITC 2012 Jellybean Tips and Tricks FITC 2012 Jellybean Tips and Tricks Presentation Transcript

    • ANDROID AND JELLYBEAN TIPS AND TRICKSFaisal Abid @faisalabid www.faisalabid.com
    • WHO AM I? • Software developer working with Android since the beta days • Started working in Node.js and Coffeescript for the past year. • Software Engineer at Kobo • Co-Author Flex 3 in Action • Entrepreneur, Author, Teacher & DeveloperFaisal Abid @faisalabid www.faisalabid.com
    • ABOUT THIS TALK • Learn some of the tips and tricks I’ve learnt over the years • Working at Kobo and building an Android tablet, you pick up on a few cool things. • I want to share these things with you!Faisal Abid @faisalabid www.faisalabid.com
    • 1. AppStackNavigation • Up and Back are two different things now. As if things weren’t bad enough. • Up means going up to the next page in the app. • Back means going back irrespective of where you are. • You can control this stuff in code but it gets messy. • Android Jellybean introduces the new ParentActivity tag in the manifestFaisal Abid @faisalabid www.faisalabid.com
    • 2. Getting Media Thumbnails • Getting thumbnails from Android videos is very weird. • ICS’s new MediaMetadataRetriever makes it easy private Bitmap getThumbnailForVideoUri(Context cx, Uri contentURI) { MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setDataSource(cx, contentURI); return retriever.getFrameAtTime(); } catch (Exception e) { // exception } }Faisal Abid @faisalabid www.faisalabid.com
    • 3. Set Alarm Programmatically • I honestly had no idea you could do this! • Set an alarm programmatically. Not an AlarmManager alarm, but an actual alarm. Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);Faisal Abid @faisalabid www.faisalabid.com
    • 4. Handle Bitmap OOM Errors • Lots and lots of ways exist. • Tried many solutions • This one worked the bestFaisal Abid @faisalabid www.faisalabid.com
    • 5. Handling Awesome progress animations • I love progress loaders. Really set the app apart • WhereIsMyBus has a cool progress loader • AnimationDrawable will give you OOM. • AnimationDrawable loves to load up all the items in memory. • Solution is by “Yar” from StackOverFlow http://bit.ly/OsGSsbFaisal Abid @faisalabid www.faisalabid.com
    • 6. ActivityAnimations • Simple but cool. In Jellybean Android added new activity animation. • Take advantage of them!Faisal Abid @faisalabid www.faisalabid.com
    • 7. Animation keeps getting better • With Project Butter. Android Animation keeps getting better. • Use the built-in .animate() class to get full performance. • No need to learn OpenGL or anything else for trivial animations.Faisal Abid @faisalabid www.faisalabid.com
    • 8. ContentProvider with custom methods! • Honeycomb introduced this. • Not widely known. • call() you can add all the cool stuff you want. • Built system wide image cache on the Arc.Faisal Abid @faisalabid www.faisalabid.com
    • 9. Monkey • Still not used as much as you should • Simple as running monkeyrunner.Faisal Abid @faisalabid www.faisalabid.com
    • 10. Async Tasks have changed! • ICS, AsyncTasks run in a single threaded threadpool now. • To change it run it on an executor.Faisal Abid @faisalabid www.faisalabid.com
    • 11. Security Changes to Android • More of a PSA • Soon android users will be required to allow the app to Read SD card. • Read_External_storage is a good permission to have, Start thinking about it. • You’ll get a filenotfound exception if you don’t have it. • If you have Write_External_storage you are goodFaisal Abid @faisalabid www.faisalabid.com
    • 11.5. More security changes • As of Android 3.1, no BroadcastReceiver will work until the user has manually launched an activityFaisal Abid @faisalabid www.faisalabid.com
    • THANK YOU!Faisal Abid @faisalabid www.faisalabid.com