Java 安卓可以';不要复制数据库

Java 安卓可以';不要复制数据库,java,android,sqlite,tasker,Java,Android,Sqlite,Tasker,我正在尝试设置一个Tasker任务,该任务将删除时钟中的所有警报。我把它安装好了,在我的旧手机上工作得很好。我所做的是在没有警报的情况下复制警报数据库。当我想删除当前设置的报警时,Tasker运行一个shell命令来删除包含报警的当前数据库。然后Tasker运行shell命令复制空数据库并重命名它。然后使用一些命令来更改权限和所有者 当我试图把这一切都转移到我的新手机是当我遇到一些麻烦。这部新手机的价格是1加3。所以我把所有东西都复制了一遍,看起来唯一需要更改的是shell命令的包名。我改变了这

我正在尝试设置一个Tasker任务,该任务将删除时钟中的所有警报。我把它安装好了,在我的旧手机上工作得很好。我所做的是在没有警报的情况下复制警报数据库。当我想删除当前设置的报警时,Tasker运行一个shell命令来删除包含报警的当前数据库。然后Tasker运行shell命令复制空数据库并重命名它。然后使用一些命令来更改权限和所有者

当我试图把这一切都转移到我的新手机是当我遇到一些麻烦。这部新手机的价格是1加3。所以我把所有东西都复制了一遍,看起来唯一需要更改的是shell命令的包名。我改变了这一点,并尝试了Tasker任务。不走运。时钟应用程序冻结了。我恢复了备份中的所有内容。我决定做一些测试,看看问题出在哪里

我使用根浏览器应用程序复制报警数据库。当我试图打开复制的数据库时,收到以下错误消息:

打开数据库时出错。试图调用 虚拟方法“android.database.Cursor” android.database.sqlite.SQLiteDatabase.query(java.lang.String, java.lang.String[],java.lang.String,java.lang.String[], null上的“java.lang.String、java.lang.String、java.lang.String)” 对象引用


我仍然可以很好地打开原始数据库。但当我复制它的时候,似乎有什么事情发生了。任何见解都会大有帮助。谢谢

我理解的问题:
你说“当我复制一个数据库时,我得到了一个错误”,如果它在复制过程中,那么它是微不足道的,如果你不是这个意思,那么就这么说。继续。。。 您已经将sqlite数据库从某个地方复制到了某个地方(您不说在哪里,这可能很重要),并且您没有打开它的权限[可能是这样,然后说,授予所有权限](但您可以打开原始数据库)。想到文件权限(用户对文件的权限)。 这种方法可以在旧手机上使用,但现在在新手机上不起作用(API版本会很有用,这些方法已经改变了很多)。 错误与游标查询有关。 不要因为你的原始代码有效而认为它是完美的。需要更多的细节。
发布一些与错误有关的最小代码。我们不是想偷你的代码,我们无法回答你的问题,如果没有看到导致它倒塌的代码,我们怎么能做到?。还包括catlog。你永远不会知道,我们可能会给你一些有效的代码;O)

发布您的代码。sirNo代码。我刚刚使用应用程序根资源管理器复制了数据库。您正在复制自己的应用程序数据库吗?或者将其他数据库添加到你的应用程序中?但这与编程无关。你只是在使用android设备时遇到了问题。当然,我们不能投票结束有悬赏的问题。你在错误的网站上提出你的问题。您没有在Tasker中编写程序(尽管看起来是这样,但我保证您没有)。这是所有人都在说的。您的问题完全与最终用户功能有关,而不是应用程序的开发。为了获得更好的效果和更少的攻击,您需要使用“Android爱好者”堆栈交换。感谢您的合理回复。很明显,这不是解决我问题的合适论坛。我想我会在这一点上转移到其他地方。但我非常感谢你的努力。非常感谢。