Articles of SQLite

使用OR操作符使用全文search(FTS)和多个标记进行多列search

我正在使用FTS查询我的数据库,以提高search速度,因为我也需要在文本描述search, 当我试图查询使用单列它的工作很好,如下所示 select * from productsearch where productsearch match ('prod_name:panasonic*tw*') 并且, select * from productsearch where productsearch match ('prod_short_desc:samsung*s5*') 所以,上面这两个查询给我预期的结果,但是当我试图结合使用OR运算符这两个查询它不给我任何结果 select * from productsearch where productsearch match ('prod_name:panasonic*tw* OR prod_short_desc:samsung*s5*') 所以,我想知道在使用OR运算符来search多列时,我在这里做了什么错误 UPDATE 下面的查询工作正常,但不符合我的要求, select * from productsearch where productsearch match ('prod_name:panasonic* OR prod_short_desc:samsung*') 你可以看到,如果我删除了多个令牌,那么它的OR运算符也可以正常工作。

一般应用程序devise(IntentService / ContentProvider / AsyncTask)

我试图找出什么是访问多个Web服务的应用程序的最佳通用devise,并具有显示信息的多个活动。 我实施我最新的Android应用程序的方式如下。 我有一个IntentService接收来自活动的请求,从Web服务获取信息。 我的Service通过ResultReceiver通知活动有关请求的状态(开始/错误/已完成)。 在调用Web服务之后,得到结果(xml / json)并parsing它,我把这些信息放到一个ContentProvider (由一个sqlite数据库备份)中,并使用一个ContentResolver来通知任何有关这些改变的活动。 活动得到有关更改的通知(有些使用ContentObserver和其他使用SimpleCursorAdapter并自动通知)。 现在,我的方法的问题: 每当我进入一个活动,我通过上述方法从Web服务请求信息,我删除该特定表中的所有行,填充新的信息,并通知活动。 所以,如果用户再次按下,然后再次进入,我再次整个舞蹈。 我想我应该添加一些字段在数据库中的最后一次更新等,但我不知道如何进行。 build议? 我想一个替代方法是使用警报,并在特定的时间间隔触发更新。 但就我而言,规范要求在每次进入活动时检查Web服务。 当我调用Web服务时,我在活动中显示了一个不确定的进度条,其他视图(其中包含之前获取的信息,并且位于数据库中,直到Web服务调用完成),但是用户可以开始与视图交互这不好(信息可能会从数据库中消失)。 任何方式来禁用交互? 想到ProgressDialog。 如果我通过不同的活动快速移动,则IntentService会被以前的Web服务调用阻止,并且需要更长时间才能访问我的最新Web服务调用。 我可以为每个Web服务创build多个IntentService ,但我不认为这是它的目的。 我有这样的感觉,我采取的方法并不是真正的最好的这个特定的应用程序。 它部分来自Google I / O应用程序(我无法理解所有的东西,比如更新的sqlite字段等)。 另一种select是在所有的活动中使用AsyncTasks。 但是,我可以在哪里存储信息以便从其他活动访问? 在Application列表中? 那么IDpipe理怎么样? 我真的对你的意见/想法/build议感兴趣,我怎样才能使我的下一个应用程序更好,更有效地工作。

手动将值插入SQLite数据库

我是Android开发的新手,刚刚开始学习用户界面开发的基础知识。 在我的应用程序中,我有一个微调,我想用数据库中的值填充微调。 所以,从数据库中取值,必须有一些值。 如何在不编写程序的情况下将值插入数据库? 我可以用任何其他方式插入它,比如我们如何在MySQL和Oracle数据库中插入值? 希望我的问题很好理解。

search包含西里尔文数据的SQLite数据库

我有一个问题,search我的SQLite数据库,其中包含用西里尔字符写入的数据。 如果关键词也是西里尔文,那么一切都可以,但是如果不是的话,我就不能在我的Android应用程序中得到结果。 有没有人有一个想法,我怎么能实现searchcyrilic数据,不pipe关键字的字符集? 谢谢

同步数据库Mysql SQLite

可能重复: 如何将Android手机上的SQLite数据库与服务器上的MySQL数据库同步? 我想知道什么是最好的方法来更新应用程序上的数据库。 我们有一个MySQL数据库,处理主服务器上的所有内容,但是我想在我的应用程序上复制它。 我想在Android设备上复制数据库(MySQL),以保持最新。 这不必实时发生,但可以每周计划一次,或者对SQL数据库进行更改。 我将如何做这样的事情? 在应该我应该发送这个应用程序的更新,并创build更改的数据库,或者我应该使用某种方式获取数据库在服务器上进行更改,并将SQLite数据库复制到Android应用程序。 或者…有没有一些很好的做法呢? 谢谢Pat

最好的替代Android SQLite库?

出于某种原因,我想避免Android的官方SQLite实现。 似乎只有很less的select,而且它们似乎是非常新的,没有经过testing的,很less执行很less操作的库。 我希望不要太主观,但这里是我需要的function: SQLite格式 有SELECT,INSERT,UPDATE,DELETE 基本的WHERE,有索引 索引更新(我不要求新的索引创build) 开源 注意:我最近把SQLJet移植到了Android上,我刚刚看到了SQLdroid的网站(不知道它是什么)。 我很惊讶,我找不到任何Android的SQLite分支,这也可以接受。

SQLCipher – 在桌面上打开encryption的数据库

我正在试用Android上的SQLCipher。 我写了一个小应用程序,在模拟器上创build一个表格和一些logging的数据库。 然后,我将模拟器中的数据库拖到我的桌面上。 我已经看了SQLCipher文档,但我不知道如何实际解密桌面上的数据库,所以我可以查询其内容。 我想确保我确实插入了logging。 什么是访问logging最简单的过程? 谢谢。

使用LIKE运算符的Android大小写不敏感游标查询(适用于所有语言环境)

我试图做一个过滤查询: public Cursor runQuery(CharSequence constraint) { return getActivity().getContentResolver().query( Phone.CONTENT_URI, new String[] {Phone.DISPLAY_NAME, Phone.NUMBER, Phone.TYPE, Phone._ID }, Phone.DISPLAY_NAME + " LIKE '" + constraint + "%'",// <– problem here null, Phone.DISPLAY_NAME); } 但LIKE操作符以非ASCII字符的大小写方式工作(如SQLite文档所述)。 有没有办法让不区分大小写的LIKE? (PS我testing俄罗斯符号) 事情不起作用 : COLLATE NOCASE(UNICODE,LOCALIZED) upper(),lower() 需要帮助或build议。 谢谢。

Android SQLite查询顺序问题

我怎样才能查询数据库显示一个数据表由两个不同的ID,但每行replace每个ID,但仍然按时间顺序。 例如。 数据库有ID1的10个元素和ID2的10个元素。 我需要它是: ID1 #data #2minutes ago ID2 #data #15minutes ago ID1 #data #4minutes ago ID2 #data #50minutes ago 有任何想法吗? 更新:ID的数量必须能够从1到n不同,也正在尝试通过SQLite.query()方法做到这一点。 更新2:#数据表示该行内的数据列,而不仅仅是一个,所以可能有5列。 另外,数据必须通过游标返回。 更新3:进一步详细说明,下面是我试图实现的表格和预期结果。 input表(按时间sorting) id | name | number | time 01 Tim 561481 2 minutes ago 02 Jon 951484 5 minutes ago 02 Jon 978284 7 minutes ago 04 Zen 171484 15 […]

如何实现SQLite DB更改的单步撤消?

我正在尝试将我的应用程序从确认模型调整为撤消模型。 对于那些不了解的人,这是你可以通过一次点击删除某些东西的地方,但是如果这是一个错误,你可以很容易地将其撤销,而不是每次他/她想要做某件事都要中断用户问烦恼的“你确定你想……?” 问题通过对话框。 我的应用程序由Android SQLite数据库支持,我希望能够撤消有限的一组删除和更新操作。 而且,我只需要能够撤消一个连续的变化,并且信息不需要很长的时间。 我在undo / redo上读取的所有内容都表示使用命令模型来存储数据。 我的问题是如何以轻量级的可恢复方式存储数据库更改?