Bir görüntü için bir URL verildiğinde, bunu düşürmek ve androidde tuvalime yapıştırmak istiyorum. Resmi uygulamamın içine nasıl alabilirim?Android'de url kullanarak bir görüntü ile nasıl çalışır?
LütfenYardım edin.
Teşekkürler, de costo.
Bir görüntü için bir URL verildiğinde, bunu düşürmek ve androidde tuvalime yapıştırmak istiyorum. Resmi uygulamamın içine nasıl alabilirim?Android'de url kullanarak bir görüntü ile nasıl çalışır?
LütfenYardım edin.
Teşekkürler, de costo.
bir resim indirmek için aşağıdaki kodu kullanabilirsiniz:
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 dosyasında aşağıdaki izinleri gerektirir:
<uses-permission android:name="android.permission.INTERNET" />
Şu anda Android'de desteklenebilecek bir HTTP istemci kitaplığı var, ancak herhangi bir ince tahıl denetimi için URL & HttpURLConnection. Kod şöyle görünür:
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);
getResponse() sizin durumda ikili veri yığını bir bayt dizisi StringBuffer değiştirmek isteyebilirsiniz geri alıyorsanız, şuna benzer
ve daha büyük bir artışla okur.
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 "";
}
size en kısa sürede olabildiğince hafızanızı bırakın Android emin olmaktır yaklaşık gayretli olmak gerekir büyük, başka şeyler olabilir görüntü verilerine bahsediyoruz gibi, yığın 16MB sadece aldı tüm uygulamalar için oynamak ve hızlı biterse ve bellek kaynaklarıyla geri verme konusunda gerçekten iyi değilse GC seni çıldırtıyorlar edecek kadar
uygulama bağlanmasına izin emülatör mu internet ?? Emülatörüm cihazın internete bağlanmasına izin vermediğini düşünüyorum. –
Evet, ağ yığını – jottos
Dont AndroidManifest.xml, uygulamasını mı Web'e bağlanmak için izin vermek
unutmak: Masaüstünde çalışırken
<uses-permission android:name="android.permission.INTERNET" />
olarak gönderilecek ve üstbilgileri ayarlamak ve durum kodunu okumak isterseniz HttpURLConnection'a bağlantıyı yapın. – ThomasRS