I use adhoc network to use the Internet on my laptop. I tried to use same on my Android phone but my phone doesn’t even recognize the SSID. It shows the SSID of other networks but not of ad hoc network
I tether with Android via USB tethering. You can also use Ubuntu's "broadband connection" feature that's in the nm-applet as well, but it's slower.
Android is not set up to recognize ad hoc networks. You would need your phone to be rooted for this method but would allow your phone to recognize ad hoc networks: http://corrus.hubpages.com/hub/How-To-Enable-Ad-Hoc-Wi-Fi-Detection-on-the-Galaxy-MiniShould-Work-For-Other-Android-Phones
There are other methods, and I'm not sure if there is an app for it.