小编Pza*_*nno的帖子

何时使用内容提供商

我了解内容提供商允许在应用程序之间公开共享数据.但是,我想知道是否有人想让内容提供商只在你自己的应用程序中使用.这样做有什么好处吗?有什么缺点?

在过去,我刚刚实现了SQliteOpenHelper来访问我的数据库中的数据,但我正在考虑创建一个Content Provider.我觉得请求数据的URI方法简洁明了.另一方面,仅仅为我的应用程序使用内容提供程序是多余的(因为在其中我将有一个SQliteOpenHelper类)和更多的工作比我需要的?

android android-contentprovider

100
推荐指数
4
解决办法
3万
查看次数

如何在ormlite中执行多列唯一约束(SQLite)

我正在使用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)

有没有办法让这个工作?

sql sqlite unique-constraint ormlite

9
推荐指数
2
解决办法
7341
查看次数

为什么SQLException没有捕获SQLiteExcpetion?

我的一个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 ){},看看它是否有用,它确实按预期工作.

java android exception

8
推荐指数
1
解决办法
2664
查看次数

为Android设备使用configChanges ="orientation"有什么优缺点?

我想要android:configChanges="orientation|keyboardHidden"用于我的一些活动,以便我的onCreate不再被调用,但我想我会看到是否有人首先列出了优缺点,因为这个链接说它应该只被使用作为最后的手段.

configuration android orientation

7
推荐指数
2
解决办法
2386
查看次数

我在哪里可以找到DownloadManager的ContentProvider实现

我尽可能多地搜索了android的开源代码,但是我无法通过2.3 SDK中的DownloadManager找到实际下载的实现.我找到了DownloadManager源代码和下载类源代码,该代码具有与ContentProvider交互的常量,但我无法找到该代码的源代码ContentProvider.

我想找到这个,以便我知道一个很好的方法来实现我自己的下载,因为我将使用比我的应用程序更小的2.3版本.

android android-contentprovider android-download-manager

6
推荐指数
1
解决办法
2278
查看次数

使用适用于Android的Drive SDK没有来自UserRecoverableAuthIOException的意图

我已经在我的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)

java android exception google-drive-api

5
推荐指数
1
解决办法
2307
查看次数

为什么DAO方法在ORMLite中这么慢?

我有一个看起来像这样的方法

public Dao<ModelStore, Integer> getDaoStore() throws SQLException {
    return BaseDaoImpl.createDao(getConnectionSource(), ModelStore.class);
}
Run Code Online (Sandbox Code Playgroud)

当我打电话时,getDaoStore这是一个漫长的过程.在我的日志中,我可以看到GC在每次调用之后运行,所以我猜这次调用会有很多事情发生.

有没有办法加快速度?

java performance garbage-collection ormlite

4
推荐指数
1
解决办法
4243
查看次数

如何在执行触摸事件时检测到您正在传递的视图?

如果我将视图从一个ViewGroup移动到另一个ViewGroup,我想知道如何检测子视图,特别是在执行触摸事件时.有没有一种方法我可以打电话让我知道我正在"徘徊"哪些观点?

我现在正在做的是当我在我的视图上检测到ACTION_MOVE事件时,我将它提升到顶级父级,以便它可以移动并在整个窗口内绘制(而不仅仅是在它的原始父边界内),然后我想将视图移动到另一个ViewGroup,并在ACTION_UP上将视图附加到该ViewGroup.

events android views touch

3
推荐指数
1
解决办法
5629
查看次数