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

سوال در مورد ارتباط با دیتابیس

ayhan  10 سال پیش  10 سال پیش
0 0

با سلام دوستان من برنامه ای نوشته بودم بعد از مدتها اکلیپسم پاک شد و دوباره نصب کردم برنامم رو ایمپورت کردم اروررR رو گرفت برنامه جدید ایجاد کردم کپی کردم به اون الان برنامه رو اجرا میکنم وقتی میخواد به قسمت دیتا بیس وارد بشه میپره بیرون.رو خط باز کردن دیتا بیس ارور میگیره هر کاری کردم جواب نداد ممنون میشم کمکم کنید.

0 0
اگر تو کد گفتید که دیتا بیس دز SD CARD ایجاد سود پرمشن مربوط به ان را هم در منیفست اضافه کرده اید؟ (10 سال پیش)
0 0
کاملا قسمت منیفست رو کپی کردم دیتا بیس رو این قسمت میریزم public final String path="data/data/ir.ayhan.appLed/databases/"; (10 سال پیش)
0 0
بیزحمت کدرا بنویس شاید بتونم کمکت کنم (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
ayhan  10 سال پیش
0 0

 import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class database extends SQLiteOpenHelper{
	private final Context mycontext;
	public final String path="data/data/ir.ayhan.appLed/databases/";
	public final String name="database";
	public SQLiteDatabase mydb;
	public database(Context context) {
		super(context, "database", null, 1);
		// TODO Auto-generated constructor stub
		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 open(){
		mydb=SQLiteDatabase.openDatabase(path+name, null, SQLiteDatabase.OPEN_READWRITE);
	}
	public void close(){
		mydb.close();
	}
	public void useable(){
		boolean checkdb=checkdb();
		if(checkdb){
			
		}else{
			this.getReadableDatabase();
			try{
				copydatabase();
				
			}catch(IOException e){
				
			}
		}
	}
	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 length;
		InputStream myInput = mycontext.getAssets().open("database");
		while ((length = myInput.read(buffer)) > 0) {
		myOutput.write(buffer,0,length);	
		}
		myInput.close();
		myOutput.flush();
		myOutput.close();
	}
0 0
mydb=SQLiteDatabase.openDatabase(path+name, null, SQLiteDatabase.OPEN_READWRITE); ارور این قسمت (10 سال پیش)
0 0
سلام ، شاید چون فایل دیتابیس وجود نداره Crash میکنه ، از openOrCreateDatabase استفاده کنید ببینید درست میشه ؟ (10 سال پیش)
0 0
دیتابیس ایجاد میشه ولی به اون دیتا بیس نگاه میکنم توش خالیه (10 سال پیش)
+2 0
فکر کنم باید توی onCreate دیتابیس رو بسازین. اون موقع توی open ازش استفاده کنین (10 سال پیش)
+1 0
از اکلیپس استاد استفاده میکنید ابتدا فایلتونو ایمپورت کنید به اینترنت وصل باشین در این مدت از اینترنت استفاده نکنیداحتمال داره مشکلتون حل بشه (10 سال پیش)
0 0
من برنامه های قبلیمو ایمپورت میکنن خطا میگیری کپی هم میکنم ارور خاصی میدن که مشکلی نداره (10 سال پیش)

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