keyWord .java داخل متد ها

پرسیده شده
فعالیت 1230 روز پیش
دیده شده 757 بار
1

سلام..

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

و اینکه میخواستم بدونم چرا اون قسمت باید بنویسم as AppDataBaseKotlin و اگه ننویسم ارور خواهد داد.. در کل خطاهای نوشتاری و بد نویسیم رو هم بگین..

 

نمیدونم چرا ولی واقعا سخته انگار کاتلین نویسی این اوایل

 

@Database(entities = [Student::class], exportSchema = false, version = 1)
abstract class AppDataBaseKotlin : RoomDatabase() {
    companion object {
        @JvmStatic
        var appDataBase: AppDataBaseKotlin? = null

        @JvmStatic
        fun getInstance(context: Context): AppDataBaseKotlin {
            if (appDataBase == null) {
                appDataBase = Room.databaseBuilder(context, AppDataBaseKotlin::class.java, "db_main").build()
            }
            return appDataBase as AppDataBaseKotlin
        }
    }
}
فایل پیوست

3
حذف شده

سلام وقت بخیر

 

درمورد سوال اولتون شما رو ارجاع میدم به : https://kotlinlang.org/docs/reference/reflection.html#class-references

as :

برای عمل type casting به کار میرود.(Safe nullable cast operator)

همینطور در  import نیز قابل استفاده هست. مثال : 

import org.test.Message as testMessage

برای ساخت کلاس Database اگر بخواهید کاتلینی کد بزنید من پیشنهاد میکنم داکیومنتیشن گوگل رو مطالعه کنید:

https://developer.android.com/training/data-storage/room#kotlin

 

درمورد اینکه فرمودین کاتلین سخت هست درسته ممکن هست اوایل کمی سردرگم بشید که از چی استفاده کنید ضمن اینکه پیشنهاد میکنم سعی کنید کاتلینی کد بزنید(برای اینکه منظورم رو متوجه شید پیشنهاد میکنم همون مقاله که براتون قرار دادم رو مطالعه کنید).

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

24 آذر 99

2
حذف شده

سلام آقای رضایی 

امیدوارم حالتون خیلی خوب باشه

تشکر از مهرداد جان عزیز برای توضیحاتشون

 

جناب رضایی با توجه به اینکه شما به درستی متغیر appDatabase رو nullable تعریف کردین و مقدارش روی برابر null قرار دادین ، توی متد getInstance هم شما میتونید به عنوان Return Type کلاس ?AppDataBaseKotlin رو برگردونید (به این معنی که امکان داره null باشه ، اما میدونیم که هیچوقت null نخواهد بود) و در این صورت دیگر نیازی به نوشتن کلمه as نیست

 

با آرزوی موفقیت

فایل پیوست

Hamidreza Karimi

توسط

Hamidreza Karimi

25 آذر 99