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

Transcript

16 slides
  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

More Decks by Faisal Abid

Other Decks in Technology