android - مزامنة محول دون حساب




rest adapter sync account (4)

أستمر في تلقي الكثير من الإشعارات من هذا السؤال ، لذلك أعتقد أنني سأشارك هذه المعلومات. هذه هي الطريقة التي تضيف بها SyncAdapter بدون حساب. يمكنك وضع هذا في onCreate of MyApplication extends Application onCreate فئة MyApplication extends Application . هذا يفترض أن لديك بالفعل SyncAdapter و SyncAdapter نفذت. يمكنك فعل ذلك باتباع البرامج التعليمية المدرجة في السؤال.

final String ACCOUNT_NAME = "MyApp";
final String ACCOUNT_TYPE = "com.myapp.account";
final String PROVIDER = "com.myapp.provider";

Account appAccount = new Account(ACCOUNT_NAME,ACCOUNT_TYPE);
AccountManager accountManager = AccountManager.get(getApplicationContext());
if (accountManager.addAccountExplicitly(appAccount, null, null)) {
   ContentResolver.setIsSyncable(appAccount, PROVIDER, 1);
   ContentResolver.setMasterSyncAutomatically(true);
   ContentResolver.setSyncAutomatically(appAccount, PROVIDER, true);
}

RES / XML / syncadapter.xml

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
    android:contentAuthority="@string/provider"
    android:accountType="@string/account_type"  
    android:userVisible="true"  
    android:supportsUploading="true"
/>

RES / XML / authenticator.xml

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="@string/account_type"
    android:icon="@drawable/app_icon"
    android:smallIcon="@drawable/app_icon"
    android:label="@string/app_label"
/>

أحتاج إلى جلب بعض البيانات عبر السحاب من تطبيقي. لقد شاهدت فيديو google IO على تطبيقات RESTful android @ http://www.youtube.com/watch?v=xHXn3Kg2IQE&t=43m58s توصي في الشرائح النهائية باستخدام SyncAdapter للتكامل مع نظام Android.

تعلمت في وقت لاحق أنه يتعين على المرء استخدام حساب لتنفيذ SyncAdapter. لا يستخدم تطبيقي حسابًا. يمكن للمستخدمين تحميل البيانات دون تسجيل. هل ما زال بإمكاني استخدام SyncAdapter؟ هل هناك حساب وهمية الأسهم التي يمكنني استخدامها؟

تعديل: لدي مزود محتوى لتطبيقي ، لذا لا يمثل ذلك مشكلة

Edit2: لقد بحثت للتو في تطبيق Weather and Stock ضمن الإعدادات -> الحسابات والمزامنة. يمكنك أن ترى أنها تسمح بالمزامنة ، ولكن ليس لديك زر إزالة الحساب. من ناحية أخرى ، تسمح تطبيقات Google و Facebook و Skype بمزامنة PLUS لديهم زر إزالة الحساب. هذا يعني أن Weather and Stock لا يستخدمان الحسابات ، بينما تفعل Google و Facebook و Skype.

الدروس التعليمية التي عثرت عليها http://ericmiles.wordpress.com/2010/09/22/connecting-the-dots-with-android-syncadapter/ و http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/ يقول أنه يجب أن يكون لدى أحد الحساب لاستخدام "محول المزامنة". : S ؟؟؟


كما يقول مستندات مطوري برامج Android

حتى إذا كان تطبيقك لا يستخدم الحسابات ، فستظل بحاجة إلى توفير مكون لمصادق. إذا لم تستخدم الحسابات أو تسجيل الدخول إلى الخادم ، فسيتم تجاهل المعلومات التي تمت معالجتها بواسطة المصادق ، بحيث يمكنك توفير مكوِّن لمُصادق يحتوي على عمليات تنفيذ لأسلوب stub. تحتاج أيضًا إلى توفير خدمة منضم تسمح لإطار محول المزامنة باستدعاء أساليب المصادق.

هناك مقالة كاملة حول إنشاء أداة مصادقة Stub . أدرك أن هذا السؤال قديم وتمت الموافقة على إجابة منذ فترة طويلة ، ولكنني شعرت أن هناك إضافة حديثة إلى المستندات الرسمية يجب تضمينها هنا.


لقد أنشأت محول مزامنة جهات الاتصال حيث لا يوجد لدي ترخيص حساب و / أو شاشات تهيئة. لم يكن ذلك صعبًا. لا أعتقد أن التعامل مع عناصر حساب Android كان ذلك جزءًا كبيرًا من الصفقة.

اقتبس من رابطك التعليمي:

الأخبار السيئة هي أنه لا توجد وظيفة "أسهم" لتعطيك طريقة سهلة لتوفير حساب للنظام. ومع ذلك ، في نفس نموذج محوّل المزامنة الذي يأتي مع SDK ، هناك الكثير من الشفرات التي يمكنك استعارتها لمنحك وظيفة الحساب. ما لم تكن ترغب في شاشة بيانات اعتماد مخصصة ، يمكنك إلغاء جميع التعليمات البرمجية في الحزمة com.example.android.samplesync.authenticator مع بعض التغييرات الطفيفة فقط.

لذلك فهي في الأساس مجرد نسخة ولصق من المثال ، وهذا إلى حد كبير ما فعلته وعملت بشكل جيد.

لا أعرف على وجه اليقين ولكن يبدو أن جميع المحولات التي لا تحتوي على "إزالة حساب" مدمجة في محولات ROM على جميع الأجهزة التي نظرت إليها. لست متأكدًا من أن عليك القلق بشأنها.


نظرًا لأن السؤال لا يقتصر على Android Studio ، لذا فأنا أعطي مسارا لـ Visual Studio 2015 (عملت لـ Xamarin).

  • حدد موقع ملف قاعدة البيانات المذكور في الصورة أعلاه ، وانقر فوق زر السحب كما هو موضح في الصورة 2.
  • احفظ الملف في الموقع المطلوب.
  • يمكنك فتح هذا الملف باستخدام SQLite Studio أو مستعرض DB لـ SQLite.

شكر خاص لغيرك من المجيبين على هذا السؤال.





android rest adapter sync account