رفتن به مطلب
  • 0

crash شدن یک تکه کد


fun_code

سوال

سلام دوستان

یک فرگمنت دارم مربوط به ذخیره دیتا در سرور.

یک دکمه در اون هست که دیتا رو برای api ارسال میکنه. زمان ثبت و بازگشت هم یک ID از سرور ارسال میشه و ID در کاتلین دریافت و به اکتیویت بعدی میره.

خودم یکبار در گوشیم با انتخاب گزینه ثبت کِرش دیدم...

کد دکمه ثبت دیتا گاهی force close میده ! اکثر فورس کلوزها هم در اندروید 10 و 11 است !

در دکمه ثبت یک تابع فراخوانی میشه ... کد تابع هم اینه :

    private fun save(apiToken: String, title: String, description: String, grade: String, email_contact: String,
							kind1: String, kind2: String, kind3: String, kind4: String, remote: String){
							  
        binding?.buttonSubmitAddNotice?.isEnabled = false
        Toast.makeText(requireContext(), "لطفا کمی صبر کنید", Toast.LENGTH_SHORT).show()
		
        addNoticesViewModel.save(apiToken, title, description, grade, email_contact, remote, kind1, kind2, kind3, kind4).observe(viewLifecycleOwner) {
            it.let { resource ->
                when (resource.status) {
                    Status.LOADING -> {
                    }
                    Status.SUCCESS -> {
                        binding?.buttonSubmitAddNotice?.isEnabled = true
                        val intent = Intent(requireContext(), SaveActivity::class.java)
                        intent.putExtra("ID", resource.data?.id)
                        startActivity(intent)
                        requireActivity().supportFragmentManager.popBackStack(
                            null,
                            FragmentManager.POP_BACK_STACK_INCLUSIVE
                        )
                    }
                    Status.ERROR -> {
                        Toast.makeText(requireContext(), "مجددا تلاش کنید", Toast.LENGTH_SHORT).show()
                        binding?.buttonSubmitAddNotice?.isEnabled = true
                    }
                }
            }
        }
    }

 

به نظر شما چرا این کد گاهی باید کِرش بشه ؟

با سپاس از شما

لینک ارسال
به اشتراک گذاری در سایت های دیگر

4 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱۴۰۰/۱۰/۲۵ در ۱۴:۳۸، محمدرضا شاهپیری گفته است:

سلام و درود. تو لاگ چه پیغامی میده؟

سلام استاد

چون این اتفاقا همیشه نمیفته قابل لاگ گرفتن نیست.

در لاگ اندروید استودیو خیلی سخت دلیل فورس شدن رو نمایش میده. یه مورد بود که همیشه فورس میداد تا 20 بار انجامش ندادم لاگ نداد.

این مورد که **** کلمه فیلتر شده **** گاهی رخ میده و قابل پیشبینی نیست احتمالا باید 1000 مرتبه یه فرم 5 صفحه ای رو تکمیل کنم و ثبت رو بزنم تا خطا رو ببینم. 😩

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منبع یادگیری زبان کاتلینتون چی هست؟ چون به نظرم کدهاتون اصولی نیست و روشهای خیلی ساده تر و بهینه تری هست. به هر حال من حدس میزنم مشکل از requireContext و requireActivity هست. به هیچ عنوان از این دوتا استفاده نکنید چون اگه نال بشن کرش میکنه اپ. به جاش برای کانتکست یه کانتکست سراسری توی کلاس Application تعریف کنید و هرجا نیازداشتین از کانتکست خود اپ استفاده کنید. به جای requireActivity هم از activity استفاده کنید به صورت nullsafe

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام و درود. تو لاگ چه پیغامی میده؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۱۰/۲۶ در ۲۱:۴۲، محمدرضا شاهپیری گفته است:

منبع یادگیری زبان کاتلینتون چی هست؟ چون به نظرم کدهاتون اصولی نیست و روشهای خیلی ساده تر و بهینه تری هست. به هر حال من حدس میزنم مشکل از requireContext و requireActivity هست. به هیچ عنوان از این دوتا استفاده نکنید چون اگه نال بشن کرش میکنه اپ. به جاش برای کانتکست یه کانتکست سراسری توی کلاس Application تعریف کنید و هرجا نیازداشتین از کانتکست خود اپ استفاده کنید. به جای requireActivity هم از activity استفاده کنید به صورت nullsafe

سلام استاد

بنده اصلا کاتلین نویس نیستم.

حقیقتا کدها رو یک کدنویس کاتلین بصورت پروژه ای نوشتن. بنده فقط دارم یه بخش های کوچکش رو تکمیل میکنم و برای این موارد هم از گوگل کمک میگیرم.

این موردی که فرمودین رو بنده ننوشتم و گویا کدنویس محترم اصولی کدنویسی نکردن. 😑

استاد عزیز ، شرمندگیش برای بنده است که بدلیلکدهای عجیب دوست کدنویسمون  انقدر به شما زحمت میدم. 🙏

بشدت به یک کدنویس کاتلین شیرازی نیاز دارم تا زینپس با بنده همراه باشن جهت رفع مشکلات و توسعه کارمون/

عجیبه که در شیراز هم کاتلین نویس به تعداد انگشتان دست هست.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...