Veri aktarımı arka plan görevi seçenekleri

Birçok uygulamanın verileri arka planda aktarması gerekir. Bu sayfa, ihtiyaçlarınıza uygun yaklaşımı bulmanıza yardımcı olur.

Taşımanın kullanım alanları

Bu bölümde, uygulamaların aktarılması gereken bazı yaygın durumlar açıklanmaktadır. verileri ayrı ayrı alabilir ve hesabınız için doğru aracı seçmenize duymuşsunuzdur.

Ağ üzerinden veri aktarma

Aktarım kullanıcı tarafından başlatıldıysa ve kullanıcıyı hakkında bilgilendirilmeniz gerekiyorsa kullanıcı tarafından başlatılan veri aktarımını API'ler. Aksi takdirde, WorkManager'ı kullanın veya uygun ön plan hizmet türünü kullanın.

Bir indirme işlemi planlamanız gerekiyorsa şunu da kullanabilirsiniz: DownloadManager. DownloadManager, uygulamanın sorunlar, cihaz yeniden başlatma ve yükleme işlemleri gibi görevlerin ve bağlantı değişiklikleri. Ancak DownloadManager tüm WorkManager ve JobScheduler.

Yerel cihaza veya cihazdan veri aktarma

Varsa belirli bir API kullanın (ör. tamamlayıcı cihaz yöneticisinin); aksi takdirde bir connectedDevice ön planı kullanın hizmet.

Kısa, kritik bir görevi tamamlama

shortService ön plan hizmeti kullanın.

Dosyaları işleme (ör. SD karta veya SD karttan veri aktarma, içeriği yeniden boyutlandırma veya verileri şifreleme ya da şifrelerini çözme)

Görev üç dakikadan kısa bir süre içinde tamamlanabilirse shortService kullanın ön plan hizmetini kullanın. Aksi takdirde WorkManager'ı kullanın.

Kullanıcı tarafından başlatılan veri aktarımı API'lerini kullanın

Uygulamanızın uzak bir sunucuya veri aktarması gerekiyorsa yeni kullanıcı tarafından başlatılan veri aktarımı API'leridir. Bu API'ler, şu doğrudur:

  • Kullanıcı, veri aktarımını başlattı
  • Kullanıcıyı veri aktarımının ilerleme durumuyla ilgili bilgilendirmeniz gerekiyor
  • Sistemin aktarımı kesintiye uğratması kullanıcı deneyimini olumsuz etkiler.

Bu koşullardan herhangi biri karşılanmazsa WorkManager'ı kullanmanız gerekir. .

Örneğin, bir medya uygulaması, kullanıcıların yerel olarak çalmak üzere albümleri indirmesine olanak tanıyabilir. bir oynatma listesi indirip hemen oynatmak istiyorsa, kullanıcı tarafından başlatılan veri aktarımı API'leridir. Diğer yandan, kullanıcı kullanıcı olmadan arka planda düzenli aralıklarla güncellemek için, indirilen oynatma listesini varsa WorkManager daha iyi bir seçim olur.

Daha fazla bilgi için ön plan hizmetlerini kullanıcı tarafından başlatılan veri aktarımı işleri için geçerlidir.

WorkManager'ı kullanma

Çoğu durumda, bir işi programlamanız gereken en iyi seçenek WorkManager'dır. Görevleri, kesintiye uğrayabilecek veya ertelenebilecek şekilde tasarlamalısınız sistem tarafından belirlenir. Daha fazla bilgi için WorkManager belgelerine bakın.

Ön plandan geçiş yaparken işinize yarayabilecek birkaç notu aşağıda bulabilirsiniz WorkManager'a özel hizmet:

  • Çalışmayı mümkün olan en kısa sürede tamamlamanız gerekiyorsa bir sonraki Hızlandırılmış iş talebi olarak gönderin. Bu seçenek özellikle yapılacak işin bir yayına, tam alarma veya yüksek öncelikli FCM mesajı.
  • Çalışmanın düzenli aralıklarla gerçekleştirilmesi gerekiyorsa periyodik aralıklarla iş yeri. Periyodik iş isteği, isteğin ne sıklıkta kabaca çalışır, ancak belirli bir zaman garantisi vermez. Bu da talepleri dengelemek amacıyla farklı uygulamalardan gelen iş isteklerini planlamak için kullanılan sistem cihaz üzerinde.
  • Sağ üst sınırı belirtmek için iş kısıtlamaları tanımlama gerekli koşulları yerine getirmeniz gerekir. Örneğin, uygulamanızın acil olmayan kaynaklarınız varsa, Cihaz şarj oluyor ve sınırsız bir ağa bağlı. WorkManager, Ardından işinizi sistemdeki yük dengeli bir zamanda çalıştırın.
  • WorkManager, gerekirse bir işi iptal edebilir ve yeniden deneyebilir. Örneğin, Kullanıcı bir iş çalışırken cihazı kapatabilir; sistem de ve cihaz tekrar kullanılabilir olduğunda işi yeniden deneyin. Hedef kitlenizin kim olduğunu ve iş akışınızı test ederek, iptal ve yeniden deneme döngüsünün çalıştığından emin olun. gerekir.

Daha belirli bir ön plan hizmet türü kullanın

Arka plan çalışması yapmak için başka bir yönteme geçemiyorsanız, bir ön plan hizmeti kullanmanız gerekiyor. Bu durumda, bu sorunu çözmek için hizmet türü için dataSync yerine kullanılacak Google hizmet türünü seçin. Kodunuzda zaten bir ön plan hizmeti söz konusu olduğunda, bu taşıma işlemi basittir; tek yapmanız gereken ve uygulamanızın bu hizmet türünü karşıladığından emin olun ve hizmet gereksinimlerini karşılamaktır.

Her zaman olduğu gibi, bir ön plan hizmeti kullanmayı kullanımınıza özel daha iyi alternatif bir API olup olmadığını değerlendirin dava açın.

Kısa hizmet ön plan hizmeti kullan

Uygulamanızın kısa, kritik bir görev gerçekleştirmesi gerekiyorsa shortService ön planı en iyi seçenek olabilir. shortService ön plan hizmeti uygun olabilir:

  • Kullanıcı bir işlem (verileri sunucuyla senkronize etmek gibi) başlatır ve kullanıcı bir web sitesini hemen gönderse bile uygulamayı arka plana atar.
  • Bellek içi bilgileri kalıcı depolama alanına kaydetme.
  • Bilgileri şifreleme veya şifrelerini çözme.

Ayrıntılı bilgi için shortService belgelerini inceleyin.

Bağlı bir cihaz ön plan hizmetini kullan

Başka bir yerel cihaza veri aktarmanız gerekiyorsa connectedDevice ön plan hizmeti. Bazı yaygın durumlar şunlardır: bu işlemi yapmanız gereken yerler:

  • Kulaklık veya akıllı saat gibi Bluetooth aksesuarıyla iletişim kurma
  • USB bağlantısı veya NFC aracılığıyla yerel olarak bağlı bir cihaza veri aktarılıyor. veya yerel internet bağlantısı

Ancak, bu durumlarda tamamlayıcı cihazı kullanabilirsiniz. yöneticisiyle iletişime geçin. Her zaman olduğu gibi, kullanım alanınız için özel amaçlı bir API varsa genellikle ön plan hizmeti kullanmaktan daha iyi bir seçenektir.

Ek kaynaklar

Ön plan hizmetlerinde yapılan bu değişiklik hakkında daha fazla bilgi için aşağıdakilere bakın ek kaynaklar: