我了解内容提供商允许在应用程序之间公开共享数据.但是,我想知道是否有人想让内容提供商只在你自己的应用程序中使用.这样做有什么好处吗?有什么缺点?
在过去,我刚刚实现了SQliteOpenHelper来访问我的数据库中的数据,但我正在考虑创建一个Content Provider.我觉得请求数据的URI方法简洁明了.另一方面,仅仅为我的应用程序使用内容提供程序是多余的(因为在其中我将有一个SQliteOpenHelper类)和更多的工作比我需要的?
我正在使用Android的ormlite,我正在尝试获得多列唯一约束.到目前为止,我只能对这样的个别列进行独特约束:
CREATE TABLE `store_group_item` (`store_group_id` INTEGER NOT NULL UNIQUE ,
`store_item_id` INTEGER NOT NULL UNIQUE ,
`_id` INTEGER PRIMARY KEY AUTOINCREMENT );
Run Code Online (Sandbox Code Playgroud)
而我想要的是
CREATE TABLE `store_group_item` (`store_group_id` INTEGER NOT NULL ,
`store_item_id` INTEGER NOT NULL ,
`_id` INTEGER PRIMARY KEY AUTOINCREMENT,
UNIQUE( `store_group_id`, `store_item_id` );
Run Code Online (Sandbox Code Playgroud)
在我的模型中,我一直在使用以下注释用于唯一列:
@DatabaseField( unique = true )
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个工作?
我的一个Android应用程序中有一些代码可以捕获SQLException,但我最近发现它没有捕获SQLiteException.显然,SQLiteException是SQLException的子代,所以它为什么不被捕获?这是我正在使用的一些代码.
try {
... // something here that will throw an SQLiteException
} catch (SQLException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我的假设是否正确,我应该捕获SQLiteException?
如果它很重要,我使用的代码不在Activity内部,而是在扩展Application类的类中.
作为旁注,我确实添加了一个额外的内容catch( Exception e ){},看看它是否有用,它确实按预期工作.
我想要android:configChanges="orientation|keyboardHidden"用于我的一些活动,以便我的onCreate不再被调用,但我想我会看到是否有人首先列出了优缺点,因为这个链接说它应该只被使用作为最后的手段.
我尽可能多地搜索了android的开源代码,但是我无法通过2.3 SDK中的DownloadManager找到实际下载的实现.我找到了DownloadManager的源代码和下载类的源代码,该代码具有与ContentProvider交互的常量,但我无法找到该代码的源代码ContentProvider.
我想找到这个,以便我知道一个很好的方法来实现我自己的下载,因为我将使用比我的应用程序更小的2.3版本.
我已经在我的Android应用程序中实现了谷歌驱动器,它工作得很好,但我想找到一种方法在后台线程中运行上传/下载,这样我就可以在我的应用程序上留下一个活动并做一些其他事情.问题是,驱动器在异常情况下需要活动参考,例如UserRecoverableAuthIOException.
这是我无法理解的问题.这是一些try/catch代码:
try {
//...drive api stuff here
} catch (UserRecoverableAuthIOException e) {
possibleException = e;
try {
e.getIntent();
} catch ( NullPointerException e2 ) { //this is the crazy part
// e.getIntent() should not throw a nullpointer
e2.printStackTrace();
possibleException = e2;
}
onActivityRestartWhat = RESTART_IMPORT;
// just a note i do handle this exception properly in another section of a code when there is an intent.
} catch (FileNotFoundException e) {
possibleException = e;
e.printStackTrace();
} catch …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的方法
public Dao<ModelStore, Integer> getDaoStore() throws SQLException {
return BaseDaoImpl.createDao(getConnectionSource(), ModelStore.class);
}
Run Code Online (Sandbox Code Playgroud)
当我打电话时,getDaoStore这是一个漫长的过程.在我的日志中,我可以看到GC在每次调用之后运行,所以我猜这次调用会有很多事情发生.
有没有办法加快速度?
如果我将视图从一个ViewGroup移动到另一个ViewGroup,我想知道如何检测子视图,特别是在执行触摸事件时.有没有一种方法我可以打电话让我知道我正在"徘徊"哪些观点?
我现在正在做的是当我在我的视图上检测到ACTION_MOVE事件时,我将它提升到顶级父级,以便它可以移动并在整个窗口内绘制(而不仅仅是在它的原始父边界内),然后我想将视图移动到另一个ViewGroup,并在ACTION_UP上将视图附加到该ViewGroup.