Услуги это путь. REST (я рекомендую этот на Android) или на основе SOAP. Существует множество учебных пособий по налаживанию связи между приложением для Android, даже с .net / wcf.
То есть вы всегда можете просто открыть необработанные сокеты и отправить данные по некоторому пользовательскому протоколу.
Edit:
Вот часть doInBackground моей асинхронной задачи по обработке сообщений HTTP, возможно, это поможет:
protected String doInBackground(String... req) {
Log.d(TAG, "Message to send: "+req[0]);
HttpPost p = new HttpPost(url);
try{
p.setEntity(new StringEntity(req[0], "UTF8"));
}catch(Exception e){
e.printStackTrace();
}
p.setHeader("Content-type", "application/json");
String response = "";
try{
HttpResponse resp = hc.execute(p, localContext);
InputStream is = resp.getEntity().getContent();
response = convertStreamToString(is);
Log.d("Response", "Response is " + response);
} catch (Exception e){
e.printStackTrace();
}
return response;
}