-
المساهمات
787 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
2
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
أجوبة بواسطة Flutter Dev
-
-
بتاريخ الآن قال Mohamd Imran:
السلام عليكم أخي ,شكرا لك سأطلع على الكود وأقوم بحل المشكلة وسأقوم بإخبارك ,قد يأخذ بعض الوقت
شاكر لك عزيزي كثير ماشي مشكله باذن الله في انتظارك
-
مرحبا اخي لا اعلم اذا كنت قد اتطلعت على المشروع الذي ارفقته لك
لكنيي قمت بتجربة التالي : قمت بوضع الكود التالي في الصفحتان وما لحظته الان ان المشكلة قد صارت العكس
الان الصفحة الاولى السلايدر لايوت لا يظهر
بينما الجدول الثاني السلايدر لايوت شغال
if (savedInstanceState == null) { getChildFragmentManager().beginTransaction().replace(R.id.fragment_container, new FragmentHome()).commit(); }
وعند وضعه بطريقة التاليه:في table1
if (savedInstanceState == null) { getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new FragmentHome()).commit(); }
وفي الجدول الثاني كالتالي:
if (savedInstanceState == null) { getChildFragmentManager().beginTransaction().replace(R.id.fragment_container, new FragmentHomeDrive()).commit(); }
يحدث العكس ايضا
الان الجدول الاول السلايدر شو شغال بينما حين الانتقال الى الجدول الثاني السلايدر شو لا يعمل حتى نضغط على زر الهوم
-
ربي يعطيكم الف صحه وعافيه
رح اطبق وابلغكم ب النتيجة باذن الله
-
1
-
-
السلام عليكم ورحمة الله وبركاته
استفسار لو تكرمتو
اشتغل على تطبيق يحتوى على جدولين TabLayout
وكل صفحة او جدول لديه BottomNavigationView
سوالي اذا كان لدي 3 ازار في BottomNavigationView
طبعا الان جميع ازار BottomNavigationView تعرض صفحات TabLayout
ولكن لو مثلا محتاج اعمل اخفاء لصفحات TabLayout في الزر الثاني والثالث من اصل 3 ازار في BottomNavigationView
فهل يمكن عمل ذلك؟مع العلم انها سوف تستمر في الظهور في الزر الاول
مرفق نسخه من مشروع مصغر يحتوى TabLayout و BottomNavigationView نموذج عن سوالي
-
1
-
-
هلا بيك ي غالي
اعذرني على تاخر ردي على هذا الموضوع بس لني كنت اشتغل على نقطة ثانية
قمت بارفاق سورس كود مصغر يمكنك تشغيله وهو يحتوي على المشكله
سوف تشاهد الاكتفي الاول او tabl1 يعمل بشكل جيد بعد اقلاع التطبيق ولكن لو قمت بتغير الى table2 ستكون الصفحة بيضا بالكامل وحتى تستيطع جلب بياناتها يجب ان تقوم بضغط على زر الهوم
هذا المشكلة بتحديد طبعا هذا تحدث فقط في اول تشغيل لتطبيق بعدها حتى لو قمت بتنقل بين table1 and table2 لكن تكون المشكلة موجوده
ياليت لو تكرمت تطلع على المشروع
-
بتاريخ 1 دقيقة مضت قال Mohamd Imran:
السلام عليكم أخي @مروان مروان3
في كود الجافا الخاص بك قم بتغيير التالي في ال onCreate ميثود
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this);
إلى التالي
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); navigationView.bringToFront();
بعد ذلك أتوقع أن يعمل بدون مشاكل
ما شاء الله عليك ي اخوي فعلا المشكله انحلت
ربي يزيدك من واسع عمله وفضله
-
1
-
-
السلام عليكم ورحمة الله وبركاته
تحيه طيبه للجميع اعزائي
احاول استخدام DrawerLayout لعرض الصفحات والانتقال من خلاله الىى صفحات اخرى مثل الصورة التالية
المشكلة التي تواجهني في حالة استخدام DrawerLayout في اكتفتي يحتوي على TabLayout + ViewPager
الـ DrawerLayout شغال ويظهر للمستخدم ويمكن مشاهدة الاختيارات من خلاله ولكن في حالة اختيار الضغط على الاختيارات لا يحدث شي
صورة لتوضيح في حالة وضعت التصميم كالتالي فهو شغال مية مية
وهذا نتيجة الضغط على الاختيار
ولكن المطلوب عمله كالتالي :
في هذا الحالة الشريط الجانبي يظهر ولكن لدى الاختيار يختفي الشريط ولا يحدث اي شي
هذا كود xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <androidx.drawerlayout.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <com.google.android.material.navigation.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include layout="@layout/app_bar_main" /> <com.google.android.material.tabs.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" app:tabSelectedTextColor="@android:color/white" app:tabTextColor="@android:color/black"> <com.google.android.material.tabs.TabItem android:id="@+id/tabChats" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Table1" /> <com.google.android.material.tabs.TabItem android:id="@+id/tabStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Table2" /> </com.google.android.material.tabs.TabLayout> <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> </androidx.drawerlayout.widget.DrawerLayout> </RelativeLayout>
وهذا كود صفحة الجافا
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private DrawerLayout drawer; private TextView appBarTV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); drawer = (DrawerLayout) findViewById(R.id.drawer_layout); appBarTV = findViewById(R.id.appbar_text_view); ImageButton menuRight = findViewById(R.id.leftRight); menuRight.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { drawer.openDrawer(GravityCompat.START); } } }); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { drawer.closeDrawers(); int id = item.getItemId(); if (id == R.id.nav_slideshow) { appBarTV.setText("Slideshow Page"); Toast.makeText(this, "Slideshow", Toast.LENGTH_SHORT).show(); } else if (id == R.id.nav_manage) { appBarTV.setText("Tools Page"); Toast.makeText(this, "Tools", Toast.LENGTH_SHORT).show(); } else if (id == R.id.nav_share) { appBarTV.setText("Share Page"); Toast.makeText(this, "Share", Toast.LENGTH_SHORT).show(); } else if (id == R.id.nav_send) { appBarTV.setText("Send"); Toast.makeText(this, "Send", Toast.LENGTH_SHORT).show(); } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return true; } }
ايضا قمت بارفاق المشروع بالكامل للاتطلع عليه
-
1
-
-
بتاريخ 2 دقائق مضت قال Mohamd Imran:
تمام هل يمكنك إرفاق ملف المشروع حتى أستطيع الإطلاع على باقي الكود
طبعا عزيزي يعطيك الف عافيه
-
1
-
-
بتاريخ 3 ساعات قال Mohamd Imran:
السلام عليكم أخي @مروان مروان3
جرب إضافة التالي إلى جملة الشرط الخاصة بال table 2 هكذا
if (savedInstanceState == null) { getActivity(). getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new FragmentHome()).commit(); }
وأعلمني بالنتيجة
هلا بيك عزيزي
النتيجة كالتالي: بنسبه للاسلايد شو الوضع ك السابق الجدول الاول شغال وثاني لا
-
1
-
-
السلام عليكم ورحمة الله وبركاته
لدي مشكله ي اخوان
انا استخدم tablayout ,viewPager لتقسيم الشاشة الى قسمين في اكتفتي واحد
في كل قسم امتلك صفحة fragment وفي كل fragment استععمل BottomNavigationView
المشكلة الان كالتالي
في كل fragment انا عامل في الاعلى سلايد شو لعرض الصور المتحركة
الان في وقت تشغيل التطبيق التطبيق يشتغل على table1 وكل شي شغال تمام فيه
ولكن لما اروح منتقل الى table2 السلايد شو لا يعمل يظهر بشكل صورة بيضاء او كانه مش موجود اساس
ولو رحت في table2 ضاغط على زر BottomNavigationView رح يظهر وقتها السلايد شو ويظل شغال لدي حتى لو رحت متنقل بين الجدول الاول والجدول الثاني
كل المشكله في بداية تشغيل fragment للمرة الاولى فقط
هل توجد طريقة لحل هذا المشكلة ؟
هذا كود table1 والي هو شغال ولا توجد اي مشكلة فيه
if (savedInstanceState == null) { getActivity(). getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new FragmentHome()).commit(); } BottomNavigationView bottomNav = rootView.findViewById(R.id.bottom_navigation); BottomNavigationView bottomNavigationView = (BottomNavigationView)rootView. findViewById(R.id.bottom_navigation); bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { Fragment selectedFragment = null; switch (menuItem.getItemId()) { case R.id.nav_home: selectedFragment = new CategoryMani(); break; case R.id.nav_favorites: selectedFragment = new FragmentHome(); break; case R.id.nav_search: selectedFragment = new FragmentListAll(); break; } getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit(); return true; } });
وهذا كود table2 والذي هو يحتوي على المشكلة
if (savedInstanceState == null) { } BottomNavigationView bottomNav = rootView.findViewById(R.id.bottom_navigation); BottomNavigationView bottomNavigationView = (BottomNavigationView) rootView.findViewById(R.id.bottom_navigation); bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { Fragment selectedFragment = null; switch (menuItem.getItemId()) { case R.id.nav_home: selectedFragment = new TablesOderLIst(); break; case R.id.nav_favorites: selectedFragment = new FragmentHome(); break; case R.id.nav_search: selectedFragment = new FragmentProfile(); break; case R.id.nav_s: selectedFragment = new AdminHome(); break; } getChildFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit(); return true; } });
طبعا انا حاولت احل هذا المشكلة وعلى ما يبدو المشكلة في الكود التالي :
if (savedInstanceState == null) { }
على حسب ما فهمت ولكني لم استطع ايجاد الحل
تصميم السلايد شو كالتالي لكل الصفحتين
<androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:fitsSystemWindows="false"> <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="152dp" android:fitsSystemWindows="true" android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"> <com.google.android.material.appbar.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:background="@color/white" android:fitsSystemWindows="true" app:expandedTitleGravity="top" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:gravity="center"> <androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true"> <com.smarteist.autoimageslider.SliderLayout android:id="@+id/Slider" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" /> </androidx.cardview.widget.CardView> </LinearLayout> </com.google.android.material.appbar.CollapsingToolbarLayout> </com.google.android.material.appbar.AppBarLayout>
وهذا توضيح للمشكلة وللفكره ايضا
هذا الجدول الاول وهو شغال 100%
وهذا الجدول الثاني اول من اقوم بدخول له وهو يظهر ابيض فارغ
-
1
-
-
ربي يعطيك الف صحه وعافيه عزيزي
-
1
-
-
اصبح الكود الصفحة كالتالي
public class PageAdapter extends FragmentPagerAdapter { private static Context mContext; private int numOfTabs; PageAdapter(Context context, FragmentManager fm, int numOfTabs) { super(fm); this.mContext = context; this.numOfTabs = numOfTabs; } @Override public Fragment getItem(int position) { switch (position) { case 0: return new MHome(); case 1: Intent intent = new Intent(this.mContext, Home.class); mContext. startActivity(intent); case 2: return new CallFragment(); default: return null; } } @Override public int getCount() { return numOfTabs; } }
ولكن في الصفحة الاساسيه ظهر خطاء في السطر التالي
pageAdapter = new PageAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
الخطاء هو
'PageAdapter(android.content.Context, androidx.fragment.app.FragmentManager, int)' in 'com.example.myapplication.MainTable.PageAdapter' cannot be applied to '(androidx.fragment.app.FragmentManager, int)'
بتحديد في كلمة getSupportFragmentManager()
-
1
-
-
بتاريخ الآن قال Mohamd Imran:
هل ظهر لديك خطأ ؟
نعم عزيزي مثل الصورة المرفقة
-
ايضا لا يمكن عمل ذلك
public class PageAdapter extends FragmentPagerAdapter { private int numOfTabs; PageAdapter(FragmentManager fm, int numOfTabs) { super(fm); this.numOfTabs = numOfTabs; } @Override public Fragment getItem(int position) { switch (position) { case 0: return new MHome(); case 1: Intent i = new Intent(getActivity(), Home.class); startActivity(i); ((Activity) getActivity()).overridePendingTransition(0, 0); // return new StatusFragment(); // startActivity(new Intent(PageAdapter.this, Home.class)); // return null ; case 2: return new CallFragment(); default: return null; } } @Override public int getCount() { return numOfTabs; } }
-
1
-
-
شاهد عزيزي انا قمت بتابع تعليماتك حسب الصور في انشاء المجلد واسميته layout2
هذا الصورة من اندرويد ستوديو :
وهذا الصورة من مجلدت المشروع
هذا المشكلة التي اعاني منها المجلد لا يظهر في برنامج اندرويد
-
1
-
-
بتاريخ 30 دقائق مضت قال Hamada Sayed:
عليكم السلام
ممكن تستخدم startActivity وreturn null
اذا كنت تقصد كالتالي اخي فهو لم ينجح
startActivity(new Intent(PageAdapter.this, Home.class)); return null ;
-
بتاريخ 10 دقائق مضت قال Mohamd Imran:
مرحبا @مروان مروان3
المجلد يظهر في مجلد res في مجلدات المشروع تفقده بإسم xml
وبخصوص
أين يكون موجود أقصد في أي مسار ؟
في مجلد res وحسب الاسم الذي اعطيه في وقت الانشاء
ولكن في تطبيق اندرويد لا يظهر
ولكن لو رحت للملفات من خلال متصفح الكمبيوتر ممكن اشوفه
-
1
-
-
السلام عليكم ورحمة الله وبركاته
انا استخدم ازار Bottom Navigation Bar في الصفحة الاساسيه لمشروعي
لدي 3 ازار وكل زر مرتبط ب صفحة Fragment من خلال صفحة الادبتر التاليه :
public class PageAdapter extends FragmentPagerAdapter { private int numOfTabs; PageAdapter(FragmentManager fm, int numOfTabs) { super(fm); this.numOfTabs = numOfTabs; } @Override public Fragment getItem(int position) { switch (position) { case 0: return new FragmentHome(); case 1: return new StatusFragment(); case 2: return new CallFragment(); default: return null; } } @Override public int getCount() { return numOfTabs; } }
الان لدي مشكلة انا احتاج ان انتقال من خلال الزر الى صفحة activity وليس Fragment
كل ما حاولت اكتب الكود الانتقال تظهر لي رسالة الخطاء التالي :
في هذا الحالة كيف ممكن نعمل انتقال الى هذا الاكتفتي ؟هل يوجد حل بدون تحويل الاكتفتي الى صفحة Fregment?
-
1
-
-
هلا بيك عزيزي
مع الاسف انا قمت بتجربة الطريقة الذي ذكرتها انت وقمت باختيار
xml resources folder ولكن بعد الانشاء والجريد يعمل مزامنة المجلد لا يظهر لدي مع مجلدات المشورع هذا المشكله التي اعاني منها
مع العلم لو رحت لمجلدات المشروع من خارج االاندرويد ستوديو الفولدر يكون موجود
-
1
-
-
السلام عليكم ورحمة الله وبركاته
تحيه طيبه للجميع
استفسار لو تكرمتو .. هل توجد طريقة يمكن من خلالها انشاء مجلدات لملفات XML في اندرويد ستوديو؟ لني حاولت ب كذا طريقة ولم يفلح الامر
-
1
-
-
والله ي خوي ان راسي دار اعذرني ازعجتك بس الموضوع يلف براس شوية
من الواضح ان الكود الذي قمت بتعديله صار شغال ربي يعطيك الف عافيه اذا شفت فيه اي شي ما شغال عدل رح ابلغك باذن الله كل الشكر لك عزيزي ربي يزيدك من واسع فضله
-
1
-
-
اهلا اخي @Mohamd Imran
الان اصبح شكل الكلاس سيرفس لدي كالتالي
public class MyService extends Service { public NotificationManagerCompat notificationManager; String id; App app; public MyService() { } @Override public void onCreate(){ app = (App) getApplicationContext(); id= String.valueOf(app.getTotal_threads()); Log.i(TAG,"test"+ id.toString()); super.onCreate(); } @Override public int onStartCommand(Intent intent,int flags,int startId){ Toast.makeText(this, "Start myServis", Toast.LENGTH_LONG).show(); run_loop(); return START_STICKY; } public void run_loop(){ String url = "http://00000000/testnet/android_register_login/ShowAllData.php"; JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { JSONArray jsonArray = response.getJSONArray("data"); JSONObject hit = jsonArray.getJSONObject(0); String id = hit.getString("id"); int lastThread = Integer.parseInt(String.valueOf(id)); JSONObject jsonObject = null; Toast.makeText(MyService.this, lastThread + "", Toast.LENGTH_SHORT).show(); if (app.getTotal_threads() < lastThread) { app.setTotal_threads(lastThread); Notification notification = new NotificationCompat.Builder(MyService.this, CHANNEL_1_ID) .setSmallIcon(android.R.drawable.ic_popup_reminder) .setContentTitle("title") .setContentText("message") .setAutoCancel(true) .setPriority(NotificationCompat.PRIORITY_HIGH) .setCategory(NotificationCompat.CATEGORY_MESSAGE) .build(); notificationManager.notify(1, notification); } } catch(JSONException e){ e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(request); Handler handler=new Handler(); handler.postDelayed(new Runnable(){ @Override public void run() { run_loop(); } },10000); } @Override public void onDestroy(){ Toast.makeText(this, "Stopmyservci", Toast.LENGTH_LONG).show(); super.onDestroy(); } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. throw new UnsupportedOperationException("Not yet implemented"); } }
وصفحة home كالتالي
public class Home extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.home); } private boolean isMyServiceRunning(Class<?> serviceClass) { ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (serviceClass.getName().equals(service.service.getClassName())) { return true; } } return false; } public void onBackPressed() { if(!isMyServiceRunning(MyService.class)){ Intent sr =new Intent(this, MyService.class); startService(sr); } Toast.makeText(this, "Exit", Toast.LENGTH_SHORT).show(); finish(); super.onBackPressed(); } }
-
1
-
-
السلام عليكم ورحمة الله وبركاته
تحيه طيبه للجميع
لدي استفسار لو تكرمتو
اعمل على كود ارسال الاشعارات من التطبيق الى المستخدم الكود شغال ميه ميه ولكن توجد مشكله بسيطه في الامر
الكود يشتغل بعد من يقوم المستخدم بالخروج من التطبيق من خلال ..
public void onBackPressed() { Intent sr =new Intent(this, MyService.class); startService(sr); Toast.makeText(this, "Exit", Toast.LENGTH_SHORT).show(); finish(); run_loop(); super.onBackPressed(); }
المشكله انه كل ما خرج من التطبيق يشاهد اخر اشعار وصله من جديد او السيرفر يرجع يرسل له اشعار هو سبق وتم ارساله للمستخدم يعني السيرفر يعمل تكرار .. المفترض المستخدم من يوصله الاشعار لمره واحده لا يوصله من جديد لنفس الاشعار كيف يمكن حل هذا المشكله لو تكرمتو بحيث انه الاشعار الجديد يصل للمستخدم لمره واحده فقط وليس كل ما دخل التطبيق وخرج يحصل على اشعار باخر رسالة وصلته او اخر موضوع ..
كود السيرفر ..
public class MyService extends Service { public MyService() { } @Override public void onCreate(){ super.onCreate(); } @Override public int onStartCommand(Intent intent,int flags,int startId){ Toast.makeText(this, "Start myServis", Toast.LENGTH_LONG).show(); // run_loop(); return START_STICKY; } @Override public void onDestroy(){ Toast.makeText(this, "Stopmyservci", Toast.LENGTH_LONG).show(); super.onDestroy(); } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. throw new UnsupportedOperationException("Not yet implemented"); } }
كود استدعاء الاشعار ..
public void run_loop(){ String url = "http://00000000/testnet/android_register_login/ShowAllData.php"; JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { JSONArray jsonArray = response.getJSONArray("data"); JSONObject hit = jsonArray.getJSONObject(0); String id = hit.getString("id"); int lastThread = Integer.parseInt(String.valueOf(id)); JSONObject jsonObject = null; Toast.makeText(MainActivtiy.this, lastThread + "", Toast.LENGTH_SHORT).show(); if (app.getTotal_threads() < lastThread) { app.setTotal_threads(lastThread); Notification notification = new NotificationCompat.Builder(MainActivtiy.this) .setSmallIcon(android.R.drawable.ic_popup_reminder) .setContentTitle("title") .setContentText("message") .setAutoCancel(true) .setPriority(NotificationCompat.PRIORITY_HIGH) .setCategory(NotificationCompat.CATEGORY_MESSAGE) .build(); notificationManager.notify(1, notification); } } catch(JSONException e){ e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(request); Handler handler=new Handler(); handler.postDelayed(new Runnable(){ @Override public void run() { run_loop(); } },10000); }
-
1
-
-
لقد فهمتك ي غالي ربي يعطيك الف صحه وعافيه يا رب
والعذر والسموحه منك على الاطاله كثير
ربي يقدرني وارد لك هذا الدين في يوم
-
1
-
مشكلة ظهور محتويات fragment في بداية تشغيله فارغة
في أسئلة البرمجة
نشر
@Mohamd Imran
الافضل اخي ان تطلع على مشروعي كامل قد يكون السورس كود الذي سبق ورفعته ناقص او لا تضح المشكلة فيه جيدا حتى تكون المشكلة اكثر وضوح قمت بتحميل السورس كود كامل على الرابط
https://gofile.io/d/259cbU