我有一种情况,我希望能够使用Android Room硬重置我的数据库.使用SQLiteOpenHelper,我可以通过编写一个方法来删除所有表和索引,然后手动调用SQLiteOpenHelper.onCreate().
我知道我可以访问一个SupportSQLiteOpenHelper通风室并自己丢弃所有表格,但似乎没有一个好方法来启动娱乐过程.
另外,我知道我可以删除每个表中的每个项目而不删除它,但这不是我想要的.这不会重置自动递增主键,因此新项目的"id"字段不会重置为1.
谢谢!
编辑:
这是我希望能够在运行时任意做的事情.
编辑2:
该方法应该是可维护的,即不涉及手写符合Room行为的SQL.理想情况下,可以通过某种方式检索 Room生成的SQL或SQLiteOpenHelper.onCreate()等效方法.或其他任何解决这个问题的方法!:)
我正在制作Chrome扩展程序,其中包括在新标签页上放置文本输入,并在加载新标签页时立即将焦点放在该输入文本上.在使用传统方法无法获得焦点后(例如focus()),我偶然发现了这个问题:
Chrome 27:新标签页扩展程序无法从Omnibox中窃取焦点
这表明Chrome现在已经做到了这一点,因此您无法将多功能框关注于新的标签页.鉴于Chrome可以将焦点放在任何不是新标签页的网站上,我一直试图提出解决方法,但没有什么是真正令人满意的.
我试过了:
让新标签页立即重定向到本地存储的HTML文件,但这仍然没有给予焦点,因为页面在重定向时从未有过焦点.
在内容脚本中覆盖ctrl + t和cmd + t,以打开包含本地存储的HTML文件内容的新选项卡.这工作正常,除了它似乎无法覆盖cmd + t,因此Mac用户将被迫使用ctrl + t.此外,一些网站(例如OneNote在线编辑器)接管ctrl + t,因此它不适用于每个页面.
远程托管页面并将新标签页重定向到它(太慢).
在打开新标签时,建议用户按两次选项卡以关注输入文本:)
有没有人对你如何解决这个限制有任何其他建议?这对我的扩展非常重要.
谢谢!
javascript google-chrome focus google-chrome-extension omnibox
我一直在使用LocationClient并设置了一个Geofence,但不知道如何测试它.
问题来自于您无法在模拟器中运行应用程序,因为模拟器中不可用的LocationClient用途GooglePlayServices.你也不能使用MockLocations我所知道的,因为你MockLocations通过创建一个Provider来使用,并且LocationClient不允许你设置一个Provider.
那么......我该怎么测试我的Geofence?(除了上车......).