بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ایراد در خواندن دیتا بیس در اندروید
یک دیتابیس خارجی در نرم افزار sql expert طراحی کردم در پروژه کپی کردم کدی رو برای خواندن دیتابیس باشه از وبسایت stackover flow گرفت کد درست ولی وقتی میخوام پروژه run و دکمه ای که براش گذاشتم تا یه رکورد بخونه میزنم دیتابیس باز نمیشه و خطا میگیره لطفا راهنمایی کنید
0
0
لاگ کت رو بررسی کنید ! (10 سال پیش)
0
0
کدتون و خطای لاگ کتتون رو قرار بدید (10 سال پیش)
برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال
119323
10 سال پیش
0
0
این کد برنامه
این از صفحه database
public class database extends SQLiteOpenHelper {
public final String path = "data/data/ com.programingandroid.bookhardware/databases/";
public final String Name = "dbbook";
public SQLiteDatabase mydb;
private final Context mycontext;
public database(Context context) {
super(context, "dbbook", 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) {
} 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);
}
catch (SQLException e) {
}
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 namayesh(int row, int field, String table) {
android.database.Cursor Cursor = mydb.rawQuery("SELECT * FROM " + table, null);
Cursor.moveToPosition(row);
String str = Cursor.getString(field);
return str;
}
}
اینم از صفحه ای که butten گذاشتم برا وصل شدن به دیتابیس
public class BookhardwareActivity extends Activity {
private database db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
db = new database(this);
db.useable();
Button btn1 = (Button) findViewById(R.id.btn1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
db.open();
String str = db.namayesh(0, 1, "tamirat");
Toast.makeText(BookhardwareActivity.this, str, Toast.LENGTH_SHORT).show();
db.close();
}
});
}
}
اینم خطایی که وقتی رو دکمه کلیک میکنم تو logcat نشون میده
E/AndroidRuntime(1376): at com.programingandroid.bookhardware.database.open(database.java:56)
E/AndroidRuntime(1376): at com.programingandroid.bookhardware.BookhardwareActivity$1.onClick(BookhardwareActivity.java:28)
لطفا راهنمایی کنید
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .