سؤال

لدي هذا السؤال بخصوص أنشطة Android وAndroidManifest.xml.لقد ظهر هذا السؤال عندما كنت أعمل مع Java servlets، وأردت إنشاء خادم "يعتمد على الوحدة النمطية" أو شيء مشابه لخادم يعتمد على المكونات الإضافية.يعمل هذا بشكل جيد، ويمكنني تحميل السيرفلتس التي أريدها ديناميكيًا، باستخدام طريقة تعليمات برمجية مشابهة لما يلي: قم بإضافة servlet ديناميكيًا إلى servletConfig.يتم العثور على servlets وتعيينها ديناميكيًا أثناء بدء تشغيل الخادم.

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

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

private void displayLoadedContent() {
    View v = inflateLayout(R.layout.buttonlayout);
    ListView view = (ListView) v.findViewById(R.id.list);
    view.setAdapter(new ListButtonAdapter(this, content));
}

أين content أعلن كما

List<MyActivityInterface> content;

و ListButtonAdapter يمتد BaseAdapter.

لذلك لا مشكلة هناك.تكمن المشكلة في أنني يجب أن أعلن عن كل نشاط من أنشطتي في AndroidManifest.xml.يشبه هذا الملف قائمة كبيرة من الأنشطة التي يمكن عرضها، وهو نوع من الفوضى، لذا لن أعرض الكود هنا.

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

أنا ببساطة أسأل ما إذا كان من الممكن تسجيل الأنشطة ديناميكيًا في البيان (أو السماح لها بالعمل بطريقة أخرى)، وإذا لم يكن الأمر كذلك، فهل هناك أي حل صالح آخر؟

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

المحلول

يتطلب Android أن يتم تسجيل كل نشاط في حسابك AndroidManifest.xml الملف في وقت مبكر.عند نشره، سيظل تطبيقك موجودًا على الجهاز كملف ‎.apk، والذي لا يمكن تعديله (بصرف النظر عن تحديثه/استبداله بملف APK جديد).

إذا فهمت السؤال بشكل صحيح، فأنت ببساطة لا ترغب في إدراج عدد كبير من الأنشطة في ملف البيان الخاص بك؟ فتات لا تحتاج إلى التسجيل في ملف البيان، لذلك إذا كان هدفك هو تبديل مكونات واجهة المستخدم ديناميكيًا، فسيكون هذا هو الحل.الأجزاء متاحة مرة أخرى إلى 1.6 عبر مكتبة الدعم.

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