bahman2012

سلام ارور در logcat

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

سلام دوستان

برنامم به خوبی اجرا میشه اما نمیدونم چرا تو logcat همیشه همچین خطایی ظاهر میشه

02-0402-04 22:57:37.449: E/Database(336): Leak found02-04 22:57:37.449: E/Database(336): java.lang.IllegalStateException: /data/data/ir.tahaquran.KababKofteKoko/databases/dataofstorys SQLiteDatabase created and never closed02-04 22:57:37.449: E/Database(336): 	at android.database.sqlite.SQLiteDatabase.(SQLiteDatabase.java:1695)02-04 22:57:37.449: E/Database(336): 	at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:739)02-04 22:57:37.449: E/Database(336): 	at ir.tahaquran.KababKofteKoko.database.checkdb(database.java:77)02-04 22:57:37.449: E/Database(336): 	at ir.tahaquran.KababKofteKoko.database.useable(database.java:48)02-04 22:57:37.449: E/Database(336): 	at ir.tahaquran.KababKofteKoko.MainActivity.onCreate(MainActivity.java:52)02-04 22:57:37.449: E/Database(336): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)02-04 22:57:37.449: E/Database(336): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)02-04 22:57:37.449: E/Database(336): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)02-04 22:57:37.449: E/Database(336): 	at android.app.ActivityThread.access$2200(ActivityThread.java:119)02-04 22:57:37.449: E/Database(336): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)02-04 22:57:37.449: E/Database(336): 	at android.os.Handler.dispatchMessage(Handler.java:99)02-04 22:57:37.449: E/Database(336): 	at android.os.Looper.loop(Looper.java:123)02-04 22:57:37.449: E/Database(336): 	at android.app.ActivityThread.main(ActivityThread.java:4363)02-04 22:57:37.449: E/Database(336): 	at java.lang.reflect.Method.invokeNative(Native Method)02-04 22:57:37.449: E/Database(336): 	at java.lang.reflect.Method.invoke(Method.java:521)02-04 22:57:37.449: E/Database(336): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)02-04 22:57:37.449: E/Database(336): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)02-04 22:57:37.449: E/Database(336): 	at dalvik.system.NativeStart.main(Native Method)

اینم فایل دیتابیس من

package ir.tahaquran.KababKofteKoko;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.KababKofteKoko/databases/";   public final String   Name = "dataofstorys";   public SQLiteDatabase mydb;   private final Context mycontext;   public database(Context context) {       super(context, "dataofstorys", 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, "chekkkk");       } else {           this.getReadableDatabase();           try {               copydatabase();           }           catch (IOException e) {	                      }       }   }   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);       }       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();   }

دوستان ممنون میشم اگه راهنمایی کنید


مشکل رو پیدا کردم

 وجود

        //db = new database(this);

        //db.useable();

بلا استفاده در بین کد های mainActivity بود

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


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

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

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

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

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


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

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

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


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