在我的应用程序中,我得到这个数据库磁盘映像是一些用户的格式错误(代码11)错误.我用Google搜索并了解到,当数据库映像格式错误时,Android会删除它并重新创建新的数据库文件,这对某些用户来说正在发生.
这里的问题是10个用户中的我得到这个错误,db只为2-3个用户重新创建,我无法在logcat中得到错误,为什么会发生这种情况.如果db对10个用户的格式错误,那么为什么它不为所有10个用户重新创建数据库仅为2-3个用户?有人能指出我正确的方向如何处理它?
更新:我仍然无法重现问题,但我能够得到一些日志,他们在这里
08-28 08:35:44.847 E/SQLiteLog(15123): (11) database corruption at
line 65088 of [00bb9c9ce4]
08-28 08:35:44.847 E/SQLiteLog(15123): (11) statement aborts at 67
08-28 08:35:44.857 E/DefaultDatabaseErrorHandler(15123): Corruption
reported by sqlite on database:
/data/data/com.retail.posmaster/databases/GrofersRetail
08-28 08:35:45.377 D/dalvikvm(15123): GC_EXPLICIT freed 2639K, 62%
free 7479K/19228K, paused 4ms+8ms, total 82ms
08-28 08:35:45.727 E/DefaultDatabaseErrorHandler(15123): !@ Delete old
.mark file
08-28 08:35:45.737 E/DefaultDatabaseErrorHandler(15123): !@ DB
Corruption has happened before this
08-28 08:35:45.757 E/DefaultDatabaseErrorHandler(15123): !@ DB
Corruption has happened before this
Run Code Online (Sandbox Code Playgroud) 我已经在mainactivity中定义了一个函数,现在我想用我的app中的另一个类访问.我已经通过使用我调用了该函数的对象创建了一个mainactivity的对象.它没有显示任何错误,但它不是每次都执行尝试执行应用程序崩溃?任何解决方案
public static final String Database_Name="content.db";
public static final int Database_Version=1;
public static final String Table_Name="images";
public static final String Column1="contentid";
public static final String Column2="content_type";
public static final String Column3="content";
public static final String Column4="has_update";
public static final String Column5="server";
public static final String Column6="_id";
public static final String Create_Database =
"CREATE TABLE " + Table_Name +
" (" + Column6 + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
Column1 + " LONG, " +
Column2 + " TEXT NOT …Run Code Online (Sandbox Code Playgroud)