2013-02-10 4 views
0

그냥 연결 목록에 이미지를 넣을 수있는 방법을 물어보고 싶습니까? 왜냐하면 내가 지금까지 보았던 것에 대한 기초는 문자열 char이 linkedlist에 저장하는 데 사용되는 대부분의 객체라는 것입니다. 만약 내가 연결된리스트에 Image를 넣는 방법에 대한 구문을 제공 할 수 있다면, 나는 단지 링크드리스트에 이미지를 넣을 수 있는지 궁금하다. 나는 현재 완성 된 버튼을 클릭 한 후 "A"와 같은 키보드를 사용하여 단어를 입력하는 응용 프로그램을 만들기 때문에 문자 A의 이미지가 다음 활동에 표시됩니다.이미지를 연결된 목록에 넣는 방법?

+0

Bitmap 객체를 통해 LinkedList에 Image를 배치 할 수는 있지만 실제로는 원하지 않습니다. (그것은 많은 메모리를 차지합니다) 대신 나중에로드 할 수 있도록 이미지가 저장된 위치에 대한 연결 목록 저장소 참조를 원할 수 있습니다. 그런 다음 경로 또는 자원 ID를 다음 활동으로 보내고 거기에서 이미지를로드하십시오. –

+0

솔직히 말해서 솔직히 말해서 나는 초보자이기 때문에 링크드리스트를 사용하는 데있어 완전한 초보자가 될 것입니다. 그래서 저는 비트 맵 객체를 통해 LinkedList 대신 LinkedList를 사용하는 방법을 묻습니다. –

+0

안녕하세요, 알렌, 조금 더 자세한 정보가 필요합니다. 사진이 저장 되었습니까? 예를 들어 res 폴더/자산 폴더/sdcard 또는 온라인? 올바른 이미지 또는 이미지 참조를 찾기 위해 연결된 목록을 어떻게 사용할 계획입니까? –

답변

1

자바에서는 이렇게 보입니다.

List<Image> images = new LinkedList<Image>(); 나는 다음과 같은 비트 맵을 사용 안드로이드에서

,

List<Bitmap> images = new LinkedList<Bitmap>(); 

나는 현재 응용 프로그램을 만드는 오전 위치를 입력 완료 버튼에게의 이미지를 클릭 한 후 "A"와 같은 키보드를 사용하여 단어를 편지 A는 다음 활동에 나타납니다.

어딘가에서 이미지를 저장하고있는 것 같습니다. 이 경우 비트 맵을 저장하는 대신 많은 메모리를 사용할 수 있기 때문에 비트 맵 자체 대신 이미지 경로를 사용할 수 있습니다. HashMap을 사용하면 여기에서 좋은 선택이 될 것입니다.

HashMap< String, String> s = new HashMap<String, String>(); 

해시 맵에는 키와 값이 있습니다.

s.put("A", "filepath to image which has a"); 

이제 다음과 같은 키 값을 사용하여 해당 파일의 경로를 가져올 수 있습니다.

s.get("A"); 
+0

집에 돌아 오면 나중에이 코드를 사용해 주셔서 고맙습니다. –

+0

답장을 보내 주셔서 감사합니다. 비트 맵 대신 해시 맵 어째서 어떻게 HashMap이 다시 작동하는지에 대한 연구를 할 것입니다. –

+0

JJPA가 귀하의 질문에 더 잘 응답 한 것처럼 보였습니다. 그는 연결 목록 대신 HashMap을 제안했습니다.이 정보는 키 (검색어)와 데이터 (이미지 참조)의 2 비트 정보를 보유하고 있기 때문에 "귀하의 이미지는 리소스 폴더 "귀하의 이미지 경로를 실제로 정수"R.drawable. int로 저장됩니다. " –

0

당신이 LinkedList<Bitmap>를 사용하는이, 내가 대신 LinkedList의의 해시 테이블을보고 제안 귀하의 추가 정보를 보면이 같은 searcheable 검색어를 저장할 수있는 그런 식으로 메모리

+0

빠른 답장을 보내 주셔서 감사합니다. 메모리를 많이 낭비 할 수 있다고 말한 후에 현재 개발중인 앱에서 무엇을 사용해야합니까? –

+0

http://developer.android.com/reference/android/util/LruCache.html –

1

을 많이 낭비 할 수 있음을 염두에 두어야 할 수 있습니다 잘 이미지 참조.

이미지가 리소스 드로어 블 폴더에 저장되어 있기 때문에 이미지 경로는 실제로 "int"R.drawable ... int이고, Hashtables는이 "Integer"객체 버전이 필요합니다.

Hashtable<String, Integer> images = new Hashtable<String, Integer>(); 
    images.put("A",R.drawable.A);  
    String search = "A"; 
    if(images.containsKey(search)){ 
     ImageView img = new ImageView(context); 
     img.setImageResource(images.get("A")); 
    } 

훨씬 간단하게 검색 할 수있는 위의 빠르고 간단한 예제입니다. 자세한 내용은 Hashtable을 실험하고 살펴보십시오.

+0

과 같은 일종의 메모리 캐싱을 사용하십시오. 샘플 코드를 제공해 주셔서 감사 드리며 나중에이 코드를 시도해보고 Hashtable에 대한 자세한 정보를 당신은 말했다 –

+0

안녕하세요 mr.martin ita 다시 처음으로 나를 도와 주셔서 감사합니다 지난 번에 나는 이미지를 표시 할 수 있지만 내 문제는 지금 같은 이미지를 다른 표시하고있다 중첩 된 경우 사용했지만 노력하지 않았다. –

관련 문제