草庐IT

sqlite-wal

全部标签

Android 在应用程序级别关闭和打开 SQLite 数据库

我在应用程序级别声明和存储了一个SQLite数据库。我处理设备旋转等配置更改,因此关闭数据库我将其设置在MainActivity的onDestroy中,但在if(this.isFinishing())中。我遇到的问题是,如果在关闭应用程序后我再次尝试启动它,它会崩溃并告诉我它试图打开一个已经关闭的数据库。下次它将正确启动。我猜这是因为Android从来没有真正关闭过应用程序,因为没有必要,它仍然在后台。我找不到一种方法来检测onFinish/onDestroy....在应用程序级别关闭数据库。我能做的唯一解决方法是不关闭数据库。但这可能会给我带来问题,当我尝试再次打开它时,以防Andr

无法使用主键查询SQLite Android数据库

我有这个桌子privatestaticfinalStringSQL_CREATE_TABLE_TASKS=String.format("CREATETABLE%s"+"(%sINTEGERPRIMARYKEYAUTOINCREMENT,%sTEXT,%sINTEGER,%sINTEGER,%sINTEGER)",DatabaseContract.TABLE_TASKS,TaskColumns._ID,TaskColumns.DESCRIPTION,TaskColumns.IS_COMPLETE,TaskColumns.IS_PRIORITY,TaskColumns.DUE_DATE);该数据库

database - Android SQLite,询问ContentValues

我想知道在查询中使用类ContentValue是否是防止SQL注入(inject)的好习惯。谢谢 最佳答案 就个人而言,无论您使用ContentValues还是使用常规SQLiteDatabase查询,您都不能100%免受SQL注入(inject)攻击。话虽如此,如果您习惯于使用ContentValues,那么转义任何用户的输入是一种更好的做法,或者如果您想使用SQLiteDatabase查询,请查看SQLiteQueryBuilder,它有助于构建您的查询。如果Android提供参数化查询,那将是防止注入(inject)的最佳实践

android - 如何关闭并重新打开 Sqlite 数据库?

在我的应用程序中,我支持Sqlite数据库文件的备份和恢复。我需要在恢复后关闭并重新打开我的数据库连接。我该怎么做? 最佳答案 此代码可能对您有所帮助。publicclassDbHelper{privatestaticfinalStringDATABASE_NAME="rayyildiz_sample.db";privatestaticfinalintDATABASE_VERSION=1;privatestaticfinalStringTABLE_NAME="Test";privatestaticfinalStringTABLE_C

android - sqlite : how to insert time in sqlite database from android application

我有两个编辑文本,当我点击它时会弹出一个时间选择器对话框,时间将在编辑文本中设置,我的代码是,intTIME_PICKER_ID=1,hour,minute,flag;edittext_starttime.setOnClickListener(this);edittext_endtime.setOnClickListener(this);finalCalendarc=Calendar.getInstance();hour=c.get(Calendar.HOUR_OF_DAY);minute=c.get(Calendar.MINUTE);@OverridepublicvoidonClic

java - 如何将sqlite FTS查询中的字节偏移量转换为java中的字符偏移量

我在android中搜索我的FTS表时遇到问题,结果返回了一个字节偏移量:coltermnobyteoffsetsize101114但是问题是,当使用cursor.getString(colNo)时,它给了我一个UTF-16字符串,之后我无法计算文本的哪个字符是匹配。这是一个类似的问题:DetectcharacterpositioninanUTFNSStringfromabyteoffset(wasSQLiteoffsets()andencodingproblem)但是我无法理解问题的解决方案。那么在知道字节偏移量后,如何准确知道字符串中的字符偏移量(用于高亮显示)?

android - 如何在我的 Chrome/Firefox 浏览器中查看 SQLite 数据库?

我在我的Android应用程序中使用SQLite数据库。我想在我的chrome或Firefox浏览器中查看数据库。要查看数据库,通常我在androidStudio中打开Logcat并选择verbose并在serach框中写入http然后它为我提供了一个在我的浏览器中打开数据库的链接Like:D/DebugDB:Openhttp://192.168.2.116:8083inyourbrowser但在我的新项目中它没有显示链接。我该怎么办? 最佳答案 有多个库可以实现这一点Android-Debug-Databasestetho请引用链

android - Android 中使用 Sqlite 全文搜索对非英语字符的 Unicode 支持

滚动到末尾可跳过解释。背景在我的Android应用程序中,我想使用非英语Unicode文本字符串来搜索存储在SQLite数据库中的文本文档/字段中的匹配项。我了解到(所以我认为)我需要做的是实现FullTextSearchwithfts3/fts4,这就是我过去几天一直在努力学习的内容。Android支持FTS,如文档中所示StoringandSearchingforData并在博文中AndroidQuickTip:UsingSQLiteFTSTables.问题一切看起来都不错,但后来我阅读了2012年3月的博文ThesorrystateofSQLitefulltextsearchon

android - 多行之间的 SQLite SUM()

我需要一些有关Android应用程序中SUM功能的帮助。我有一个类似于下表的表格:我需要SUM最后两条记录Notes和最后一stripNote的记录之间的数量。我需要对第31,32行和第33行的数量求和。它会返回90。我试过了SELECTSum(QUANTITY)FROMfuel_tableWHERENOTE!=''ORDERBYIDDESC但它会返回所有数量的SUM和注释。 最佳答案 我倾向于将这个问题表述为:对“前面”有一个注释的所有行的数量求和。这表明:selectsum(quantity)from(selectft.*,(s

java - 如何使用 Assets 文件夹中的 SQLite 连接

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。如何使用Asset文件夹中的SQLite连接。