Senkronizasyon adaptörlerini kullanarak veri aktarma
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Not: Arka planda işleme özelliklerinin çoğu için önerilen çözüm olarak WorkManager'ı öneriyoruz. Size en uygun çözümü öğrenmek için lütfen arka planda işleme kılavuzuna göz atın.
Verileri bir Android cihaz ile web sunucuları arasında senkronize ederek uygulamanızı kullanıcılarınız için çok daha kullanışlı ve ilgi çekici hale getirebilirsiniz. Örneğin, verilerin bir web sunucusuna aktarılması yararlı bir yedek sağlar ve verilerin bir sunucudan aktarılması, kullanıcı çevrimdışıyken bile bu verileri kullanılabilir hale getirir. Bazı durumlarda kullanıcılar, verilerini bir web arayüzüne girip düzenlemek ve ardından bu verileri cihazlarında kullanılabilir hale getirmek ya da zaman içinde verileri toplayıp merkezi bir depolama alanına yüklemek isteyebilirler.
Uygulamanızda veri aktarımları yapmak için kendi sisteminizi tasarlayabilirsiniz, ancak Android'in senkronizasyon adaptörü çerçevesini kullanmayı düşünmeniz gerekir. Bu çerçeve, veri aktarımlarının yönetilmesine ve otomatikleştirilmesine yardımcı olur ve farklı uygulamalardaki senkronizasyon işlemlerini koordine eder. Bu çerçeveyi kullandığınızda kendi tasarladığınız veri aktarımı şemalarında kullanılamayan çeşitli özelliklerden yararlanabilirsiniz:
-
Eklenti mimarisi
-
Veri aktarım kodunu sisteme çağrılabilir bileşenler biçiminde eklemenize olanak tanır.
-
Otomatik yürütme
-
Veri aktarımını veri değişiklikleri, geçen süre veya günün saati gibi çeşitli kriterlere göre otomatikleştirmenizi sağlar. Ayrıca, sistem sıraya çalıştırılamayan aktarımları ekler ve mümkün olduğunda bunları çalıştırır.
-
Otomatik ağ kontrolü
-
Sistem, veri aktarımınızı yalnızca cihazın ağ bağlantısı olduğunda çalıştırır.
-
İyileştirilmiş pil performansı
-
Uygulamanızın tüm veri aktarımı görevlerini tek bir yerde toplamanızı sağlar. Böylece bu görevlerin hepsi aynı anda çalışır. Veri aktarımınız, diğer uygulamalardan yapılan veri aktarımlarıyla bağlantılı olarak da planlanır. Bu faktörler, sistemin ağ açma sayısını azaltarak pil kullanımını azaltır.
-
Hesap yönetimi ve kimlik doğrulama
-
Uygulamanız kullanıcı kimlik bilgileri veya sunucu girişi gerektiriyorsa isteğe bağlı olarak
hesap yönetimini ve kimlik doğrulamasını veri aktarımınıza entegre edebilirsiniz.
Bu sınıfta, bir senkronizasyon bağdaştırıcısının ve onu saran Service
öğesinin nasıl oluşturulacağı, senkronizasyon bağdaştırıcısını çerçeveye takmanıza yardımcı olacak diğer bileşenlerin nasıl sağlanacağı ve çeşitli şekillerde çalışacak şekilde senkronizasyon bağdaştırıcısının nasıl çalıştırılacağı gösterilmektedir.
Not: Senkronizasyon bağdaştırıcıları eşzamansız olarak çalışır. Bu nedenle, bu bağdaştırıcıları düzenli ve verimli bir şekilde veri aktarılmaları (anında değil) beklentisiyle kullanmalısınız. Gerçek zamanlı veri aktarımı yapmanız gerekiyorsa bunu bir AsyncTask
veya IntentService
üzerinde yapmanız gerekir.
Dersler
-
Şablon kimlik doğrulayıcı oluşturma
-
Senkronizasyon bağdaştırıcısı çerçevesinin uygulamanızın parçası olmasını beklediği hesap işleme bileşenini nasıl ekleyeceğinizi öğrenin. Bu derste basitlik için bir sap kimlik doğrulama bileşeninin nasıl oluşturulacağı gösterilmektedir.
-
Şablonlu içerik sağlayıcı oluşturma
-
Senkronizasyon bağdaştırıcısı çerçevesinin uygulamanızın bir parçası olmasını beklediği içerik sağlayıcı bileşenini nasıl ekleyeceğinizi öğrenin. Bu derste uygulamanızın içerik sağlayıcı kullanmadığı varsayılır ve bir saplama bileşeninin nasıl ekleneceği gösterilmektedir. Uygulamanızda zaten bir içerik sağlayıcı varsa bu dersi atlayabilirsiniz.
-
Senkronizasyon bağdaştırıcısı oluşturma
-
Veri aktarımı kodunuzu senkronizasyon bağdaştırıcısı çerçevesinin otomatik olarak çalıştırabileceği bir bileşene nasıl kapsayacağınızı öğrenin.
-
Senkronizasyon bağdaştırıcısını çalıştırma
-
Senkronizasyon bağdaştırıcısı çerçevesini kullanarak veri aktarımlarını nasıl tetikleyeceğinizi ve planlayacağınızı öğrenin.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[null,null,["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Transfer data using sync adapters\n\n**Note:** We recommended [WorkManager](/topic/libraries/architecture/workmanager)\nas the recommended solution for most background processing use cases. Please reference the\n[background processing guide](/guide/background) to learn which solution works best for you.\n\n\nSynchronizing data between an Android device and web servers can make your application\nsignificantly more useful and compelling for your users. For example, transferring data to a web\nserver makes a useful backup, and transferring data from a server makes it available to the user\neven when the device is offline. In some cases, users may find it easier to enter and edit their\ndata in a web interface and then have that data available on their device, or they may want to\ncollect data over time and then upload it to a central storage area.\n\n\nAlthough you can design your own system for doing data transfers in your app, you should\nconsider using Android's sync adapter framework. This framework helps manage and automate data\ntransfers, and coordinates synchronization operations across different apps. When you use\nthis framework, you can take advantage of several features that aren't available to data\ntransfer schemes you design yourself:\n\n\nPlug-in architecture\n:\n Allows you to add data transfer code to the system in the form of callable components.\n\n\nAutomated execution\n:\n Allows you to automate data transfer based on a variety of criteria, including data changes,\n elapsed time, or time of day. In addition, the system adds transfers that are unable to\n run to a queue, and runs them when possible.\n\n\nAutomated network checking\n:\n The system only runs your data transfer when the device has network connectivity.\n\n\nImproved battery performance\n:\n Allows you to centralize all of your app's data transfer tasks in one place, so that they\n all run at the same time. Your data transfer is also scheduled in conjunction with data\n transfers from other apps. These factors reduce the number of times the system has to\n switch on the network, which reduces battery usage.\n\n\nAccount management and authentication\n:\n If your app requires user credentials or server login, you can optionally\n integrate account management and authentication into your data transfer.\n\n\nThis class shows you how to create a sync adapter and the bound [Service](/reference/android/app/Service) that\nwraps it, how to provide the other components that help you plug the sync adapter into the\nframework, and how to run the sync adapter to run in various ways.\n\n\n**Note:** Sync adapters run asynchronously, so you should use them with the\nexpectation that they transfer data regularly and efficiently, but not instantaneously. If\nyou need to do real-time data transfer, you should do it in an [AsyncTask](/reference/android/os/AsyncTask) or\nan [IntentService](/reference/android/app/IntentService).\n\nLessons\n-------\n\n\n**[Create a stub authenticator](/training/sync-adapters/creating-authenticator)**\n:\n Learn how to add an account-handling component that the sync adapter framework expects to be\n part of your app. This lesson shows you how to create a stub authentication component for\n simplicity.\n\n\n**[Create a stub content provider](/training/sync-adapters/creating-stub-provider)**\n:\n Learn how to add a content provider component that the sync adapter framework expects to be\n part of your app. This lesson assumes that your app doesn't use a content provider, so it\n shows you how to add a stub component. If you have a content provider already in your app,\n you can skip this lesson.\n\n\n**[Create a sync adapter](/training/sync-adapters/creating-sync-adapter)**\n:\n Learn how to encapsulate your data transfer code in a component that the sync\n adapter framework can run automatically.\n\n\n**[Run a sync adapter](/training/sync-adapters/running-sync-adapter)**\n:\n Learn how to trigger and schedule data transfers using the sync adapter framework."]]