2011-01-10 2 views
1

방금 ​​Android App 용 NotepadV1-3 튜토리얼을 끝 냈고 재미있는 내 인벤토리 앱을 만들려고했습니다. 기본적으로 이름 목록이 있습니다. "DVD"또는 "식료품 점"과 같은)를 클릭하면 해당 이름과 관련된 다른 특정 목록이 나타납니다. 그러나 SQLiteDatabase.insert (..) 메서드를 사용하면 ContentValue는 인수로 "String, String"만 가져올 수 있습니다. 따라서 데이터베이스에 연결된 문자열 목록을 입력하는 방법을 알 수 없습니다 특정 키. 이 문제를 해결하는 방법을 연구하는 데 어려움을 겪고 있습니다. SQL에 익숙하지 않은 분입니다.시작하기 android : 문자열을리스트에 매핑하는 법

관련된 문자열 목록과 함께 키를 저장하는 가장 좋은 방법은 무엇입니까?

모든 의견과 제안을 부탁드립니다.

안드로이드 newb : [

답변

0

당신이 할 수있는 가장 좋은 것은 입력에 "문자열의 문자열"로 목록을 당신을 필요로하지 않는 데이터베이스 설계를 확인하는 것입니다. 당신은 목록 (id와 listName)을 가진 테이블과 내용 (id와 contentName)을 가진 또 다른 테이블과 마지막으로 두 테이블을 연결하는 테이블 (tableId와 contentName)을 가질 수 있습니다.

정말로 문자열 문자열을 저장하려면 한 문자열로 직렬화 한 다음 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. 두 테이블을 연결하는 방법을 모르겠다. 특히 각 목록에 대해 새 테이블을 만들지 않으면 다른 목록의 요소 수가 달라질 때 등. – Jin

+0

2 개의 테이블로 빠른 sollution을위한 예제 추가 참조 :) – Nanne