假设一个应用程序在其本地数据库中存储了一些与用户相关或用户最喜欢的记录。当我升级我的应用程序时,数据库会发生什么变化?作为开发者,我该如何防止数据丢失? 最佳答案 您可以在http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html的开发人员文档中查看如何执行此操作如果您的数据库模式没有改变,那么您会没事的,因为数据在升级期间会保留下来。如果您更改数据库架构,您应该使用onUpgrade将以前版本的数据库升级到最新版本。
我需要在应用程序安装后第一次运行时创建数据库表。那么如何在安装app的时候获取应用第一次运行的状态呢?我听说过SharedPreferences但并不熟悉。感谢任何代码帮助,并在此先感谢... 最佳答案 SQLiteOpenHelper有一个onCreate方法,如果数据库不存在并且需要第一次创建时调用该方法。使用它来创建和初始化您的数据库,其中包含您在表中需要的任何数据。 关于java-安卓:Performataskwhileapplicationopenedforfirsttimea
我在使用Android应用程序中的SQLIte数据库时遇到了一些问题。问题是数据库永远不会更新,即使在多次重启模拟器、Eclipse或从DDMS中删除后也是如此。这是我的onCreate方法,位于扩展SQLiteOpenHelper的类中:publicvoidonCreate(SQLiteDatabasedatabase){try{database.execSQL(ESSENCE_TABLE_CREATE);database.execSQL(PACCO_TABLE_CREATE);database.execSQL(TAVOLE_TABLE_CREATE);database.rawQue
我有时会在日志中发现这个错误。无法从包含0行64列的游标窗口中读取行0、列0。首先,讲点背景故事。我有一个应用程序在我们公司的许多设备上运行。目前,它主要运行在大约20个三星Note8设备、2个三星Note10.1设备和一些其他设备上。到目前为止,这个问题只发生在Note8中的两个设备上。在所有其他设备上,它似乎工作得很好。该应用程序的工作原理是用户使用该应用程序收集信息、文本、照片、签名等…所有这些都作为提交表中的一行存储/插入到sqlite数据库中。submissions表有64列以满足收集的每个字段。有一个同步方法总是在运行(它是一个在可运行线程内执行的异步任务,因此即使应用程序
当我尝试获取可读或可写的数据库时出现此错误。“SQLiteCantOpenDatabaseException:未知错误(代码14)无法打开数据库”我在使用SQLiteOpenHelper时遇到了这个奇怪的问题,我在这里看到了一些关于同一问题的类似答案,但没有一个解决了我的问题。和我一样绝望,我在下面发布我的代码,希望有人能找到我没有看到的东西......(一个重要的信息:我从另一个工作的应用程序中得到这个应用程序。但是我第一次调试它时,我仍然没有更改dbname。这是以前的应用程序的名称(ks.db)。该数据库存在于我的调试设备中,但tr.db不存在)我的DatabaseHelper类
首先,我是Android应用程序的新手,并不是一个人在做这件事。我的队友在我处理这件事的同时进行了设计,并要求我设置数据库以及执行此操作的方法等等。所以虽然大部分看起来没问题,但我说:Contextcontext=null;DataBaseHelperdrinksDataBase=newDataBaseHelper(context);进入他的主要Activity。构造器如下:publicDataBaseHelper(Contextcontext){super(context,DB_NAME,null,1);this.myContext=context;try{createDataBas
所以我在android4.0+上测试我的代码并认为它在其他版本上可以正常工作时犯了一个大错误。但是我在使用SQLiteOpenHelper时遇到了2.X和3.X的问题。首先是代码:publicclassHelperDBextendsSQLiteOpenHelperimplementsBaseColumns{publicstaticfinalintDATABASE_VERSION=2;publicstaticfinalStringDATABASE_NAME="MYDB.db";publicstaticfinalStringTABLE_NAME="MYtable";publicstat
我的应用程序抛出了这个FatalException:unknownerror(code14)couldnotopendatabase在AndroidKitkat4.4上运行时,该应用程序在所有以前的版本上都能完美运行。此行抛出异常。myDataBase=SQLiteDatabase.openDatabase("path",null,SQLiteDatabase.OPEN_READWRITE);我已经尝试了一切SQLiteDatabase.create();SQLiteDatabase.opendatabase();SQLiteDatabase.openorcreatedatabase(
我在GooglePlay商店中有一个应用程序,我正在开发它的新版本。SQLite数据库方案(新表)+新的ContentProviders将会发生变化。我考虑如何正确解决数据库结构的升级,以便用户在升级我的应用程序时不会丢失其当前内容,并且还会创建新表。我应该改变:*privatestaticfinalintDATABASE_VERSION=1;到:privatestaticfinalintDATABASE_VERSION=2;*并且以某种方式在onUpgrade()方法中放置代码,如果检测到oldVersion为1且newVersion为2。将创建新表。现在我有一些愚蠢的代码,如果on
我知道有很多关于这个问题的线索,但我自己的问题都没有。我在数据库中连接了一个微调器,显示特定表的外键。并且似乎插入错误。02-1811:44:34.500:E/SQLiteDatabase(20811):错误插入ConsumerName=android.database.sqlite.SQLiteCursor@4144fa58kWh=801.0_id=65324Date=2013-2-18Previous=98当前=89902-1811:44:34.500:E/SQLiteDatabase(20811):android.database.sqlite.SQLiteConstraintE