خصوصیت های دیدنی کاتلین
پیش از اینکه عمیقخیس به خصوصیتهای Kotlin نگاه کنیم، به DetailActivityKotlin.kt برگردید و محتوای فولدر آموزش سئو مشهد را با مفاد ذیل جایگزین فرمائید:
package com.raywenderlich.android.omgandroid
import android.content.Intent
import android.Operating System.Bundle
import android.support.v4.view.MenuItemCompat
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.widget.ImageView
import android.support.v7.widget.ShareActionProvider
import com.squareup.picasso.Picasso
class DetailActivityKotlin : AppCompatActivity() {
private آموزش سئو در مشهد val imageUrlBase = "http://covers.openlibrary.org/b/id/"
private var imageURL = ""
private var shareActionProvider: ShareActionProvider? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detail)
actionBar?.setDisplayHomeAsUpEnabled(true)
val imageView = findViewById(R.id.img_cover)
val coverId = this.intent.extras.getString("coverID")
val len = coverId?.length ?: 0
if (len > 0) {
imageURL = imageUrlBase + coverId + "-L.jpg"
Picasso.with(this).load(imageURL).placeholder(R.drawable.img_books_loading).into(imageView)
}
}
private fun setShareIntent() {
val shareIntent = Intent(Intent.ACTION_SEND)
shareIntent.type = "text/plain"
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Book Recommendation!")
shareIntent.putExtra(Intent.EXTRA_TEXT, imageURL)
shareActionProvider?.setShareIntent(shareIntent)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.main, menu)
val shareItem = menu.findItem(R.id.menu_item_share)
shareActionProvider = MenuItemCompat.getActionProvider(shareItem) as ShareActionProvider
setShareIntent()
return true
COPY
در ظواهر، کد مشابه جاوا میباشد، ولی بعضا از خصوصیت های گویش Kotlin وجود دارااست که در قسمت آتی به آنان خواهید پرداخت.
بیلد و انجام نمائید، کتابی را تعیین فرمائید و مشاهده کنید آیا این توشه جلدی به دست میآورید یا این که نه.
Declaring Variables (اعلان متغیرها)
اعلان متغیرها در Kotlin معمولی و بدیهی میباشد.
برای اینکه تا حد ممکن با کاتلین آشنا باشید، می بایست با آحاد کارهایی که کاتلین میتواند و نمی تواند در ارتباط متغیرها جاری ساختن دهد آشنا بشوید.
در اینجا چندین اعلان متغیر وجود داراست که اکثر اوقات از آن ها استعمال میکنید :
var item = "house"
val points = 35
var car: String = "BMW"
COPY
تفاوت میان val و var چیست؟ بعداً نمیتوانید متغیرهایی را که با val اعلام میکنید مجدد تخصیص دهید.
اعمال این شغل سبب ساخت خطای کامپایلر می گردد.
ولی شما میتوانید این فعالیت را با var جاری ساختن دهید و این تفاوت در بین این دو میباشد.
points = 36
COPY
گزینه دیگری که در واپسین اعلان گوناگون میباشد این میباشد که یک نوع متغیر نیز وجود دارااست.
در کاتلین، نوع inference به خیر و خوبی شغل می نماید.
به همین ادله میباشد که در بیشتر مواقع نیازی به ذکر مصرح نوع متغیر وجود ندارد.
همان گونه که بعداً خواهید روئت کرد، دربارهی نوع Optional که قادر است null باشد، می بایست این شغل را ایفا دهید.
برای متغیر car ، نوع آن ضروری وجود ندارد، البته بهتر میباشد که به کامپایلر Kotlin استحضار دهید کهاین یک حرفه میباشد و هیچ وقت چیز دیگری نخواهد بود.
var highScore = points + 999
COPY
Null Safety
یک ایراد رایج در امر لهجه های نرم افزار نویسی، دسترسی به عضوی از یک رفرنس null میباشد.
رفرنس تهی هنگامی صورت میدهد که شما یک متغیر ابجکت را سوای دادن مقدار به آن اعلام میکنید، یا این که وقتی که به آن متغیر null تخصیص می دهید.
هنگامی نرمافزار انجام میشود و کارایی مینماید به آن متغیر دسترسی پیدا نماید، نمیداند به کجا نگاه نماید، چون نیست.
همه گیرترین سود این میباشد که اپلیکیشن شما ناگهان متوقف میگردد و از فعالیت می افتد.
ممکن میباشد با NullPointerException جاوا آشنا باشید.
یک کدام از بلندمرتبهترین خصوصیتهای کاتلین این میباشد که مقصود سیستم type آن حذف NullPointerException میباشد، هدفی که تحت عنوان void safety. شناخته می شود.
در Kotlin، دلایل احتمالی NullPointerException عبارتند از:
کد فرنگی جاوا
یک فراخوان explicit برای NullPointerException() (NPE).
استعمال از !! operator .
یک lateinit var پیش از دسترسی مقداردهی اول نشده میباشد.
خصوصیت های دیدنی کاتلین
پیش از اینکه عمیقخیس به خصوصیتهای Kotlin نگاه کنیم، به DetailActivityKotlin.kt برگردید و محتوای فولدر آموزش سئو مشهد را با مفاد ذیل جایگزین فرمائید:
package com.raywenderlich.android.omgandroid
import android.content.Intent
import android.Operating System.Bundle
import android.support.v4.view.MenuItemCompat
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.widget.ImageView
import android.support.v7.widget.ShareActionProvider
import com.squareup.picasso.Picasso
class DetailActivityKotlin : AppCompatActivity() {
private آموزش سئو در مشهد val imageUrlBase = "http://covers.openlibrary.org/b/id/"
private var imageURL = ""
private var shareActionProvider: ShareActionProvider? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_detail)
actionBar?.setDisplayHomeAsUpEnabled(true)
val imageView = findViewById(R.id.img_cover)
val coverId = this.intent.extras.getString("coverID")
val len = coverId?.length ?: 0
if (len > 0) {
imageURL = imageUrlBase + coverId + "-L.jpg"
Picasso.with(this).load(imageURL).placeholder(R.drawable.img_books_loading).into(imageView)
}
}
private fun setShareIntent() {
val shareIntent = Intent(Intent.ACTION_SEND)
shareIntent.type = "text/plain"
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Book Recommendation!")
shareIntent.putExtra(Intent.EXTRA_TEXT, imageURL)
shareActionProvider?.setShareIntent(shareIntent)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.main, menu)
val shareItem = menu.findItem(R.id.menu_item_share)
shareActionProvider = MenuItemCompat.getActionProvider(shareItem) as ShareActionProvider
setShareIntent()
return true
COPY
در ظواهر، کد مشابه جاوا میباشد، ولی بعضا از خصوصیت های گویش Kotlin وجود دارااست که در قسمت آتی به آنان خواهید پرداخت.
بیلد و انجام نمائید، کتابی را تعیین فرمائید و مشاهده کنید آیا این توشه جلدی به دست میآورید یا این که نه.
Declaring Variables (اعلان متغیرها)
اعلان متغیرها در Kotlin معمولی و بدیهی میباشد.
برای اینکه تا حد ممکن با کاتلین آشنا باشید، می بایست با آحاد کارهایی که کاتلین میتواند و نمی تواند در ارتباط متغیرها جاری ساختن دهد آشنا بشوید.
در اینجا چندین اعلان متغیر وجود داراست که اکثر اوقات از آن ها استعمال میکنید :
var item = "house"
val points = 35
var car: String = "BMW"
COPY
تفاوت میان val و var چیست؟ بعداً نمیتوانید متغیرهایی را که با val اعلام میکنید مجدد تخصیص دهید.
اعمال این شغل سبب ساخت خطای کامپایلر می گردد.
ولی شما میتوانید این فعالیت را با var جاری ساختن دهید و این تفاوت در بین این دو میباشد.
points = 36
COPY
گزینه دیگری که در واپسین اعلان گوناگون میباشد این میباشد که یک نوع متغیر نیز وجود دارااست.
در کاتلین، نوع inference به خیر و خوبی شغل می نماید.
به همین ادله میباشد که در بیشتر مواقع نیازی به ذکر مصرح نوع متغیر وجود ندارد.
همان گونه که بعداً خواهید روئت کرد، دربارهی نوع Optional که قادر است null باشد، می بایست این شغل را ایفا دهید.
برای متغیر car ، نوع آن ضروری وجود ندارد، البته بهتر میباشد که به کامپایلر Kotlin استحضار دهید کهاین یک حرفه میباشد و هیچ وقت چیز دیگری نخواهد بود.
var highScore = points + 999
COPY
Null Safety
یک ایراد رایج در امر لهجه های نرم افزار نویسی، دسترسی به عضوی از یک رفرنس null میباشد.
رفرنس تهی هنگامی صورت میدهد که شما یک متغیر ابجکت را سوای دادن مقدار به آن اعلام میکنید، یا این که وقتی که به آن متغیر null تخصیص می دهید.
هنگامی نرمافزار انجام میشود و کارایی مینماید به آن متغیر دسترسی پیدا نماید، نمیداند به کجا نگاه نماید، چون نیست.
همه گیرترین سود این میباشد که اپلیکیشن شما ناگهان متوقف میگردد و از فعالیت می افتد.
ممکن میباشد با NullPointerException جاوا آشنا باشید.
یک کدام از بلندمرتبهترین خصوصیتهای کاتلین این میباشد که مقصود سیستم type آن حذف NullPointerException میباشد، هدفی که تحت عنوان void safety. شناخته می شود.
در Kotlin، دلایل احتمالی NullPointerException عبارتند از:
کد فرنگی جاوا
یک فراخوان explicit برای NullPointerException() (NPE).
استعمال از !! operator .
یک lateinit var پیش از دسترسی مقداردهی اول نشده میباشد.

تن درستی و تندرستی