2011-01-10 5 views
1

Android App用のNotepadV1-3チュートリアルを終えたばかりで、楽しい自分のインベントリアプリを作成しようと考えていましたが、基本的には名前のリスト「DVD」または「食料品」など)をクリックすると、その名前に関連付けられた別の特定のリストが表示されます。しかし、SQLiteDatabase.insert(..)メソッドでは、ContentValueは引数として "String、String"をとりうるだけであり、データベースにどのように関連する文字列のリストを入力するのか分かりません特定のキー私はSQLに精通していないので、これを解決する方法を研究するのが難しいです。はじめにandroid:文字列をリストにマップする方法

関連付けられた文字列のリストと共にキーを保存するにはどうすればよいでしょうか?

何か指針と提案がありがとうございます!

アンドロイド初心者くさい:あなたはできる[

答えて

0

最善のことは、「文字列の文字列」のように入力し、リストをあなたを必要としないデータベース・デザインを作ることです。リスト(idとlistName)と内容(idとcontentName)を持つ別のテーブルと、最後に2つのテーブル(tableIdとcontentName)を結ぶテーブルがあります。

本当にその文字列を格納したい場合は、それを1つの文字列にシリアル化してから、dbから読み込んだときに文字列を再構築できます。しかし、これはお勧めしません。あなたはで食料品のリストのすべての項目を見つけることができます

Lists: 
listId listName 
1  DVD's 
2  Grocery 

Items 
itemId itemName listId 
1  film1  1 
2  film2  1 
3  sugar  2 
4  milk  2 

Table 1 "lists": listId, listName 
Table 2 "items": itemId, itemName, listId 

は、例えば(単純な)データベースの

SELECT i.itemName 
FROM lists l 
JOIN items i ON l.listId = i.listId 
WHERE l.listName='Grocery' 
+0

うーん、私は推測するトークン化/ストリングを再構築することは私のバックアップ計画になるだろう。なぜなら、私は今のところ効率のために行くつもりはないからだ。ちょうど楽しみのためにそれをやって、Androidのフレームワークwor ks。 2つのテーブルをリンクする方法がわかりません。特に、リストごとに新しいテーブルを作成しない限り、異なるリストの要素数などが異なる場合は特にそうです。 – Jin

+0

2つのテーブルを使った簡単な解決法の例を見てください:) – Nanne

関連する問題