So broad!
The OSI model (http://en.wikipedia.org/wiki/Osi_model) helps explain the basics of networking, but still, each layer of what goes on in networking can be tough.
The layers go all the way from what you type on your computer (layer 7) to the very wires where information is transmited (layer 1).
I wouldn't recommend you to make a network-based application if you don't know much about networking.
Fortunately, we don't need to program every aspect of the OSI model, the .Net Framework has a lot of classes that help you overlook the low level details (for a reference read
Simple Messenger - A C# MSN Messenger-like Chat Application[
^]). I'm sure Android has that too, specially since you can use Java.
If the application is to receive data at any given time, then you need to have an open "packet listener" object at both ends (this would be a "server", somewhere always open to solicitations).
Do you need data integrity (no information lost)? Program packets as TCP (Transmission Control Protocol).
Do you not need integrity and can afford to loose some data in transmission (like a TV signal)? Use UDP (User Datagram Protocol). In this case, you need to program packet solicitations in a loop constantly, because UDP is a 1-solicitation-1-packet-sent way to work.
And please, next time narrow things by sharing what you already know about networking.