Kotlin for Android Developers



Download 1,04 Mb.
Pdf ko'rish
bet76/125
Sana11.08.2021
Hajmi1,04 Mb.
#144654
1   ...   72   73   74   75   76   77   78   79   ...   125
Bog'liq
Kotlin for Android Developers Learn Kotlin the Easy Way While Developing an Android App ( PDFDrive )

17.1 ManagedSqliteOpenHelper
Anko provides a powerful
SqliteOpenHelper
which simplifies things a lot. When we use a regular
SqliteOpenHelper
, we need to call
getReadableDatabase()
or
getWritableDatabase()
, and then
we can perform our queries over the object we get. After that, we shouldn’t forget to call
close()
.
With a
ManagedSqliteOpenHelper
we just do:
1
forecastDbHelper.use {
2
...
3
}
Inside the lambda we can use
SqliteDatabase
functions directly. How does it work? It’s really
interesting to read the implementation of Anko functions, you can learn a lot of Kotlin from it:
1
public fun  use(f: SQLiteDatabase.() -> T): T {
2
try {
3
return openDatabase().f()
4
} finally {
5
closeDatabase()
6
}
7
}
First,
use
receives a function that will be used as an extension function by
SQLiteDatabase
. This
means we can use
this
inside the brackets, and we’ll be referring to the
SQLiteDatabase
object.
This extension function can return a value, so we could do something like this:
64


17 Creating an SQLiteOpenHelper
65
1
val result = forecastDbHelper.use {
2
val queriedObject = ...
3
queriedObject
4
}
Take in mind that, inside a function, the last line represents the returned value. As
T
doesn’t have
any restrictions, we can return any value. Even
Unit
if we don’t want to return anything.
By using a
try-finally
, the
use
function makes sure that the database is closed no matter the
extended function succeeds or crashes.
Besides, we have a lot of other really useful extension functions over
SqliteDatabase
that we’ll be
using later. But for now let’s define our tables and implement the
SqliteOpenHelper
.

Download 1,04 Mb.

Do'stlaringiz bilan baham:
1   ...   72   73   74   75   76   77   78   79   ...   125




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish