Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jellybean tips and tricks

Faisal Abid
October 17, 2012

Jellybean tips and tricks

Jellybean tips and tricks from FITC

Faisal Abid

October 17, 2012
Tweet

More Decks by Faisal Abid

Other Decks in Technology

Transcript

  1. Faisal Abid @faisalabid www.faisalabid.com • 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 & Developer WHO AM I?
  2. Faisal 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!
  3. Faisal Abid @faisalabid www.faisalabid.com • 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 manifest 1. AppStackNavigation
  4. Faisal Abid @faisalabid www.faisalabid.com • Getting thumbnails from Android videos

    is very weird. • ICS’s new MediaMetadataRetriever makes it easy 2. Getting Media Thumbnails private Bitmap getThumbnailForVideoUri(Context cx, Uri contentURI) { MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setDataSource(cx, contentURI); return retriever.getFrameAtTime(); } catch (Exception e) { // exception } }
  5. Faisal Abid @faisalabid www.faisalabid.com • I honestly had no idea

    you could do this! • Set an alarm programmatically. Not an AlarmManager alarm, but an actual alarm. 3. Set Alarm Programmatically Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
  6. Faisal Abid @faisalabid www.faisalabid.com • Lots and lots of ways

    exist. • Tried many solutions • This one worked the best 4. Handle Bitmap OOM Errors
  7. Faisal Abid @faisalabid www.faisalabid.com • 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/OsGSsb 5. Handling Awesome progress animations
  8. Faisal Abid @faisalabid www.faisalabid.com • Simple but cool. In Jellybean

    Android added new activity animation. • Take advantage of them! 6. ActivityAnimations
  9. Faisal Abid @faisalabid www.faisalabid.com • 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. 7. Animation keeps getting better
  10. Faisal Abid @faisalabid www.faisalabid.com • Honeycomb introduced this. • Not

    widely known. • call() you can add all the cool stuff you want. • Built system wide image cache on the Arc. 8. ContentProvider with custom methods!
  11. Faisal Abid @faisalabid www.faisalabid.com • Still not used as much

    as you should • Simple as running monkeyrunner. 9. Monkey
  12. Faisal Abid @faisalabid www.faisalabid.com • ICS, AsyncTasks run in a

    single threaded threadpool now. • To change it run it on an executor. 10. Async Tasks have changed!
  13. Faisal Abid @faisalabid www.faisalabid.com • 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 good 11. Security Changes to Android
  14. Faisal Abid @faisalabid www.faisalabid.com • As of Android 3.1, no

    BroadcastReceiver will work until the user has manually launched an activity 11.5. More security changes