13-Ma’ruza Mavzu: Ma’lumotlar bazasi. Reja: sqlite ma'lumotlar bazasiga ulanish



Download 83,29 Kb.
bet3/10
Sana23.06.2023
Hajmi83,29 Kb.
#953137
1   2   3   4   5   6   7   8   9   10
Bog'liq
13-maruza

activ_main.xml faylida biz eng oddiy grafik interfeysni aniqlaymiz:


xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp" >

android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click"
android:onClick="onClick"
app:layout_constraintBottom_toTopOf="@id/textView"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>

android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22sp"
app:layout_constraintTop_toBottomOf="@id/button"
app:layout_constraintLeft_toLeftOf="parent"/>



MainActivity sinfida biz ma'lumotlar bazasi bilan o'zaro aloqani aniqlaymiz:
package com.example.sqliteapp;
import androidx.appcompat.app.AppCompatActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View view){
SQLiteDatabase db = getBaseContext().openOrCreateDatabase("app.db", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS users (name TEXT, age INTEGER)");
db.execSQL("INSERT INTO users VALUES ('Tom Smith', 23);");
db.execSQL("INSERT INTO users VALUES ('John Dow', 31);");
Cursor query = db.rawQuery("SELECT * FROM users;", null);
TextView textView = (TextView) findViewById(R.id.textView);
while(query.moveToNext()){
String name = query.getString(0);
int age = query.getInt(1);
textView.append("Name: " + name + " Age: " + age + "\n");
}
query.close();
db.close();
}
}
Bu erdagi tugmani bosish avval app.db ma'lumotlar bazasida yangi users jadvalini yaratadi, so'ngra INSERT SQL buyrug'i yordamida unga ikkita ob'ekt qo'shiladi.
Keyinchalik, SELECT ifodasidan foydalanib, biz barcha qo'shilgan foydalanuvchilarni ma'lumotlar bazasidan Cursor kursori ko'rinishida olamiz.
Query.moveToNext() ni chaqirib, biz while tsiklida ketma-ket barcha ob'ektlar bo'ylab harakat qilamiz.
Kursordan ma'lumotlarni olish uchun query.getString(0) va query.getInt(1) usullari ishlatiladi. Biz ma'lumot oladigan ustunning raqami qavs ichida ko'rsatilgan. Masalan, yuqorida biz avval foydalanuvchi nomini mag'lubiyatga, so'ngra yoshni raqam sifatida qo'shdik. Bu shuni anglatadiki, nol ustun getString() usuli yordamida olingan satr qiymati bo'ladi, va keyingi - birinchi ustun getInt() usuli qo'llaniladigan raqamli qiymatdir.
Kursor va ma'lumotlar bazasi bilan ishlashni tugatgandan so'ng, biz tegishli barcha ob'ektlarni yopamiz:
query.close();
db.close();
Agar biz kursorni yopmasak, xotira oqishi muammosiga duch kelishimiz mumkin. Agar biz ilovaga murojaat qilsak, tugmani bosgandan so'ng, qo'shilgan ma'lumotlar matn maydonida ko'rsatiladi:

SQLiteOpenHelper_va_SimpleCursorAdapter_SQLitedan_malumotlarni_olish.'>2. SQLiteOpenHelper va SimpleCursorAdapter SQLitedan ma'lumotlarni olish.


Oldingi mavzu SQLite ma'lumotlar bazasiga qanday ulanish va so'rovlarni bajarish haqida edi. Keling, ma'lumotlar bazasi bilan ishlash uchun to'liq interfeys yarataylik.
Shunday qilib, yangi loyihani yarataylik. SQLite ma'lumotlar bazasi bilan ishlashni soddalashtirish uchun Android ko'pincha SQLiteOpenHelper sinfidan foydalanadi. Uni ishlatish uchun siz SQLiteOpenHelperdan meros bo'lib o'tadigan, uning kamida ikkita usulini bekor qiladigan sinf yaratishingiz kerak:
1   2   3   4   5   6   7   8   9   10




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