SORU
23 ŞUBAT 2009, PAZARTESİ


Android dosya indirme sorunları ikili


Sorunları ikili dosya (video) internet benim app indirmek yaşıyorum. Eğer doğrudan indirip Quicktime, gayet iyi çalışıyor ama benim app bir şekilde üzerinden tam bir metin düzenleyicisinde de olsa () berbat alalım. İşte bir örnek:

    URL u = new URL("http://www.path.to/a.mp4?video");
    HttpURLConnection c = (HttpURLConnection) u.openConnection();
    c.setRequestMethod("GET");
    c.setDoOutput(true);
    c.connect();
    FileOutputStream f = new FileOutputStream(new File(root,"Video.mp4"));


    InputStream in = c.getInputStream();

    byte[] buffer = new byte[1024];
    int len1 = 0;
    while ( (len1 = in.read(buffer)) > 0 ) {
         f.write(buffer);
    }
    f.close();

CEVAP
23 ŞUBAT 2009, PAZARTESİ


Eğer tek sorun var bilmiyorum ama klasik Java bir aksaklık var: okumak edeceğine güveniyor değilsinher zamansenden daha az dönmesine izin bayt. Böylece, daha az 1024 bayt ama her zaman yazmak alabilir oku sen büyük ihtimalle bir önceki döngü yineleme bayt dahil olmak üzere tam olarak 1024 bayt yazar.

Doğru olan:

 while ( (len1 = in.read(buffer)) > 0 ) {
         f.write(buffer,0, len1);
 }

Belki Android 3G yüksek gecikme ağ ya da daha küçük paket boyutları etkisini daha da kötüleştiriyor?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • rekjavicxxx

    rekjavicxxx

    28 EKİM 2007
  • Sams Page :D

    Sams Page :D

    15 Mart 2009
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013