いくつかのデータを含む sqlite データベースを取得しましたが、このブログ ( http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ ) を読みました。テーブルには_idという行が必要なので、Androidはフィールドをバインドできます(それが何を意味するのかわかりません)が、データベースが少し複雑であるため、これはかなり面倒です。データベースを本当に変更する必要があるのか 、それとも別の方法があるのか 疑問に思っていましたこの問題を解決します。
2 に答える
1
CursorAdapter
、またはそのサブクラスのいずれかを使用している場合は、整数列、できれば一意の列Cursor
が必要です。_id
選択肢は次のとおりです。
_id
テーブルに(たとえば、列として)追加AUTOINCREMENT
し、それをクエリに含めます。SQLite の など
ROWID
、クエリ内のテーブルの列の名前を変更します (たとえばSELECT ROWID AS _id, ... FROM table WHERE ...
、Cursor
_id
(例:SELECT _id=0, ... FROM table WHERE ...
)に対して固定値を返してみてください。CursorAdapter
またはそのサブクラスを使用しないでください
于 2013-03-25T19:59:30.047 に答える
0
いいえ、間違いなくデータベースを使い続けることができます。
「_id」フィールドに関しては、多くのアダプターでアイテムを配置する正しい場所 (たとえば、リストやスピナー) を見つけるために使用されますが、それがない場合の回避策もあり、単にあなたのデータにアクセスします。
欠落している_idの一般的な解決策は、行のインデックスの名前を変更することです(存在し、「_id」と呼ばれていない場合)。次のようなクエリを使用します。
SELECT index AS _id IN table;
お役に立てれば。
于 2013-03-25T20:01:59.337 に答える