Android ile İnternetten Dosya İndirmek ve Sunucuya Dosya Göndermek


Selamlarla, bu yazımızda Android uygulamalarınızda internetten dosya indirme (download) ve sunucuya dosya gönderme (upload) işlemlerini progress dialoglu şekilde yapacağız.

Progress Dialog nedir?

Progress Dialog, uygulamanıza bir iş yaptırırken kullanıcıya “İşleminiz yapılıyor lütfen bekleyin” türünde mesajlar göstermek için veya  işlemin % kaçının bittiğinden kullanıcıyı haberdar etmek için kullanılan bir arayüz bileşenidir.

progress_bar

Web Sunucu ile nasıl haberleşeceğiz?

Android’ten Web Server ile İletişime Geçelim! yazımızdan da hatırlayacağınız gibi HTTP Server ile iletişime geçmek için DefaultHttpClient kullanılmıştı. Bu yazımızda Instagram, Pinterest gibi  mobil uygulamalarda da kullanılan “Android Asynchronous Http Client” kütüphanesini kullanacağız.

Kütüphaneyi sayfasından Download butonuna tıklayarak indirip, Android projenizde libs dizinine aşağıdaki gibi yerleştirin.

http_1_libs

Projemizi oluşturmaya başlayalım.

  1. Yeni bir proje oluşturun File ⇒ New ⇒ Android Project
  2. İndirdiğiniz android-async-http-*.jar dosyasını libs altına kopyalayın.
  3. activity_main.xml dosyasını açın. Aşağıdaki arayüz kod parçasını içerisine yapıştırın.
    Arayüzümüzde 2 buton var, ve butonlara dokunulduğunda çağrılacak metodları android:onClick ile belirttik.
  4.  MainActivity.java dosyasını açın, içerisine aşağıdaki kodları yapıştırın. Kod içerisine açıklamalar ekledim.
  5. Dosya indirme/download butonuna dokunulduğunda çalışacak olan aşağıdaki metodu MainActivity.java dosyanıza yerleştirin.
  6. Dosya gönderme/upload butonuna dokunulduğunda çalışacak olan aşağıdaki metodu MainActivity.java dosyanıza yerleştirin.
     
  7. Harici karta yazmak ve İnternete ulaşabilmek için gerekli izinleri AndroidManifest.xml dosyasında tanımlayın.
  8. Dosyayı sunucuya gönderirken sunucu tarafında bizi bir php kodu karşılayacak. Bu kodu upload.php olarak sunucunuza kaydedin. PHP kodu gelen dosyayı upload.php dosyanın bulunduğu dizine kaydeder. upload.php dosyasının bulunduğu dizine chmod 777 vermeyi unutmayın. Aksi takdirde dosya bu dizine yazılamayacaktır.

Projenin çalışır halinden bir kaç ekran görüntüsü :

İyi çalışmalar.

mehmet_demir

Dicle Üniversitesi Elektrik Elektronik Mühendisliği Bölümünden 2009 yılında birincilikle mezun oldu. Tecrübe sahibi olduğu konular : sistem yönetimi, php, mysql, web geliştirme, wordpress, java, redhat, android.

Şunlar da ilginizi çekebilir

2 yorum

  • mustafa
    11 Temmuz 2015 at 05:35

    Merhabalar, öncelikle bu ders için teşekkür ederim. normal fotoğraflar için kodu normal çalıştırdım ama, diğer dosyalara geldiğinde pdf vs çalışmadı. Bu konuda yardımcı olabilmeniz mümkün mü. Teşekkür ederim

  • Murat
    31 Temmuz 2015 at 11:18

    Merhaba,
    Uygulamanızı android studioda kopyala yapıştır ile yaparken bazı sorunlar yaşıyorum. Çalışır halini dosya halinde göndere bilmeniz mümkün müdür?

LEAVE A COMMENT