Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何在Android的服务类中使用游标和access数据库?_Android_Sqlite_Android Service_Android Cursor - Fatal编程技术网

我们如何在Android的服务类中使用游标和access数据库?

我们如何在Android的服务类中使用游标和access数据库?,android,sqlite,android-service,android-cursor,Android,Sqlite,Android Service,Android Cursor,我有一个Sqlite数据库,它有一个位置集合。以及一个持续运行的服务,它在后台运行,获取位置并与数据库中可用的存储位置进行比较 目前我正在通过返回游标的SQLiteDatabase.query方法读取数据。 但应用程序因此而崩溃(光标已关闭错误) 我的问题是我们如何在服务中访问数据库或使用游标? 在服务中使用游标的最佳方式是什么 我对内容提供商了解不多。但我怀疑我是否需要为此实现ContentProvider 我被困在这里了。请引导我做这件事 提前谢谢 更新 我的代码是 public void

我有一个Sqlite数据库,它有一个位置集合。以及一个持续运行的服务,它在后台运行,获取位置并与数据库中可用的存储位置进行比较

目前我正在通过返回游标的SQLiteDatabase.query方法读取数据。 但应用程序因此而崩溃(光标已关闭错误)

我的问题是我们如何在服务中访问数据库或使用游标? 在服务中使用游标的最佳方式是什么

我对内容提供商了解不多。但我怀疑我是否需要为此实现ContentProvider

我被困在这里了。请引导我做这件事

提前谢谢

更新 我的代码是

public void onLocationChanged(Location currentLocation)
{
    Log.d(TAG, "Location Updated");

    latitude = currentLocation.getLatitude();
    longitude = currentLocation.getLongitude();

    Cursor cursor = mDatabaseManager.getAllLocations();
    // Do something
    cursor.close();
}

此方法意味着位置更改回调在服务类中实现。

您的
服务
代码中有什么问题?当我使用游标从数据库中获取数据时,有时应用程序由于异常而崩溃。(由于访问已关闭的游标而导致的异常)。不是每次撞车。我在使用游标时没有关闭它。您的代码是什么样子的?异常发生在哪里?