2011-11-13 2 views
1

나는 퀴즈 응용 프로그램과 관련하여과 함께 질문을 표시해야합니다. 나는 의 sqlite 데이터베이스에 질문을 저장했으며, 안드로이드에 표시했습니다. 하지만 sqlite db 이미지를 저장하고 표시하는 방법을 모릅니다. 많은 링크를 통해 원격 db에서 이미지를 표시하는 방법을 찾았습니다. 하지만 은 로컬 sqlite db에서 이미지를 표시해야합니다. 어떻게해야합니까? 제발 도와주세요.android에서 sqlite 데이터베이스의 이미지를 저장하고 검색하는 방법은 무엇입니까?

미리 감사드립니다.

+0

Welcome to Stackoverflow! 답변이 도움이된다면 투표하십시오. 응답으로 질문에 성공적으로 답변 한 경우 옆에있는 녹색 확인 표시를 클릭하여 대답을 수락하십시오. 또한 좋은 질문을 작성하는 방법에 대한 조언은 http://stackoverflow.com/questions/how-to-ask에서 확인하십시오 –

답변

2

일반적으로 이진 데이터를 데이터베이스에 저장하지 않습니다. 나쁜 형태로 간주되어 데이터가 디스크에 저장되는 방식으로 인해 데이터베이스에 대한 쿼리가 실제로 오래 걸릴 수 있습니다. 당신이해야 할 일은 데이터베이스의 이미지 파일 경로를 저장하고 이미지를 sdcard에 저장하는 것입니다.

엄청난 양의 코드를 작성하지 않아도 좋은 예입니다. 먼저 다음 SQL 호출을 사용하여 이미지를 저장할 테이블을 만듭니다.

CREATE TABLE images (_id INTEGER PRIMARY KEY AUTOICREMENT, file_path TEXT, name TEXT); 

이미지를 삽입 할 때는 두 가지 작업을 수행해야합니다. 먼저 이미지를 SD 카드에 씁니다. 이를 수행하려면 여기의 지침을 따르십시오. 당신이 그것을 기입하고 그것을 위해 파일 이름을 입수 한 후에는 너무 같은 SQL 쿼리를 수행 실제로 이미지를 표시해야 할 때마다

INSERT INTO images (file_path, name) VALUES ("your file path", "name of image"); 

, 당신은 단지에서 FILE_PATH에 의해 지정된 파일을 읽을 당신의 sdcard.

+2

많은 이미지가 없거나 작을 경우 추가 할 것입니다. sdcard 대신에 로컬에 저장합니다. 물건이 많거나 동적으로 업데이트하는 경우이 작업을 수행하지 마십시오. 당신이 차지하는 공간이 상대적으로 작다면, 로컬에 저장하는 것은 sdcard 데이터가 갑자기 사라 졌거나 sdcard를 사용할 수 없다면 (둘 다 가능할 때) 어떤 일이 발생할지 걱정할 필요가 없다는 것을 의미합니다. –

+0

위대한 포인트 @KevinGalligan –

0

실제로 질문에 대답하는 정신으로 DB에 이미지를 쓰고 싶다면 BLOB 필드를 추가하고 그 데이터를 저장하면되지만 그럴 이유가 없습니다. 그냥 따라 가십시오. 커티스 누스 바움 (Kurtis Nusbaum)은 이미지를 db 행의 참조가있는 파일로 저장합니다.

관련 문제