Abdullha Mohammad نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 مثلا عندي تطبيق وداخله ١٠ شاشه من نوع Fragments وقبل ما اطلع من التطبيق اكون فاتح الشاشه رقم ٨ مثلا فبعد ما افتح التطبيق مره ثاني ابيه يفتح لي دايركت علي الصفحه الي كنت فيه قبل ما اسكر التطبيق 1 اقتباس
0 Wael Aljamal نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 بتاريخ 10 دقائق مضت قال Abdullha Mohammad: الحين اسوي حق كل Fragment داخله shared preferences ولا اسويه مره وحده في Main activity عشان يستديعه لما افتح التطبيق؟ ولا اسوي كل الأكواد داخل Main activity? عند كل تنقل إلى Fragment ما، علينا حفظ هذا الانتقال مثل الاحتفاظ برقمه مثلاً. وبذلك عند فتح التطبيق نقرأ قيمة shared preff وفيه رقم آخر Fragment وبذلك نفتحه. عملية تحديث رقم Fragment في كل مرة ننتقل لواحد مختلف (مكررة في كل Fragment ) عملية قراءة الرقم مرة واحدة عند فتح التطبيق (في Fragment الرئيسي الافتراضي) ثم فتح الFragment الهدف عند فتح التطبيق نطبق التالي: // قراءة اسم آخر نشاط SharedPreferences preferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); String activityTag = editor.getString(getString(R.string.last_viewed_activity_tag), null); // نشاط افتراضي في حال فتح التطبيق لأول مرة Class initialActivityClass; // الاختيار حسب المس النشاط switch (activityTag) { case "CoolActivity": initialActivityClass = CoolActivity.class; break; case "WowActivity": initialActivityClass = WowActivity.class; break; default: initialActivityClass = MainActivity.class; break; } // إطلاق النشاط Intent intent = new Intent(this, initialActivityClass); startActivity(intent); finish(); عند تغيير fragment فقط نعمل putString بدل get و نخزن قيمة تدل على Fragment SharedPreferences preferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); String activityTag = editor.putString(R.string.last_viewed_activity_tag, "Fragment name / number" ); ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ اقتباس
1 Wael Aljamal نشر 27 مارس 2022 أرسل تقرير نشر 27 مارس 2022 بتاريخ 8 ساعات قال Abdullha Mohammad: داخل Fragment يطلع عندي خط أحمر عند استدعاء String مره ثاني هل قمت بتعريف page1 ضمن ملف strings؟ بتاريخ 9 ساعات قال Abdullha Mohammad: ظهر عندي مشكله مايصير استدعي في بدايه التطبيق get String يجب أن تعمل ولكن ضعها في دالة منفصلة ليكون الكود أرتب وأفضل اقتباس
0 Wael Aljamal نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 يمكنك إنشاء كائن shared preference له مفتاح معين لهذه المهمة مثل lastFragment في كل مرة تنقل على صفحة جديدة تقوم بتخزين رقم الصفحة فيه عن طريق الدالة putString ، و عند بداية التطبيق تقرأ قيمة هذا المفتاح عن طريق get و تقوم بعمل التوجيه لفتح آخر صفحة تم فتحها. اقتباس
0 Abdullha Mohammad نشر 26 مارس 2022 الكاتب أرسل تقرير نشر 26 مارس 2022 بتاريخ 17 دقائق مضت قال Wael Aljamal: يمكنك إنشاء كائن shared preference له مفتاح معين لهذه المهمة مثل lastFragment في كل مرة تنقل على صفحة جديدة تقوم بتخزين رقم الصفحة فيه عن طريق الدالة set، و عند بداية التطبيق تقرأ قيمة هذا المفتاح عن طريق get و تقوم بعمل التوجيه لفتح آخر صفحة تم فتحها. نفس المثال هذا او اذا عندك مثال او فيديو يشرح لي اكثر 1 اقتباس
0 Wael Aljamal نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 بتاريخ 14 دقائق مضت قال Abdullha Mohammad: نفس المثال هذا او اذا عندك مثال او فيديو يشرح لي اكثر صحيح نفسه هذه أبسط فكرة اقتباس
0 Abdullha Mohammad نشر 26 مارس 2022 الكاتب أرسل تقرير نشر 26 مارس 2022 بتاريخ 3 دقائق مضت قال Wael Aljamal: صحيح نفسه هذه أبسط فكرة الحين اسوي حق كل Fragment داخله shared preferences ولا اسويه مره وحده في Main activity عشان يستديعه لما افتح التطبيق؟ ولا اسوي كل الأكواد داخل Main activity? 1 اقتباس
0 Abdullha Mohammad نشر 26 مارس 2022 الكاتب أرسل تقرير نشر 26 مارس 2022 بتاريخ 2 ساعات قال Wael Aljamal: عند كل تنقل إلى Fragment ما، علينا حفظ هذا الانتقال مثل الاحتفاظ برقمه مثلاً. وبذلك عند فتح التطبيق نقرأ قيمة shared preff وفيه رقم آخر Fragment وبذلك نفتحه. عملية تحديث رقم Fragment في كل مرة ننتقل لواحد مختلف (مكررة في كل Fragment ) عملية قراءة الرقم مرة واحدة عند فتح التطبيق (في Fragment الرئيسي الافتراضي) ثم فتح الFragment الهدف عند فتح التطبيق نطبق التالي: // قراءة اسم آخر نشاط SharedPreferences preferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); String activityTag = editor.getString(getString(R.string.last_viewed_activity_tag), null); // نشاط افتراضي في حال فتح التطبيق لأول مرة Class initialActivityClass; // الاختيار حسب المس النشاط switch (activityTag) { case "CoolActivity": initialActivityClass = CoolActivity.class; break; case "WowActivity": initialActivityClass = WowActivity.class; break; default: initialActivityClass = MainActivity.class; break; } // إطلاق النشاط Intent intent = new Intent(this, initialActivityClass); startActivity(intent); finish(); عند تغيير fragment فقط نعمل putString بدل get و نخزن قيمة تدل على Fragment SharedPreferences preferences = getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); String activityTag = editor.putString(R.string.last_viewed_activity_tag, "Fragment name / number" ); ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Class initialActivityClass اعمل لك كلاس جديد ولا اقدر احطه داخل Main activity اقتباس
0 Wael Aljamal نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 بتاريخ الآن قال Abdullha Mohammad: اعمل لك كلاس جديد ولا اقدر احطه داخل Main activity يمكنك وضعه داخل Main activity بالطبع، المهم نستعمل get بأول تشغيل التطبيق لنعرف أي Fragment نريد عرضه، و عند نقر المستخدم و تغيير Fragment نعمل put String لتحديث قيمة آخر Fragment تمت زيارته اقتباس
0 Abdullha Mohammad نشر 27 مارس 2022 الكاتب أرسل تقرير نشر 27 مارس 2022 بتاريخ 17 ساعات قال Wael Aljamal: يمكنك وضعه داخل Main activity بالطبع، المهم نستعمل get بأول تشغيل التطبيق لنعرف أي Fragment نريد عرضه، و عند نقر المستخدم و تغيير Fragment نعمل put String لتحديث قيمة آخر Fragment تمت زيارته ظهر عندي مشكله مايصير استدعي في بدايه التطبيق get String اقتباس
0 Abdullha Mohammad نشر 27 مارس 2022 الكاتب أرسل تقرير نشر 27 مارس 2022 بتاريخ منذ ساعة مضت قال Abdullha Mohammad: ظهر عندي مشكله مايصير استدعي في بدايه التطبيق get String أيضا داخل Fragment يطلع عندي خط أحمر عند استدعاء String مره ثاني اقتباس
0 Abdullha Mohammad نشر 29 مارس 2022 الكاتب أرسل تقرير نشر 29 مارس 2022 بتاريخ On 27/3/2022 at 09:58 قال Abdullha Mohammad: أيضا داخل Fragment يطلع عندي خط أحمر عند استدعاء String مره ثاني اخوي انت تقصد persistence.getString اقتباس
0 Wael Aljamal نشر 29 مارس 2022 أرسل تقرير نشر 29 مارس 2022 بتاريخ 1 دقيقة مضت قال Abdullha Mohammad: اخوي انت تقصد persistence.getString إن لم يكن لديك خلفية عن استخدامها أرجو قراءة بعض المقالات أو مشاهدة دروس في يوتيوب وسوف تتعلم الطريقة.. أنا أشرح لك الفكرة و أسلوب استخدامها قدر الإمكان. وتأكد من تعلم أساسيات جافا بطريقة جيدة اقتباس
السؤال
Abdullha Mohammad
مثلا عندي تطبيق وداخله ١٠ شاشه من نوع Fragments وقبل ما اطلع من التطبيق اكون فاتح الشاشه رقم ٨ مثلا فبعد ما افتح التطبيق مره ثاني ابيه يفتح لي دايركت علي الصفحه الي كنت فيه قبل ما اسكر التطبيق
12 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.