Texnologiyalari va kommunikatsiyalarni rivojlantirish vazirligi toshkent axborot texnologiyalari universiteti



Download 1,04 Mb.
Pdf ko'rish
bet15/25
Sana26.08.2021
Hajmi1,04 Mb.
#156706
1   ...   11   12   13   14   15   16   17   18   ...   25
Bog'liq
mobil ilovalarni ishlab chiqish

 

 

Lobarotoriya mashg`uloti №6 

 

Mavzu: SQLite MBBT bilan ishlash. 

Ishdan maqsad: Ma`lumotlar bazasini ishlash prinspini o`rganishi, haqiqiy proyektlarda 

ma`lumotlar bazasini tutgan o`rni, grfik ko`rinishda ularni boshqarish va CRUD tizimini o`rganish. 



Nazariy qism:  Android da SQLite Database da ishlash. CRUD tizimi. 

BIzlar oldingi lobarotoriya mashg`ulotida xotira turlari bilan tanishib chiqqan edik, masalan 

SharePreferences yoki ichki va tashqi xotiralarni. Android SDK da sqlite uchun maxsus 



kutubxonalar mavjud bo`lib, android.database.sqlite package yordamida chaqirilib olinadi. Bizlar 

ushbu lobaratoriya masg`ulotimizda SQLite da CRUD tizimini o`rganib chiqamiz.  

Ma`lumotlar bazasini sqlite da yaratish: 

Bazadannix SQLiteOpenHelper metodi yordamida java fayliga import qlinib olinadi.  

 public class PostDatabase extends SQLiteOpenHelper { 

     private static final String TAG = "PostDatabase"; 

     // Database Specific Details 

     // If you change the database schema, you must increment the database version. 

    private static final int DB_VERSION = 1; 

    // DB Name, same is used to name the sqlite DB file 

    private static final String DB_NAME = "test_db"; 

     // `posts` table details 

    public static final String TABLE_POSTS = "posts"; 

    public static final String ID = "id"; 

    public static final String COL_TITLE = "title"; 

    public static final String COL_CONTENT = "content"; 

     private static final String CREATE_TABLE_POSTS = 

            "CREATE TABLE " + TABLE_POSTS 

            + " (" + ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 

            + COL_TITLE + " TEXT NOT NULL, " 

            + COL_CONTENT + " TEXT NOT NULL);"; 

     public PostDatabase(Context context) { 

        super(context, DB_NAME, null, DB_VERSION); 

    } 


     @Override 

    public void onCreate(SQLiteDatabase db) { 

        // Called when the database is created for the 

        // first time. This is where the creation of 

        // tables and the initial population of the tables should happen. 

         db.execSQL(CREATE_TABLE_POSTS); 

    } 

     @Override 




    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

        // Called when the database needs to be upgraded. 

        // The implementation should use this method to 

        // drop tables, add tables, or do anything else 

        // it needs to upgrade to the new schema version. 

  

        Log.w(TAG, "Upgrading database. Existing contents will be lost. [" 



                + oldVersion + "] -> [" + newVersion + "]"); 

         db.execSQL("DROP TABLE IF EXISTS " + TABLE_POSTS); 

         // Create after dropping 

        onCreate(db); 

    } 



Biz yaratgan sinfda PostDatabase ni tanishtirb o`tishimiz kerak.  



public final class DatabaseContract { 

  

    public static abstract class Post implements BaseColumns { 



        public static final String TABLE_NAME = "posts"; 

        public static final String COL_TITLE = "title"; 

        public static final String COL_CONTENT = "content"; 

    } 


SQLite da bazadan o`qish va yozish: 

getReadableDatabase() yoki getWritableDatabase() metodlari yordamida ma`lumotlar bazasiga 

murojat qilishimiz mumkin.  

PostDatabase DB = new PostDatabase(MainActivity.this); 

SQLiteDatabase sqlDB = DB.getWritableDatabase(); 

// Execute queries... 

sqlDB.close(); 

getWritabelDatabase() metodini SQLite boyektlari uchun qaytaradi. Bunda biz databasega o`qish va 

yozish imkoniyatini yaratadi. 

Database yaratamiz 



ContentValues values = new ContentValues(); 

values.put(PostDatabase.COL_TITLE, "Test Title"); 

values.put(PostDatabase.COL_CONTENT, "Test Content"); 

sqlDB.insert(PostDatabase.TABLE_POSTS, null, values); 

insert() metodi yordamida ma`lumot  kiritiladi. 

  ContentValues values = new ContentValues(); 

values.put(PostDatabase.COL_TITLE, "Test Title"); 

values.put(PostDatabase.COL_CONTENT, "Test Content"); 

sqlDB.insert(PostDatabase.TABLE_POSTS, null, values); 

Cursor cursor = sqlDB.rawQuery("SELECT * FROM posts WHERE id = ?", new String[]{ "1" }); 

if (cursor != null && cursor.moveToFirst()) { 

    String title = cursor.getString(cursor.getColumnIndex(PostDatabase.COL_TITLE)); 

    String content = cursor.getString(cursor.getColumnIndex(PostDatabase.COL_CONTENT)); 

    Log.d(TAG, "Title: " + title + " Content: " + content); 

    cursor.close(); 

values = new ContentValues(); 



values.put(PostDatabase.COL_TITLE, "Second Title"); 

values.put(PostDatabase.COL_CONTENT, "Second Content"); 

sqlDB.insert(PostDatabase.TABLE_POSTS, null, values); 

// public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, 

String groupBy, String having, String orderBy, String limit) 

cursor = sqlDB.query(PostDatabase.TABLE_POSTS, 

        new String[] { PostDatabase.ID, PostDatabase.COL_TITLE, PostDatabase.COL_CONTENT 

}, 


        null, null, null, null, null); 

if (cursor != null) { 

    int idIndex = cursor.getColumnIndex(PostDatabase.ID); 

    int titleIndex = cursor.getColumnIndex(PostDatabase.COL_TITLE); 

    int contentIndex = cursor.getColumnIndex(PostDatabase.COL_CONTENT); 

    cursor.moveToFirst(); 

    while (!cursor.isAfterLast()) { 



        int id = cursor.getInt(idIndex); 

        String title = cursor.getString(titleIndex); 

        String content = cursor.getString(contentIndex); 

        // Dumps (2 rows): 

        // ID: 1 Title: Test Title Content: Test Content 

        // ID: 2 Title: Second Title Content: Second Content 

        Log.d(TAG, "ID: " + id + " Title: " + title + " Content: " + content); 

        cursor.moveToNext(); 

    } 

} 




Download 1,04 Mb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   25




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