草庐IT

sqlite-wal

全部标签

Android SQLite - 为什么我的数据库每次都重新创建?

我试图更好地了解SQLiteOpenHelper类以及调用onCreate和onUpgrade的方式和时间。我的问题是,每次我退出并启动我的应用程序(从技术上讲,实际上是每次我创建一个新的MyDB实例)时,onCreate都会被调用,并且之前使用的所有数据都被有效地删除......WTF???我最初通过创建一个单例MyDBFactory来解决这个问题,我在其中创建了一个MyDB实例。这允许数据至少在应用程序运行时保持不变。我希望我的数据库模式和数据能够持久化!我基本上有:publicclassMyDBextendsSQLiteOpenHelper{privatestaticintVER

android - Android中是否有SQLite的内存缓存,如何释放或清除?

首先,我在我的Android应用程序中创建了一个名为“mydb”的数据库:DBHelperdbHelper=newDBHelper(context,"mydb",null,1);//DBHelperismycustomclass然后将一些数据写入它的表中:SQLiteDatabasedb=dbHelper.getReadableDatabase();db.execSQL("insertintomytable(name,text)values('allen','hello')");在这里,一切正常。但是,我手动删除了这个数据库,而不是通过编程,使用软件“R.E.explore”(当然是在

java - 将大量 JSON 数据插入 android 中的 SQLite 数据库的方法是什么

我有一个很大的json请求,也就是说,它有大约50k行和15列,我必须将它们插入到具有相同结构的SQLite数据库中。也就是说,我必须将在postgres数据库中分配的相同数据复制到我的应用程序中的sqlite数据库中。有什么有效的方法吗?是否有一些api或其他可以帮助工作的东西?我必须告诉我,我能够使用OMRLite处理不大的JSON数据,但是当我尝试处理更大的数据时,我的应用程序崩溃了并且内存错误。如果您有一些我可以遵循的想法或示例,我将不胜感激!提前致谢! 最佳答案 您还可以使用Google的官方Gson流媒体库。Gson流:

android - RxJava 与 SQlite 和 ContentProvider 操作

我正在研究RxJava,为此我正在使用SQLite,编写一个辅助类SQLiteUtils以帮助更轻松地处理异步ContentResolver查询。例如,这是queryInBackground方法:staticpublicObservablequeryInBackground(finalContentResolvercr,finalUriuri,finalString[]projection,finalStringselection,finalString[]selectionArgs,finalStringsortOrder,finalCursorHandlerch){returnOb

android - 在 SQLite 中保存重新排序的 RecyclerView

所以我正在尝试在我的待办事项列表应用程序中实现拖放,但是我无法在移动后保存行的顺序-即我移动了项目,退出应用程序,它恢复到原来的位置。我想到了一个解决方案。我的解决方案:在我的表中创建一列:specified_position。每次移动一行时,onItemMove()方法都会返回一个fromPosition和toPosition。将行的位置移动到toPosition,然后增加/更新那里和上面的所有值。每次读取表格时,它都会检查位置并根据它进行排序。我的问题:我的解决方案是否正确?有没有更好、更简单的方法来代替呢?非常感谢! 最佳答案

android - Firebase 或 SQLite

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我是android开发的新手,我目前正在开发一个使用SQLite作为我的数据库的应用程序。问题是,我想在使用该应用程序的其他人之间共享信息。据我所知,单独使用SQLite只能让我在本地存储用户信息。有没有办法使用SQLite为每个用户同步所有数据,或者如果您想与使用该应用程序的每个人共享数据,Firebase是否可以选择?或者您有更好的选择吗?

android - 无法在android中的Sqlite数据库更新命令中更新多行

我遇到了一个问题。我正在尝试批量更新我的表,即尝试更新数据库中的多行。更新很简单。我只需要将列值设置为1,它实际上用作应用程序中的标志。所以我想将该值设置为1,并在where子句中给出我想要设置的所有id的字符串数组。但问题是它给了我一个"android.database.sqlite.SQLiteException:bindorcolumnindexoutofrange:"。但是,当以字符串或字符串数​​组形式提供单个值时,更新工作正常。这里是查询db.update(tableName,cv,Z_ID+"=?",items);其中items是String[]类型请告诉我我错过了什么?

java - 原始资源与 SQLite 数据库

我正在创建一个应用程序,该应用程序将使用大量数据,就所有Intent和目的而言,这些数据都是静态的。我原以为使用SQLite数据库来处理这些数据最有意义。我想知道仅使用XML文件然后将其作为原始资源访问是否有意义。请记住,可能会有大量数据,大约有数百个单独的部分。我是否认为SQLite是最好的,无论是在内存管理还是总体设计考虑方面,还是如果数据基本上是静态的,SQLite就没有意义? 最佳答案 其实如果数据是静态的,SQLite就好像是废话。但是,如果您要操作的是大量数据,则应该使用它:这样做会更容易:检索数据过滤数据排序数据由于S

android - 如何从android上的sqlite数据库中删除旧行?

我有一个参数,用户可以在其中选择应存储数据的时间段。我在days变量中读取它。日期和时间,将记录添加到数据库的时间存储在KEY_DATE_ADDED中,创建方式如下:SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//sqldateformatDatedate=newDate();initialValues.put(KEY_DATE_ADDED,dateFormat.format(date));然后我执行以下操作:mDb.delete(DATABASE_TABLE,"date(now)>date(

android - SQLite 中一行与另一行的比较

我有一个Android应用程序。在我的Android应用程序中,我有一个SQLite数据库。在我的SQLite数据库中,我有一个如下所示的表:_idabcd11110201113100140101我想为每一行计算:在当前行或上一行中都为1的所有a、b、c和d列中,当前行和上一行中都为1的百分比是多少?输出看起来像这样:_idabcdresult11110NULL2011150%3100125%4010133%我可以在SQLite之外的Java中执行此操作,但我宁愿在SQL中执行此操作;这样会更整洁。我应该使用什么查询? 最佳答案 S