2016-08-30 6 views
-4

時計のすべてのアラームを削除するTaskerタスクを設定しようとしています。私はセットアップして、私の古い携帯電話で素晴らしい仕事をしていた。私が行ったことは、アラームがないときにアラームデータベースのコピーを作成しました。現在設定されているアラームを削除する場合、Taskerはシェルコマンドを実行して、現在のデータベースをアラームで削除します。 Taskerは、シェルコマンドを実行して、空のデータベースをコピーして名前を変更します。次に、権限と所有者を変更するコマンド。Androidでデータベースのコピーを作成できません

これを私の新しい電話機に移動しようとしたときに、何か問題があったときです。新しい携帯電話は、それが価値あるもののためのOne Plus 3です。だから私はすべてのことをコピーして、変更が必要なように見えるのはシェルコマンドのパッケージ名だけだった。私はそれを変更してTaskerタスクを試しました。運がない。時計アプリが凍りついた私はバックアップからすべてを復元しました。問題がどこにあるかを確認するためにいくつかのテストを行うことにしました。

私はアラームデータベースをコピーするためにルートエクスプローラアプリを使用しました。コピーしたデータベースを開こうとすると、次のエラーメッセージが表示されます。

データベースを開くときにエラーが発生しました。仮想メソッド 'android.database.Cursor を呼び出そうとしています android.database.sqlite.SQLiteDatabase.query(String、 java.lang.String []、java.lang.String、java.lang.String [ ]、ヌル オブジェクト参照

私はまだうまく元のデータベースを開くことができます上の java.lang.Stringで、java.lang.Stringで、java.lang.Stringで)」。しかし、私はそれをコピーして何かが起きているように見えます。どんな洞察も大きな助けになるでしょう。ありがとう

+4

投稿コード – apelsoczi

+0

コードはありません。私は、アプリケーションのルートエクスプローラを使ってデータベースをコピーしていました。 – DasPete

+0

自分のアプリデータベースをコピーしていますか?あなたのアプリに何か他のデータベース? – dex

答えて

0

問題が分かりました:
あなたは「私はエラーが発生しました」と言っていますが、それがコピープロセスにあれば、それは意味がないとはっきりしません。移動... sqliteデータベースをどこかからどこかにコピーしました。どこに問題があるかも言わず、あなたはそれを開く権限がありません。すべての権限](ただし、元の権限を開くことができます)。ファイルのアクセス許可(ファイルに対するユーザーのアクセス許可)が気になります。 このメソッドは古い電話機で動作しますが、新しいバージョンでは機能しません(APIバージョンは便利ですが、これらのメソッドは多く変更されています)。 エラーはCursorクエリに関するものです。 see my answer about Cursor's, and cursor management 元のコードは機能していたので完璧だったと仮定しないでください。より詳細な情報が必要です。 エラーに関係するいくつかの最小限のコードを投稿してください。私たちはあなたのコードを盗み出そうとしているわけではありません。あなたの質問に答えることはできません。コードを見落とさずに、どうすればいいのですか?また、catlogが含まれています。あなたはわからない、私たちはあなたが動作するコードを与えるかもしれない; O)

+0

正当な回答ありがとうございます。これは私の問題のための適切なフォーラムではないことが明らかになった。私はこの時点で他の場所に移動するつもりだと思う。しかし、私はあなたが取り入れた努力に感謝します。ありがとう! – DasPete

関連する問題