画像のURLを指定すると、私はそれをダウンロードしてアンドロイドのキャンバスに貼り付けたいと思います。イメージをアプリに取り込むにはどうすればよいですか?アンドロイドでURLを使用して画像を操作するにはどうすればよいですか?
助けてください。
ありがとう、 de costo。
画像のURLを指定すると、私はそれをダウンロードしてアンドロイドのキャンバスに貼り付けたいと思います。イメージをアプリに取り込むにはどうすればよいですか?アンドロイドでURLを使用して画像を操作するにはどうすればよいですか?
助けてください。
ありがとう、 de costo。
をバック与えることについて、本当に良いものではありません場合は、画像をダウンロードするには、次のコードを使用することができますあなたにナットを駆動します:
URLConnection connection = uri.toURL().openConnection();
connection.connect();
InputStream is = connection.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is, 8 * 1024);
Bitmap bmp = BitmapFactory.decodeStream(bis);
bis.close();
is.close();
AndroidManifest.xmlで次の権限が必要です:
<uses-permission android:name="android.permission.INTERNET" />
現在、AndroidでサポートされているHTTPクライアントライブラリがありますが、細粒度コントロールの場合は、URL & HttpURLConnectionを使用できます。コードは次のようになります:てgetResponse()は次のようになり、あなたのケースであなたが戻ってバイナリデータの 山を取得しているあなたはバイト配列 へのStringBufferを変更する場合があります
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);
をし、より大きなインクリメントで読み込みをチャンクします。あなたが大きくなる可能性が画像データについて話していると
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 "";
}
、あなたはAndroidの約勤勉である必要があり、他のものは、あなたができるだけ早くすることができますようにあなたのメモリを解放することを確認作っている、あなたは、ヒープの16メガバイトのみを持っていますすべてのアプリケーションのためにプレーし、それすることが速くなくなるとGCを使用すると、メモリリソースに
デスクトップ上で実行されているエミュレータは、アプリケーションが接続を許可していインターネット ??私のエミュレータは、デバイスがインターネットに接続することを許可していないと思う。 –
はい、ネットワークスタックがエミュレートされます – jottos
いけないのAndroidManifest.xmlで、アプリをWebに接続する権限を与えることを忘れ
:
<uses-permission android:name="android.permission.INTERNET" />
ヘッダーを設定してステータスコードを読み取る場合は、HttpURLConnectionへの接続をキャストします。 – ThomasRS