Kinvey: احصل على كيانات محفوظة مؤخرا من AppData أثناء عدم الاتصال بالإنترنت؟

StackOverflow https://stackoverflow.com//questions/21050841

سؤال

تابعت هذا الدليل على موقع Kinvey والآن لديك شيء فيماييي:

giveacodicetagpre.

الآن إذا كان الهاتف عبر الإنترنت وأبدأ التطبيق عدة مرات أحصل على الإخراج التالي:

giveacodicetagpre.

ولكن إذا قمت بتنشيط وضع الطائرة لمحاكاة الاستخدام دون اتصال:

giveacodicetagpre.

كما ترى أن APPDATA لن تحصل على الكيانات المحفوظة مؤخرا أثناء عدم وضع خط البيان.هل أحصل على شيء خاطئ أم أن هذا النوع من التخزين المؤقت غير ممكن؟

هل كانت مفيدة؟

المحلول

أنا مهندس يعمل على مكتبة Android في Kinvey ويمكن أن يساعدك في الخروج بهذا.

يحدث هذا بسبب مشكلة توقيت، حيث أن مكتبةنا تنفذ الطلبات بشكل غير متزامن. هذا يعني أنه بعد استدعاء حفظ، لا يحدث حفظ على الفور، بدلا من ذلك، يتم تنفيذ مؤشر ترابط ويتم تنفيذ طلب الحفظ في الخلفية. بمجرد الانتهاء من التنفيذ، ستحصل على رد اتصال Onsuccess (أو onfailure، إذا حدث خطأ ما).

لذلك، لديك بضعة خيارات حول كيفية التعامل مع هذا، والحل الأكثر شيوعا هو الانتظار فقط لاستبدال Onsuccess الخاص بهذا الحفظ الأول -

giveacodicetagpre.

مع المقتطف أعلاه، سيتم تنفيذ طلب الحفظ، وبمجرد إكمال ذلك، سيتم تنفيذ Get. إذا كان لديك طن من المكالمات المضمنة مثل هذا، فيمكن أن تحصل على قابلة للتنفيذ، وبالتالي فإن مكتبةنا لديها أيضا تطبيقات متزامنة (حظر) من جميع الأساليب - ويمكنك كتابة AsyncTask التي يمكن أن تتسلسل الكثير من تطبيقات الحظر.

اسمحوا لي أن أعرف إذا كان ذلك منطقي!

---------------------------------- بعد تحرير:

حسنا، أرى ما يحدث هنا - المشكلة هي أن طلب الحصول على أي استعلام (الحصول على كل شيء، ما الذي تستخدمه أعلاه) لا يزال استفسارا من الناحية الفنية، ولا يحتوي دون اتصال بالإنترنت للحصول على استعلامات حل الزبون. يمكن حل الاستعلام على الخادم، ثم يتم حفظ النتائج محليا، لذلك إذا تم تكرار الاستعلام أثناء الاتصال بالإنترنت، فسوف يرجع فقط النتائج السابقة فقط. حاولت أيضا شرح هذا هنا:

http://devcenter.kinkyvey.com/android/guides/caching- غير متصل # UpdationThelocalstore

ولكن

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top