کد هاتون رو با استفاده از حالت کد که تو سایت تعیبیه شده قرار بدید تا خوانا تر شن
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
ایراد در خواندن دیتا بیس در اندروید
مدیریت گفتگو
آخرین تغییر: 10 سال پیش
یک دیتابیس خارجی در نرم افزار sql expert طراحی کردم در پروژه کپی کردم کدی رو برای خواندن دیتابیس باشه از وبسایت stackover flow گرفت کد درست ولی وقتی میخوام پروژه run و دکمه ای که براش گذاشتم تا یه رکورد بخونه میزنم دیتابیس باز نمیشه و خطا میگیره لطفا راهنمایی کنید
پاسخها 3
این کد برنامه
این از صفحه 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)
لطفا راهنمایی کنید
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات