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. AncakDownloadManager
tümWorkManager
veJobScheduler
.- 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.- Medyanın kodunu dönüştürme
- Kısa, kritik bir görevi tamamlama
- 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.
Yeni medya işleme ön plan hizmetini kullan
Medya verilerini işlemeniz gerekiyorsa yeni mediaProcessing
kullanabilirsiniz
ön plan hizmetini kullanabilirsiniz. Uygulamanız Android'i hedefliyorsa bu hizmet türü kullanılabilir
15 veya üzeri. Örneğin, bu hizmet türü şu durumlarda uygundur:
Uygulamanızın, oynatma için medyanın kodunu bir biçimden başka bir biçime dönüştürmesi gerekiyor. Örneğin,
daha fazla bilgi için
medya işleme ön plan hizmeti dokümanlarına göz atın.
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:
- Arka planda çalışmayla ilgili rehberlik
- Blog yayını: Android