Saturday, December 5, 2015

Making your List of Products to Product Detail User experience properly

It's the little things that make or break the user experience don't you agree? I definitely agree with this. Just in one of my apps, I have a scenario that I think would be a good example right now to drive this point.

In one of my ecommerce Android App that displays products and product details by clicking on a particular product the user can go back to the list of products from the product detail view by clicking on the Back button on their device or by clicking on the back button on top of the app located on the top left corner of the app. This is a basic navigation drawer UI pattern for Android.

Going back to the products list through the Toolbar Back icon

Going back to the products list through the Back button of Device

The user experience is broken in going back to the products list through the Toolbar back icon. It reloads the products list again after going back from the product detail. This isn't what we want do we? And certainly this is not what your users expect.

In order to solve this default behavior of the back icon in the toolbar for your use case we have to know why this is happening. This is happening because the back icon in the toolbar will call the onCreate method of the products list activity again. While pressing the Back button of the device will only show the product list (which is what we want for this scenario).

The Solution

Monday, November 23, 2015

Open sourced my very first Android App: GSC Picture Puzzle ^_^

Feel free to grab the code, contribute to it, and use it on your own app :)

a few of the implementations used:
-TableLayout and TabLayout
-Splash Screen
-Getting image from device to be used in puzzle
-Making images randomly selected for puzzle
-Game timer
-Saving screen of puzzle for game saving

-Adding border to puzzle image
Monday, January 12, 2015

My Ultimate Guide to Android Activities

Starting off in my leveling up of my Android development skills is to "master" the Activity in Android implementation and all its quirkiness and idiosyncrasies.

So far these are the things I would like to cover (I will add others when I discover them):

  • Lifecycle
  • gotchas
  • Passing objects and values between Activities
  • Saved instances
    • How to test
  • Configuration changes
  • Starting an activity from a different app
  • Intents and its filters
  • Tasks and Back Stack

I will not do a tutorial here and put into my own words existing references about Android Activities. Instead I'll just put links here for my future reference. But it is a must that what I have put in here are already read (and digested).

Some tidbits that I know now that I missed before:
  • the EditText widget saves any text entered by the user and the CheckBox widget saves whether it's checked or not. The only work required by you is to provide a unique ID (with the android:id attribute) for each widget you want to save its state. If a widget does not have an ID, then the system cannot save its state.
  • The system will not call onPause() and onStop() if finish() is called within the Activity's onCreate() method. In this case, onDestroy() is called right away.
  • I should declare Intent's Extra constant strings with the full package name of my app

My Ultimate Journey to Android

I've been programming for eight years now. I started as a Java Applications Developer usually doing Enterprise Level Web Apps in different industries like healthcare, sales management, human resources management. Being involved with frameworks like Spring, Struts, EJB, plain Servlets & JSPs. I did this for about 5 years until I fully shifted to Mobile development (for Android & iOS). At first I just self studied Android while doing Java Enterprise Development for HP at Mckinley Hills. My first Android app was a picture puzzle

Then I got a part time freelance work and the rest as they say, is history.

Now, I'm doing Android development and also iOS development and I noticed (and realized) that my Android development skills are not that good. At least not as good as I want it to be. I still have a hard time sometimes on implementing a bit complex situations on Activities, and Fragments. Especially Fragments. And I still haven't really used Content Provider for my app. At least not in a simple situation. I don't have the design skills yet to pull off a really rocking Android UI.

Other Android topics I am keen to master:

So my resolve for this year of 2015 is to Level Up my Android development skills. May the geek goddesses help me with this endeavor.