bahman2012

سلام در مورد sqlite

1 ارسال در این موضوع قرار دارد

سلام دوستان من از کد زیر برای فذاخوانی و کپی دیتابیس استفاده کردم --فی الواقع به خوبی کار میکنه اما همیشه با اجرای نرم افزار یک ارور تو logcat  ایجاد میشه  که البته مانع از اجرای برنامه نمیشه اما همیشه گزارش میده که یه جای دیتابیس باز شده و هنوز بشته نشده ممنون میشم یه نگاهی بندازید

این کد دیتابیس منه

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

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;
import android.util.Log;


public class database extends SQLiteOpenHelper {

   public final String   path = "/data/data/ir.tahaquran.daroha/databases/";
   public final String   Name = "aaaa.db";
   public SQLiteDatabase mydb;
   private final Context mycontext;


   public database(Context context) {
       super(context, "daroha", 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(Name, "DB Vojod Dasht");
       	
       } else {
            this.getReadableDatabase();
           try {
               copydatabase();
             //  
           }
           catch (IOException e) {	
           	Log.i(Name, "Az Try COPY DB Gozasht");
           
           }
       }
   }


   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);
          // db.close();
           
       }
       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();
   }
 

این هم اروری که ظاهر میشه که پیوستش کردم ( عکس)

Untitled-2.jpg.6758cee246a2e71c4c63e9249278ecaf.jpg

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری