Salar82 919 ارسال شده در 17 تیر، ۱۴۰۰ اشتراک گذاری ارسال شده در 17 تیر، ۱۴۰۰ سلام به همه دوستان اخیرا یه مشکلی برای من پیش اومده، اینکه هرچی دیتابیسم رو به حافظه اپ کپی میکنم، موقع خوندنش میگه not found :| از کلاس SQLiteOpenHelper استفاده میکنم که متاسفانه به در بسته میخورم.... اگر کسی میدونه که چطور میشه از این کلاس برای دیتابیس خارجی استفاده کرد، ممنون میشم راهنمایی کنه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 18 تیر، ۱۴۰۰ اشتراک گذاری ارسال شده در 18 تیر، ۱۴۰۰ در ۱۴۰۰/۴/۱۸ در ۱۰:۵۱، Salar۸۲ گفته است: دیتابیس رو گذاشتم تو assets/databases/test.db منتها از لایبرری که آقای شاهدی گذاشتن و حتی SqliteOpenHelper هم که استفاده میکنم هم باز چنین اروری هست. خواستم دستی خودم هم تو /data/data بریزم که بازم همون ارور رو داد این کلاس رو من برای یکی از پروژه هام استفاده کرد و موردی هم نبوده. ازش استفاده کنید import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.text.TextUtils; import com.doreshia.app.models.items.OfflineItem; import java.util.ArrayList; public class DatabaseHelper extends SQLiteOpenHelper { private static String DATABASE_NAME = "offline_db"; private static final int DATABASE_VERSION = 1; private static final String OFFLINE_TBL = "_offline"; private static final String KEY_ID = "_id"; private static final String KEY_UNIQUE_ID = "_uniqid"; private static final String KEY_NAME = "_name"; private static final String KEY_DIR = "_dir"; private static final String KEY_COVER = "_cover"; private static final String KEY_IMAGE="_image"; private static final String CREATE_TABLE_ALARMS = " CREATE TABLE IF NOT EXISTS " + OFFLINE_TBL + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_UNIQUE_ID + " TEXT, " + KEY_NAME + " TEXT, " + KEY_IMAGE + " TEXT, " + KEY_COVER + " TEXT, " + KEY_DIR + " TEXT" + " );"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { try { db.execSQL(CREATE_TABLE_ALARMS); } catch (Exception e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS '" + OFFLINE_TBL + "'"); onCreate(db); } public void addItem(OfflineItem item) { SQLiteDatabase db = this.getWritableDatabase(); if (!hasItem(item.uniqid)){ ContentValues values = new ContentValues(); values.put(KEY_NAME, item.name); values.put(KEY_IMAGE, item.image); values.put(KEY_COVER, item.cover_name); values.put(KEY_UNIQUE_ID, item.uniqid); values.put(KEY_DIR, item.dir); db.insert(OFFLINE_TBL, null, values); }else { String whereClause = KEY_UNIQUE_ID + " =?"; String[] whereArgs = new String[] { String.valueOf(item.uniqid) }; ContentValues values = new ContentValues(); values.put(KEY_NAME, item.name); values.put(KEY_IMAGE, item.image); values.put(KEY_COVER, item.cover_name); values.put(KEY_DIR, item.dir); db.update(OFFLINE_TBL, values, whereClause,whereArgs);; } } public boolean hasItem(String uniqid) { SQLiteDatabase db = this.getWritableDatabase(); if (uniqid==null)return false; String selectString = "SELECT * FROM " + OFFLINE_TBL + " WHERE " + KEY_UNIQUE_ID + " =?"; Cursor cursor = db.rawQuery(selectString, new String[] {uniqid}); boolean hasObject = false; if(cursor.moveToFirst()){ hasObject = true; } cursor.close(); return hasObject; } public void deleteItem(String uniqid){ SQLiteDatabase db = this.getWritableDatabase(); String whereClause = KEY_UNIQUE_ID + " =?"; String[] whereArgs = new String[] { String.valueOf(uniqid) }; db.delete(OFFLINE_TBL, whereClause, whereArgs); } public void deleteAllItem(){ SQLiteDatabase db = this.getWritableDatabase(); db.execSQL("DELETE FROM "+ OFFLINE_TBL); } public ArrayList<OfflineItem> getItems(String cover_id) { SQLiteDatabase db = this.getWritableDatabase(); String selectString ; String[] condition; if (TextUtils.isEmpty(cover_id)){ selectString = "SELECT * FROM " + OFFLINE_TBL; condition=new String[] {}; }else { selectString = "SELECT * FROM " + OFFLINE_TBL+ " WHERE " + KEY_COVER + " =?"; condition=new String[] {cover_id}; } ArrayList<OfflineItem> items=new ArrayList<>(); Cursor c = db.rawQuery(selectString,condition ); if (c.moveToFirst()){ while (!c.isAfterLast()) { String name = c.getString(c.getColumnIndex(KEY_NAME)); String image = c.getString(c.getColumnIndex(KEY_IMAGE)); String cover = c.getString(c.getColumnIndex(KEY_COVER)); String dir = c.getString(c.getColumnIndex(KEY_DIR)); String uniqid = c.getString(c.getColumnIndex(KEY_UNIQUE_ID)); OfflineItem offlineItem=new OfflineItem(); offlineItem.name=name; offlineItem.image=image; offlineItem.cover_name=cover; offlineItem.uniqid=uniqid; offlineItem.dir=dir; items.add(offlineItem); c.moveToNext(); } } c.close(); return items; } } لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Salar82 919 ارسال شده در 18 تیر، ۱۴۰۰ سازنده اشتراک گذاری ارسال شده در 18 تیر، ۱۴۰۰ دوستان متاسفانه طبق آموزش @ امین شاهدی هم مشکل برطرف نشد ارور No such file or directory رو میده. متاسفانه دلیلش رو هم متوجه نمیشم. کسی میتونه مشکل رو حدس بزنه؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,582 ارسال شده در 18 تیر، ۱۴۰۰ اشتراک گذاری ارسال شده در 18 تیر، ۱۴۰۰ در ۱۴۰۰/۴/۱۸ در ۰۱:۰۲، Salar۸۲ گفته است: دوستان متاسفانه طبق آموزش @ امین شاهدی هم مشکل برطرف نشد ارور No such file or directory رو میده. متاسفانه دلیلش رو هم متوجه نمیشم. کسی میتونه مشکل رو حدس بزنه؟ سلام. فایل دیتابیستون کجا ذخیره میشه؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Salar82 919 ارسال شده در 18 تیر، ۱۴۰۰ سازنده اشتراک گذاری ارسال شده در 18 تیر، ۱۴۰۰ در ۱۴۰۰/۴/۱۸ در 10:26، محمدرضا شاهپیری گفته است: سلام. فایل دیتابیستون کجا ذخیره میشه؟ دیتابیس رو گذاشتم تو assets/databases/test.db منتها از لایبرری که آقای شاهدی گذاشتن و حتی SqliteOpenHelper هم که استفاده میکنم هم باز چنین اروری هست. خواستم دستی خودم هم تو /data/data بریزم که بازم همون ارور رو داد لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Salar82 919 ارسال شده در 17 تیر، ۱۴۰۰ سازنده اشتراک گذاری ارسال شده در 17 تیر، ۱۴۰۰ مشکل حل شد: لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
Salar82 919
سلام به همه دوستان
اخیرا یه مشکلی برای من پیش اومده، اینکه هرچی دیتابیسم رو به حافظه اپ کپی میکنم، موقع خوندنش میگه not found :|
از کلاس SQLiteOpenHelper استفاده میکنم که متاسفانه به در بسته میخورم....
اگر کسی میدونه که چطور میشه از این کلاس برای دیتابیس خارجی استفاده کرد، ممنون میشم راهنمایی کنه
لینک ارسال
به اشتراک گذاری در سایت های دیگر
5 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.