سؤال

لديّ نشاط لتهيئة لعبة ، يقوم بإدراج العديد من الاختيار والإدراج من عدد من جداول SQLite.

أحاول أن أفهم Asynctask ، لكن من جميع الأمثلة التي قرأتها حتى الآن ، أتساءل عما إذا كان علي أن أضطر إلى فئة Asynctask الفرعية لكل عملية بيانات مختلفة أحتاج إلى القيام بها؟

على سبيل المثال ، يقوم نشاط NewGame الخاص بي بما يلي:

1) Insert new player record into PLAYER table
2) Insert new player's pet record into PET table
3) Select cursor of n records from INVENTORY
4) Insert array of ranomly chosen inventory items into PLAYER_OWNED table
5) ....more things of a similar nature

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

لذا ، في الأساس ، كيف يمكنني استخدام Asynctask بشكل أفضل لتنفيذ عدد من عمليات SQLite المختلفة؟

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

المحلول

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

سوف تفعلها بحاجة إلى لتحديد Asynctask في كل نشاط.

كتبت بحاجة إلى, ، لأنك لا تضطر حقًا إلى ذلك ، ولكن من المريح القيام بذلك بهذه الطريقة ، وسهلة القراءة/الكتابة ، حيث يتم ترشيح Asynctask للنشاط فقط. هذا بالطبع فرض استخدام كلاس متداخلة ، لا أرى أي جدوى في كتابة ملف فئة منفصل فقط لمساجير غير متزامنة.

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