Conceptal Question

  1. In this case, is the Arduino a Client or Server?

A client makes GET requests. A server responds to GET requests. Which is the Arduino to be doing?

It looks to me like it needs to be a server, so clients (like a web browser on the PC or the phone) can make requests of it.

  1. If Arduino is a server, is it possible for it not to host any webpages and it will just process the string command send throught its IP address. e.g. htt://192.168.1.177?Z1L1ON

Yes, but wouldn't it be better to serve up a small page - just a message, really, like "Success" or "What were you thinking?"?

  1. In this case how can the Android talk to my Arduino throught the IP address?

The Arduino will have an IP address. Enter http://[:port} in the browser, and a GET request is made.

If the Android supports making direct GET requests, no browser is needed. But, if it supports running a browser, like an iPhone does, then there is no reason to program the Android at all.