Il existe une bibliothèque cliente HTTP qui peut être prise en charge dans Android maintenant, mais pour tout contrôle de grain fin, vous pouvez utiliser l'URL & HttpURLConnection. le code ressemblera à quelque chose comme ceci:
URL connectURL = new URL(<your URL goes here>);
HttpURLConnection conn = (HttpURLConnection)connectURL.openConnection();
// do some setup
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("GET");
// connect and flush the request out
conn.connect();
conn.getOutputStream().flush();
// now fetch the results
String response = getResponse(conn);
où getResponse() ressemble à quelque chose comme ça, dans votre cas, vous obtenez un tas de données binaires en arrière, vous voudrez peut-être changer le StringBuffer à un tableau d'octets et tronquer les lectures par un incrément plus grand.
private String getResponseOrig(HttpURLConnection conn)
{
InputStream is = null;
try
{
is = conn.getInputStream();
// scoop up the reply from the server
int ch;
StringBuffer sb = new StringBuffer();
while((ch = is.read()) != -1) {
sb.append((char)ch);
}
return sb.toString();
}
catch(Exception e)
{
Log.e(TAG, "biffed it getting HTTPResponse");
}
finally
{
try {
if (is != null)
is.close();
} catch (Exception e) {}
}
return "";
}
Comme vous parlez de données d'image qui peut être grand, d'autres choses que vous devez être assidues à propos dans Android est de vous libérer votre mémoire dès que vous le pouvez, vous avez seulement 16 Mo de tas jouer avec pour toutes les applications et il épuise rapidement et le GC vous conduira les noix si vous n'êtes pas vraiment bon de redonner des ressources mémoire
Et cast la connexion à HttpURLConnection si vous souhaitez définir les en-têtes et lire le code d'état. – ThomasRS