برنامه نویسی اندروید: آموزش پایگاه داده SQLite (قسمت اول)

برنامه نویسی اندروید: آموزش پایگاه داده SQLite (قسمت اول)

SQLite یک پایگاه داده منبع باز است که برای ذخیره فایل های متنی دربرنامه نویسی موبایل مورد استفاده قرار می گیرد.این پایگاه داده برای ایجاد پایگاه داده های برنامه های موبایل اندروید مورد استفاده قرار می گیرد.SQLite از تمام ویژگی های پایگاه داده های دیگر پشتیبانی می کندو برای ایجاد ارتباط میان هر پایگاه داده ای دیگری مثل JDBC,ODBC نیاز به هیچ جز اضافه ای ندارد.

پایگاه داده - بسته اصلی

این بسته اصلی android.database.sqllite می باشد که شامل کلاس های مختلف برای مدیرتی پایگاه داده است.

ساخت پایگاه داده

برای ساخت پایگاه داده های برنامه های اندروید فقط نیاز به فراخوانی نام پایگاه داده با استفاده از متد OpenOrCreateDatabase و یک پارامتر است.همانطور که نمونه آن را در کد زیر می بینید

SQLiteDatabase mydatabase = openOrCreateDatabase("your database name",MODE_PRIVATE,null);

 

توابع و متد های دیگری در پایگاه داده  SQLLite وجود دارد که دستورهای دیگری را اجرا می کنند:

openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags, DatabaseErrorHandler errorHandler)

این متد پایگاه داده های موجود دیگر را با مقدار داده ای flag باز می کند.حالت flag  شامل دو حالت OPEN_READWRITE و OPEN_READONLY می باشد.

 

openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags)

این دستور، مانند دستور بالا پایگاه داده را باز می کند با این تفاوت که هیچ کنترلی روی بررسی اشتباهات و مشکلات موجود در پایگاه داده ندارد.

openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)

این دستور نه تنها پایگاه داد را باز می کند بله در صورتیکه پایگاه داده اگر موجود نباشد آن را می سازد.این دستور مشابه دستور بالا عمل میکند.

openOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory)

این دستور نیز مشابه دستور بالا است با این تفاوت که بجای رشته، فایل object را بعنوان پارامتر ورودی دریافت می کند. ()file.getPath

درج اطلاعات در دیتابیس

با استفاده از دستور execSQL که در پایگاه داده SQLite وجود دارد می توان دستور insert  را نوشت.

mydatabase.execSQL("CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR,Password VARCHAR);");

mydatabase.execSQL("INSERT INTO TutorialsPoint VALUES('admin','admin');");

دستور بالا اطلاعات را درون جدول درج میکند، دستور دیگری که مشابه دستور بالا عمل می کند دستور زیر است

execSQL(String sql, Object[] bindArgs)

این دستور علاوه بر درج اطلاعات، اطلاعت قبلی موجو در دیتابیس را ویرایش یا جایگزین می کند.

دریافت اطلاعات جداول

برای دریافت اطلاعات یک جدول از یک شی کلاس Cursor استفاده می کنیم.برای اینکار از متد rawQuery استفاده می کنیم

Cursor resultSet = mydatbase.rawQuery("Select * from TutorialsPoint",null);

resultSet.moveToFirst(); String username = resultSet.getString(1); String password = resultSet.getString(2);

 

کد بالا با استفاده از دستور MoveToFirst تابع را به ابتدای سطر جدول می برد و از انجا شروع به خواندن اطلاعات و ذخیره آنها در دو متغیر username و password ذخیره می کند.

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

getColumnCount(): مجموع تعداد ستون های جدول را بازمیگرداند.

getColumnIndex(String columnName): یک عدد شاخص از یک ستون با نام آن ستون را باز می گرداند.

getColumnName(int columnIndex): یک ستون با index آن را باز می گرداند.

getColumnNames(): آرایه ای از نام های تمام ستون های جدول را باز میگرداند.

getCount(): تعداد کل ردیف های را که اشاره گر در آنها قرار دارد باز می گرداند.

getPosition(): موقعیت اشاره گر را در جدول باز می گرداند.

isClosed(): اگر اشاره گر به انتها رسیده باشد مقدار true و اگر غیر این باشد مقدار false را باز می گرداند.

مدیریت عملیات پایگاه داده

برای مدیریت تمام عملیات درون پایگاه داده یک کلاس کمکی به نام  SQLLiteOpenerHelper وجود دارد که تمام عملیات درون ایگاه داده را بطور خودکار ایجاد و به روزرسانی می کند.کد آن در زیر آمده است:

 

public class DBHelper extends SQLiteOpenHelper {

   public DBHelper(){

      super(context,DATABASE_NAME,null,1);

   }

   public void onCreate(SQLiteDatabase db) {}

   public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {}

}

در مقاله بعدی یک نمونه مثال که شامل ایجاد جدول،درج و اصلاح اطلاعات و خواندن آنها از درون جدول است، را باهم مرور میکنیم.با سروش پرداز همراه باشید.

مقاله بعدی

 

1701

بلاگ های مرتبط

ثبت نظر جدید

نظرات کاربران

آیا سوالی دارید ؟

با تلگرام 09108454545 و یا با ایمیل آدرس ایمیل سروش پرداز تماس برقرار کنید.

برای تماس با مشاورین میتوانید با شماره های 02186085365 و 02186084238 و 02186083746 تماس حاصل فرمایید همچنین برای تسهیل در ارتباطات میتوانید با تلگرام شرکت به شماره 09108454545 تماس بگیرید.


logo-samandehi