奇妙なカーソルの動作

水没

私は現在、データベース/ ContentProviderを使用して、ネットワークから取得され、データベースに定期的にローカルに保存される特定の位置データを提供するアプリケーションを開発しています。

データベースがアプリケーションで正しく作成されていることを確認しました。SQLブラウザーで表示するためにアプリのローカルデータベースのコピーをSDカードにエクスポートすることで、テーブルにデータが入力されます。したがって、存在しないデータは存在しません。ここでの問題。

奇妙な振る舞いは、私のデバッグプロセスのいくつかのスクリーンショットを通しておそらくよりよく視覚化されます:

そのため、最初にクエリを実行したとき、デバイスから取得したデータベースには行データが含まCursorれているため、SELECT * FROM TABLE_NAMEステートメントが値を返す必要があることを確認したにもかかわらず、すべてのオブジェクトが行数に対して-1を返していましたデバッガーの手順を次に示します。

ここに画像の説明を入力してください

カーソルが最初に返されるとき、mCountは-1として表示されることに注意してください。

好奇心から、cursor.moveToFirst();を追加しました。電話して、そのステップの後のスクリーンショットを次に示します。

ここに画像の説明を入力してください

カーソル数が-1から3に変更されたことに注意してください。これは、正しい行数に対応します(アプリケーションは3大陸atmしか考慮しないため)。残念ながら、この追加された不要な行はまだ私の問題を解決しません。CursorAdapter.bindView()とCursorAdapter.newView()は、結果のカーソルでまだ呼び出されないためです。

I'm confused as to what could be causing this issue, and how to fix it? If anyone could give any insight into what the problem could be, please let me know. Also, if any additional code is needed, such as the SQL create statements, etc let me know - however, as I've already mentioned the database is created fine and queries performed on the exported db copy outside of the Android application work just fine...

One last thing, the application is built for API levels 14+.

CodeWarrior

If you have an SQL query that are reading from the database you would want to delay reading that data until you are certain that you will use it.

したがって、呼び出すrawQueryと、Cursorオブジェクトへの参照を取得します。しかし、まだ何も読まれていません。これが何をするかmoveToFirstです。これは、このSQLクエリの実行に真剣に取り組んでおり、結果が必要であることをカーソルに伝える最初のことです。

ただし、何も使用していrawQueryないため、で結果をフェッチしようとする前にデータベースに渡されますmoveToFirst

これがあなたの質問に答えることを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Intellij 14の奇妙なエディター/カーソルの動作

分類Dev

奇妙なフクロウのカルーセルの動作

分類Dev

smbclientの使用中の奇妙なコンソールの動作

分類Dev

カスタムArrayListアダプターとカーソルのAndroidの奇妙な動作

分類Dev

ターミナルでの奇妙なANSIカラーの動作

分類Dev

MySQLの奇妙なソート動作

分類Dev

Linuxソートでの奇妙な動作

分類Dev

奇妙なデフォルトのソート動作

分類Dev

奇妙なデフォルトのソート動作

分類Dev

PHPカールの奇妙な動作PUTとPOST

分類Dev

64ビットカーネルの奇妙な動作

分類Dev

奇妙なMySQLワイルドカードの動作

分類Dev

Linux bash:ターミナルカーソル位置を取得した後の奇妙な動作

分類Dev

ループのcoffeescriptの奇妙な動作

分類Dev

奇妙な文字列プールの動作

分類Dev

goルーチンの奇妙な動作

分類Dev

javascriptでの奇妙なループ動作

分類Dev

BashForループでの奇妙な動作

分類Dev

Laravelルートの奇妙な動作

分類Dev

Javascriptwhileループの奇妙な動作

分類Dev

C ++ forループの奇妙な動作

分類Dev

Javascriptforループの奇妙な動作

分類Dev

奇妙なforループの動作

分類Dev

カスタム文字列ソート比較関数の奇妙な動作

分類Dev

奇妙な表示の問題:奇妙な動作と以前のカーネルにロールバックできない

分類Dev

奇妙な表示の問題:奇妙な動作と以前のカーネルにロールバックできない

分類Dev

bashターミナル/コンソールの奇妙な重複動作

分類Dev

Cカーネルでの文字列リテラルの奇妙な動作

分類Dev

WPFの奇妙な動作でのカレンダーコントロール

Related 関連記事

  1. 1

    Intellij 14の奇妙なエディター/カーソルの動作

  2. 2

    奇妙なフクロウのカルーセルの動作

  3. 3

    smbclientの使用中の奇妙なコンソールの動作

  4. 4

    カスタムArrayListアダプターとカーソルのAndroidの奇妙な動作

  5. 5

    ターミナルでの奇妙なANSIカラーの動作

  6. 6

    MySQLの奇妙なソート動作

  7. 7

    Linuxソートでの奇妙な動作

  8. 8

    奇妙なデフォルトのソート動作

  9. 9

    奇妙なデフォルトのソート動作

  10. 10

    PHPカールの奇妙な動作PUTとPOST

  11. 11

    64ビットカーネルの奇妙な動作

  12. 12

    奇妙なMySQLワイルドカードの動作

  13. 13

    Linux bash:ターミナルカーソル位置を取得した後の奇妙な動作

  14. 14

    ループのcoffeescriptの奇妙な動作

  15. 15

    奇妙な文字列プールの動作

  16. 16

    goルーチンの奇妙な動作

  17. 17

    javascriptでの奇妙なループ動作

  18. 18

    BashForループでの奇妙な動作

  19. 19

    Laravelルートの奇妙な動作

  20. 20

    Javascriptwhileループの奇妙な動作

  21. 21

    C ++ forループの奇妙な動作

  22. 22

    Javascriptforループの奇妙な動作

  23. 23

    奇妙なforループの動作

  24. 24

    カスタム文字列ソート比較関数の奇妙な動作

  25. 25

    奇妙な表示の問題:奇妙な動作と以前のカーネルにロールバックできない

  26. 26

    奇妙な表示の問題:奇妙な動作と以前のカーネルにロールバックできない

  27. 27

    bashターミナル/コンソールの奇妙な重複動作

  28. 28

    Cカーネルでの文字列リテラルの奇妙な動作

  29. 29

    WPFの奇妙な動作でのカレンダーコントロール

ホットタグ

アーカイブ