2016-07-21 4 views
1

私のDBの実装では、私はExcelファイルからonCreate方法にいくつかの初期データを置くこのSqliteをデータベースには、まだ私でもクリアデータが存在すると

public class DbHelper extends SQLiteOpenHelper { 

    private static DbHelper mDbHelper; 
    private Context context; 

    public static synchronized DbHelper getInstance(Context context) { 
     if (mDbHelper == null) { 
      checkDataBase(context); 
      mDbHelper = new DbHelper(context.getApplicationContext()); 
      Log.d(log, context.getDatabasePath(DB_NAME).getPath()); 
     } 

     return mDbHelper; 
    } 

    public DbHelper(Context context) { 
     super(context, DB_NAME, null, version); 
     this.context = context; 
    } 
} 

のようなものである6.0.1デバイスからアプリケーションを削除します。データを消去してアプリを削除した後、Android Studioからアプリをインストールすると、データベースがあるように動作し、onCreateメソッドを呼び出すことはありません。それはまた、古いExcelファイルから私の古いデータをもたらします。データを消去すると、DBを削除する必要があります。

私はLogcatでパスを記録し、それは言う:/data/user/0/com.mypackage.app/databases/dbname

が、私は私のデバイスでどこかで生きているデータベースを保持するキャッシュがあると思います。それは私の6.0.1デバイスでのみ発生します。 5.1.1で正常に動作します

データベースを削除するアドバイスはありますか?

+1

私もnexus 6Pでこれを気付きましたが、問題を回避するために、アンインストール後に電話機を再起動してから、もうデータがありません。 – tyczj

+0

おっと!私の問題は再起動しても解決しました。しかし、私は楽しみにしています私のユーザーのいくつかは、新しいバージョンに更新したときにこの問題に直面している場合は? : –

+0

アプリケーションの更新時に自動的に行われますが、 'db_version'を増やすだけで、現在の**データベースに追加、編集、削除することができる' onUpgrade() 'が起動します。行、表** ... – Yazan

答えて

3

私も同じ問題を抱えていて、1日中私を悩ませました。

アプリをアンインストールしてから、電話を再起動してください。それがMarshmellowの問題を解決します。

関連する問題