بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
استفاده از Database از قبل ساخته شده و خواندن اطلاعات از آن
سلام دوستان عزیز
من یک دیتابیس با sqlite ساختم که دارای اطلاعات ثابتی و در دایرکتوری پروژه قراردادم. و میخوام از اطلاعات این دیتابیس استفاده کنم (هم اطلاعاتی ازش بخونم و هم درج کنم.
چطور میتونم این کار رو انجام بدم؟
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
M.heydari
9 سال پیش
0
0
سلام.
برا این کار شما باید یه کلاس برای مدیریت دیتابیستون درست کنید.
مثلا به اسم DatabaseHandler و اون رو از کلاس SQLiteOPenHelper مشتق می کنید و متد ها و کانستراتور های لازم رو رو که خود اندروید استدیو مجبورتون میکنه اضافه بکنید رو اضافه می کنید و در نهایت یه کدی شبیه به کد زیر خواهید داشت:
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/*
* Created by Masoud on 7/21/2017.
*/
public class DatabaseHandler extends SQLiteOpenHelper {
private Context context;
private List<ItemMyWish> listsWish = new ArrayList<>();
public DatabaseHandler(Context context) {
super(context, "database name", null, 1);
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("Create your table with SQL statment");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop all rows of old version of your database);
//Create new database;
onCreate(db);
}
// add content to database;
public void addItem(ItemMyWish item) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Constant.TITLE_NAME, item.getTitle());
values.put(Constant.CONTENT_NAME, item.getContent());
values.put(Constant.DATE_NAME, java.lang.System.currentTimeMillis());
database.insert(Constant.TABLE_NAME, null, values);
Log.i("Test", "Hey! Data Inserted... ");
// close database
database.close();
}
// get all records of database;
public List<ItemMyWish> getAllWish() {
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.query(
Constant.TABLE_NAME,
Constant.SELECTION_COLUMN,
null,
null,
null,
null,
"date" + " DESC"
);
if (cursor.moveToFirst()) {
do {
ItemMyWish itemMyWish = new ItemMyWish();
itemMyWish.setId(cursor.getInt(cursor.getColumnIndex("id")));
itemMyWish.setTitle(cursor.getString(cursor.getColumnIndex("table name")));
itemMyWish.setContent(cursor.getString(cursor.getColumnIndex("content name")));
listsWish.add(itemMyWish);
} while (cursor.moveToNext());
}
cursor.close();
return listsWish;
}
فقط توجه کنید که ItemMyWish یه کلاسی شبیه کلاس Structure ی که استاد تو ویدیو هاشون درست می کنن هست، که متد های getter و setter رو هم بهشون اضافه کردم، به این نوع کلاس ها، کلاس های مدل هم میگن، یا همون MVP model اگه اشتباه نکنم.... بازم اگه متوجه نشدید بپرسید، سعی می کنم جواب بدم. موفق باشید. (9 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .