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
of Android. • Previous versions of Android did not do animations well • I hated the anim.xml files for simple animations • With Honeycomb, Android introduced .animate() on all views.
ObjectAnimator animates it forward and backwards • I hated the anim.xml files for simple animations • With Honeycomb, Android introduced .animate() on all views.
it too. • Your app will almost always have a page where there is a wait time. Make it matter. • WhereIsMyBus has a cool progress animation • Let’s take a look.
on Android. • Problem is phone dependent, which is the worse. • One of the reasons why iPhone apps look so pretty. They don’t have to worry about OOM as much.
a file 2. Decode bitmap using decodeInBounds=true and get only width and height 3. Calculate scale using original height & width and your desired height & width 4. Decode saved bitmap using opts.inSampleSize set to your scale. 5. Optionally perform any matrix transformations to get accurate size. OOM Algorithm
of Android you could fire of a few AsyncTasks and let them do your bidding. • In ICS+, AsyncTasks now run serial by default. • This will cause headaches for you.
you want to expose your apps data to other apps. • However very limiting. Only CRUD operations supported. • Honeycomb introduced .call() • This lets you create your own custom “API” for ContentProviders. • Possibilities are endless
lot of personal projects. • Toasts are very non-contextual. Very bad UX. Crutons on the other hand are very contextual. • Basically the small header/banner that stackoverflow shows when you login or get an award. • Images taken from http://android.cyrilmottier.com/? p=773
small # of developers, but one day it could be you! • Android has changed how the boot broadcast listener works. Your app can only listen to this if and only if the user has interacted with your app at least once.