PDA

View Full Version : استفاده از دیتابیس Sqlite آماده در برنامه



blackocean
چهارشنبه 10 خرداد 1391, 14:49 عصر
با سلام
میخاستم از یه دیتابیس Sqlite که آماده داریم توی برنامم استفاده کنم طریقه جستجو و کم و زیاد کردن رکورد داخلش را کسی میدونه به من کمک کنه؟
ممنون

hooman.ahmadi
پنج شنبه 11 خرداد 1391, 16:26 عصر
شما می تواند از لینکhttp://www.vogella.com/articles/AndroidSQLite/article.html برای کمک گرفتن استفاده نمایید.

srfarzad
پنج شنبه 11 خرداد 1391, 20:34 عصر
خب به نظر من یکی از بهترین منابع برای یاد گیری دیتابیس اندریود استفاده از سری آموزش های ویکتور متئوس هستش
Android Persistency: SQL Databases
Victor Matos
Cleveland State University
سعی کنید این رو دانلود و این رو بخونید

نفیسه بی همتا
شنبه 13 خرداد 1391, 17:35 عصر
با سلام
مشکل من هم تو استفاده از پایگاه داده my sql هست
چون پروژه ام یک کتابه و پایگاه داده my sql اون رو پیدا کردم می خوام از اون تو eclips استفاده کنم
کارایی که این لینک گفته رو انجام بدم درسته؟
http://onjava.com/onjava/2005/05/11/sqlexplorer.html
مرسی

deadmarshal
دوشنبه 30 دی 1392, 21:18 عصر
سلام اینو از کجا گیر بیاریم ویدیو هستش یا کتاب ؟ اگه میشه لینک دانلودش رو بگذارید ممنون

saeidpsl
دوشنبه 30 دی 1392, 21:27 عصر
این سورس (http://barnamenevis.org/showthread.php?401729-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=1954039&viewfull=1#post1954039)میتونه کمکت کنه.

esmaeilbf
دوشنبه 30 دی 1392, 22:26 عصر
خب به نظر من یکی از بهترین منابع برای یاد گیری دیتابیس اندریود استفاده از سری آموزش های ویکتور متئوس هستش
Android Persistency: SQL Databases
Victor Matos
Cleveland State University
سعی کنید این رو دانلود و این رو بخونید

کسی تونست لینک pdf این کتاب رو پیدا کنه؟

poorman
سه شنبه 22 بهمن 1392, 12:10 عصر
دوستان من دیوونه شدم !!!
از دیشب دارم کل نت رو میگردم تا بتونم با دیتابیس آماده کار کنم

کجای کار من اشکال داره ؟
من دیتابیس رو با SQLite Database Browser میسازم ، هرچیزی هم که توی نت گفتن که جدول android_metadata رو بساز و فیلدهای id رو تبدیل کن به id_ رو انجام دادم
بعدش دیتابیس رو با پسوند .db میذارم توی پوشه assets برنامه
بعد هم میام دیتابیس رو باز کنم که اررور میده میگه دیتابیس نیست ، چه کار دیگه ای باید بکنم آخه ؟؟؟


SQLiteDatabase mydb;
private static String DB_PATH = "/data/data/com.opendatabasetest/databases/";
private static String DB_NAME = "new";
//----------------------- OnCreate
String myPath = DB_PATH + DB_NAME;
mydb = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);


لطفا یک نفر راهنمایی کنه ، هرچی سورس و سایت و بلاگ بوده زیر و رو کردم

#root#
سه شنبه 22 بهمن 1392, 12:25 عصر
بعدش دیتابیس رو با پسوند .db میذارم توی پوشه assets برنامه
بعد هم میام دیتابیس رو باز کنم که اررور میده میگه دیتابیس نیست ، چه کار دیگه ای باید بکنم آخه ؟؟؟بین اون دوخط کار دیگه ای نمیکنین؟

poorman
سه شنبه 22 بهمن 1392, 14:14 عصر
نه هیچ کاری نمیکنم ، فقط setContentView هست قبلش همین

#root#
سه شنبه 22 بهمن 1392, 14:24 عصر
نه هیچ کاری نمیکنم ، فقط setContentView هست قبلش همین

خب اونطوری که شما توضیح دادین چه کارایی کردین دیتابیس به پوشه دیتای برنامه کپی نشده که باز بشه.

poorman
سه شنبه 22 بهمن 1392, 14:52 عصر
بعله ، همین پیش پای شما فهمیدم باید اول از تابع کپی DBhelper استفاده کنم :لبخند:
این سایتای خارجی که عین آدم مثال نمیزنن ، فقط یک کلاس میدن میگن ازش استفاده کن :|

hamedjj
سه شنبه 22 بهمن 1392, 20:23 عصر
از این لایبری استفاده کن خودتو راحت کن

https://github.com/jgilfelt/android-sqlite-asset-helper

poorman
سه شنبه 22 بهمن 1392, 21:08 عصر
مشکلم حل شد حامد جان ، حوصله ندارم باز دهن خودمو صاف کنم این یکی رو پیاده سازی کنم :لبخند:
مرسی

poorman
جمعه 25 بهمن 1392, 13:43 عصر
مشکل جدید :افسرده:

من اومدم از دیتابیس آماده استفاده کردم ، توی شبیه ساز و چند تا گوشی امتحان کردم خیلی خوب جواب داد
اما نمیدونم چرا روی دو تا گوشی امتحان کردم خطا گرفتم ، خطا هم مربوط به استفاده از دیتابیس بود

به نظرتون دلیلش چی میتونه باشه ؟؟؟ کسی تا حالا این مشکل من رو داشته ؟

#root#
جمعه 25 بهمن 1392, 14:06 عصر
خب تا اساتید logcat رو نبینن نمیتونن نظر بدن.

poorman
جمعه 25 بهمن 1392, 17:01 عصر
خب تا اساتید logcat رو نبینن نمیتونن نظر بدن.

logCat رو که ندارم ، چون تو گوشی بود
اما من قسمت های مختلف برنامه رو try Catch گذاشتم که اگه خطا داد toast نشون بده
و خطایی که به من نشون داد مربوط به قسمت درست کردن جدول و خوندن جدول بود که نشون میده دیتابیس کپی نشده توی گوشی

این تابع کپی کردن دیتابیس که قبل از اجرای اون اول چک میکنم اگر دیتابیس موجود نبود این تابع رو اجرا کنه

public void copyDataBase() throws IOException{
//Open your local db as the input stream
InputStream myInput = myContext.getAssets().open(DB_NAME);
// Path to the just created empty db
String outFileName = DB_PATH + DB_NAME;
//Open the empty db as the output stream
OutputStream myOutput = new FileOutputStream(outFileName);
//transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
//Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}

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

shahin bahari
جمعه 25 بهمن 1392, 18:56 عصر
مشکل جدید :افسرده:

من اومدم از دیتابیس آماده استفاده کردم ، توی شبیه ساز و چند تا گوشی امتحان کردم خیلی خوب جواب داد
اما نمیدونم چرا روی دو تا گوشی امتحان کردم خطا گرفتم ، خطا هم مربوط به استفاده از دیتابیس بود

به نظرتون دلیلش چی میتونه باشه ؟؟؟ کسی تا حالا این مشکل من رو داشته ؟
مشکل شما احتمالا این هست که دیتا بیس نمیتونه کپی بشه. دلیلش هم این هست که به دلیل فشرده شدن دیتابیس باید به اندازه فایل دیتابیس فضای خالی بیشتر توی حافظه داخلی باشه تا بتونه اول اکسترکت بشه و بعد کپی بشه. برای حل این مشکل اسم فایل دیتابیس رو به db.mp3 تغییر بدید تا فشرده نشه. اینجوری مشکلش این هست که حجم apk بیشتر میشه اما این مشکل رو حل میکنه.

poorman
جمعه 25 بهمن 1392, 19:20 عصر
والا عجیبه این دلیل
دیتابیس من کلا 28 کیلوبایت حجم داره !!!
یه سوال ، دیتابیس باید پسوند db داشته باشه یا نه ؟ چون در حالت عادی بدون پسوند db جواب میده
این mp3 رو با پسوند db اضافه کنم یا بدون پسوند db ؟

shahin bahari
جمعه 25 بهمن 1392, 21:04 عصر
والا عجیبه این دلیل
دیتابیس من کلا 28 کیلوبایت حجم داره !!!
یه سوال ، دیتابیس باید پسوند db داشته باشه یا نه ؟ چون در حالت عادی بدون پسوند db جواب میده
این mp3 رو با پسوند db اضافه کنم یا بدون پسوند db ؟
کلا پسوندش تو کارش مهم نیست و فقط تو شناسایی به کار میره. وقتی اون رو mp3 میکنید موقع ساخت apk میگید که این خودش فشرده شده هست و دوباره فشرده نکن. تو همون اکلیپس rename رو بزنید و DB.db رو به DB.mp3 تغییر بدید و موقع آدرس دادن هم حواستون باشه که آدرس رو اصلاح کنید. جایی که کپی میکنید دوباره اون روبه .db تغییر بدید که ظاهرش درست بشه.(فولدر دیتا یا sdcard )
من توی یه برنامه دیتابیسی که داشتم 22-3 مگ بود و این قضیه رو سر اون دیدم...

smemamian
جمعه 25 بهمن 1392, 22:49 عصر
با سلام
مشکل من هم تو استفاده از پایگاه داده my sql هست
چون پروژه ام یک کتابه و پایگاه داده my sql اون رو پیدا کردم می خوام از اون تو eclips استفاده کنم
کارایی که این لینک گفته رو انجام بدم درسته؟
http://onjava.com/onjava/2005/05/11/sqlexplorer.html
مرسی

از این استفاده کن :

http://www.helloandroid.com/tutorials/connecting-mysql-database

jafaripur
جمعه 25 بهمن 1392, 23:05 عصر
دیتابیس رو کپی کن تو کارت حافظه یا گوشی از اونجا بازش کن، پسوند هم فرقی نمی کنه هر چی می تونه باشه.