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

باز نشدن DB

Mastane Habibi  11 سال پیش  11 سال پیش
0 0

سلام . دیتابیس من باز نمی شه. باید چیکار کنم؟؟؟

 

public class database extends SQLiteOpenHelper {

//path for saving DB
public final String path = "data/data/mohammadi.as/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) {

}


@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

}


public void useable() {
boolean checkdb = checkdb();
if (checkdb) {
Log.i("log", "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" + checkdb);

} else {
this.getReadableDatabase();
try {
copydatabase();
}
catch (IOException e) {

}
}
}


public void open() {
mydb = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READONLY);
}


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


public boolean checkdb() {
SQLiteDatabase db = null;
try {
db = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READONLY);
Log.i("log", "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<1" + db);
}
catch (SQLException e) {

}
Log.i("log", "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<ddd" + db);
return db != null ? true : false;
}


public void copydatabase() throws IOException {

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

}


public String Display(int row, String table) {
Log.i("Log", ">>>>>>>>>>>>>>>>>>>>..." + table);
Cursor cursor = mydb.rawQuery("SELECT * FROM " + table, null);
cursor.moveToPosition(row);
String s = cursor.getString(4);
return s;
}


public String namayesh(int row, int field, String table) {

Cursor curser = mydb.rawQuery("SELECT * FROM " + table, null);
curser.moveToPosition(row);
String str = curser.getString(field);

return str;
}


public Integer counting_field(String table, String feild) {
Cursor curser = mydb.rawQuery("SELECT * FROM " + table + " group by " + feild, null);
int i = curser.getCount();
return i;
}


public Integer story_counter(String table, String seasone) {

Cursor curser = mydb.rawQuery("SELECT * FROM contents", null);
int i = curser.getCount();
return i;

}
}
+1 0
لاگتون رو بررسی کنید ببنید اروری وجود داره یا نه (11 سال پیش)
0 0
آره . جایی که می خواد وصل بشه رو ارور می ده. (11 سال پیش)
0 0
ارورتون رو درج کنید تا بررسی بشه توسط دوستان (11 سال پیش)
0 0
این مشکل واسه ی من هم پیش میاد اکلیپس و emulator رو ببندین و دوباره باز کنین فکر کنم حل شه (11 سال پیش)
0 0
چند عامل رو چک کنید: 1- نام پکیجتون رو با path مقایسه کنید تا درست آدرس دهی شده باشه. 2- همچنین Name با table دیتابیس یکی باشه. 3- اگر ساختار دیتابیس رو تغییر دادید حتما برنامه رو حذف کنید و دوباره نصب کنید... (11 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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