Using SoundPool in Android

If your app/game need to play a sound when user click certain object, you will quickly found out that using MediaPlayer is a bad idea. This is what SoundPool is for, however, its API is still a bit unfriendly. This is some notes on how to use it and my suggested usage pattern.

Obtaining a SoundPool object

It is recommended to use the Builder, but lower SDK device does not support that, so this Continue reading

Solving Genymotion “unable to connect to your virtual device” Error

So I know you are here because you get this error message while starting a Genymotion Device.

genymotion_1

First you should go check your firewall settings as suggested in the Genymotion FAQ. Other than that, if the problem still persist, 9/10 it’s the problem of your Host-only adapter settings. Here’s how to correctly set it. Continue reading

Android Activity transition slide in/out animation

This is a very common effect, however the Android framework only provides the slide in animation. This is how I implement all the sliding transition animation. There’s in total 4 XMLs to define the animation, and with the use of overridePendingTransition() in appropriate location you can implement this easily.

pull_in_left.xml  Continue reading

Debugging website on mobile devices

What happened when your website looks broken on your phone but perfectly okay on your desktop? There is no web inspector that work in mobile device yet. But all you need to do is to connect it with your computer and you can inspect the DOM just like you did on desktop browsers.

iOS (Safari)

  1. Make sure your devices is running iOS 6 or above
  2. Make sure your computer is running OSX Lion (10.7) or above Continue reading

Why my iPad does not sync with Google Calendar

Reason1: You have not turned ON Calendar Sync

  1. Go to Settings>Mail,Contacts, Calendars
  2. Tap on your GMail account
  3. If you see the “Calendars” is turned off, Tap it once to turn it on

Reason 2: You did not connected to the Internet when you edit iCal

From my Experience, the iCal only sync with Google when you open the App Continue reading

Android: Can’t establish a reliable data connection to the server

Few days ago I saw this strange error message when I try to login my Google account on the HTC Desire (my previous phone):

Can’t establish a reliable data connection to the server

Since I cannot login to google, I cannot use the Play Store, Gmail, Youtube etc. My phone was connected to the home WiFi and the internet is definitely working.

I was thinking maybe this phone is already old and maybe Google changed something in their Authentication API. When I was about to give up after trying for about 10 times, I realize something Continue reading

iOS 6 : closed source OS disaster

I believed that a lot of iPhone, iPad and iPod touch owners are excited about iOS 6, which is released a while ago, and already made the upgrade. There are couple of cool new features, however, some people think it is a mess. The most obvious example is the Maps app, which the good old Google Maps is replaced with a half-baked Apple Maps. You can choose not to upgrade, but for those upgraded, you have no choice but wait for the release of Google Maps App.  This is an example of the drawbacks of having closed source OS and closed App ecosystem.

A Closed ecosystem

iOS is a closed source OS, that doesn’t bother much people as long as it works. MS Windows is also closed source, but it just works. The problem of iOS is that it also comes with a tightly controlled AppStore ecosystem which distribution of Apps need to be approved by Apple. This might have proven to have a lot of advantages, users are happy because of higher quality of software, developers are happy because they can earn a living and of course Apple is happy with all that income by selling apps. However, the major problem is that developers and users cannot publish software freely on the platform and modify/customize the iOS in the way they want.

Continue reading