آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استفاده از دیتابیس ذخیره شده در پوشه asset

محمد  10 سال پیش  10 سال پیش
0 0

سلام ببخشید یک SQLite Database دارم و آن را در پوشه asset ذخیره کردم چگونه باید اون رو باز کنم و ازش اطلاعات بگیرم

0 0
لینک (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Shadow  10 سال پیش
+3 0

 public class database extends SQLiteOpenHelper {

public final String path = "data/data/projectName/databases/";
public final String Name = "database";
public SQLiteDatabase mydb;

private final Context mycontext;


public database(Context context) {
super(context, "database", null, 1);
mycontext = context;

}


@Override
public void onCreate(SQLiteDatabase arg0) {
// TODO Auto-generated method stub

}


@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub

}


public void useable() {

boolean checkdb = checkdb();

if (checkdb) {

} else {

this.getReadableDatabase();

try {
copydatabase();
}
catch (IOException e) {}

}

}


public void open() {

mydb = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READWRITE);

}


@Override
public void close() {
mydb.close();
}


public boolean checkdb() {

SQLiteDatabase db = null;
try {
db = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READONLY);
}
catch (SQLException e)
{

}
//mydb.close();
return db != null ? true : false;

}


public void copydatabase() throws IOException {
OutputStream myOutput = new FileOutputStream(path + Name);
byte[] buffer = new byte[1024];
int length;
InputStream myInput = mycontext.getAssets().open(Name);
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myInput.close();
myOutput.flush();
myOutput.close();
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .