fitc 2012 jellybean tips and tricks

Post on 27-May-2015

258 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

FITC 2012 Jellybean Tips and Tricks

TRANSCRIPT

Faisal Abid @faisalabidwww.faisalabid.com

ANDROID AND JELLYBEAN TIPS AND TRICKS

Faisal Abid @faisalabidwww.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?

Faisal Abid @faisalabidwww.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 @faisalabidwww.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

Faisal Abid @faisalabidwww.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 } }

Faisal Abid @faisalabidwww.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);

Faisal Abid @faisalabidwww.faisalabid.com

• Lots and lots of ways exist.

• Tried many solutions

• This one worked the best

4. Handle Bitmap OOM Errors

Faisal Abid @faisalabidwww.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

Faisal Abid @faisalabidwww.faisalabid.com

• Simple but cool. In Jellybean Android added

new activity animation.

• Take advantage of them!

6. ActivityAnimations

Faisal Abid @faisalabidwww.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

Faisal Abid @faisalabidwww.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!

Faisal Abid @faisalabidwww.faisalabid.com

• Still not used as much as you should

• Simple as running monkeyrunner.

9. Monkey

Faisal Abid @faisalabidwww.faisalabid.com

• ICS, AsyncTasks run in a single threaded threadpool now.

• To change it run it on an executor.

10. Async Tasks have changed!

Faisal Abid @faisalabidwww.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

Faisal Abid @faisalabidwww.faisalabid.com

• As of Android 3.1, no BroadcastReceiver will work until

the user has manually launched an activity

11.5. More security changes

Faisal Abid @faisalabidwww.faisalabid.com

THANK YOU!

top related