2013-07-11 3 views
0

하나의 활동에서 다른 활동으로 일부 이미지 뷰를 보내려고했는데 이것과 비슷한 다른 질문을 보았습니다. 하나의 활동에서 다른 활동으로 이미지 뷰의 ID를 보내는 것과 관련된 제안을 보았습니다. 다른,하지만 내 경우에는 차이가 내가 하나 이상의 imageviews 보내고 또한 이러한 imageviews 더 큰 imageview, 에서 dyamically 만들어졌습니다. 즉 Bitmap resized=Bitmap.createBitmap(bmp, 0, 0, width, height); 같은 방식으로 큰 이미지 뷰에서 12 작은 imageviews 만들기 오전 그들 모두를 결합하면 원래의 더 큰 이미지 뷰인 을 다시 돌려주고 다음 활동으로 모두 전달하려고합니다. 따라서 나는 내가 따르고있는 절차에 대한 몇 가지 제안을 원하고 어떻게 더 좋은 방법으로 그것을 할 수 있을까? 감사합니다.하나의 활동에서 다른 활동으로 이미지 뷰어 보내기

  • EDIT :는 I 카메라를 사용하여 사진을 촬영하고 그때 열두 작은 부분으로이 이미지 뷰를 나눌 먼저 어떤 이미지 뷰에 assiging 동적 12 imageviews에 할당하고 각 표시하고 다음 활동에서 분명히 나타납니다.
+0

ArrayList를 만들어 다른 정적 클래스에 넣을 수 있습니다. 어디에서든 응용 프로그램의 어디에서나 액세스 할 수 있습니다. –

+0

왜 한 액티비티에서 다른 액티비티로 이미지보기를 보내시겠습니까? 나는 어떤 종류의 응용 프로그램을 만들려고하는지 전혀 모르지만, 정말 나쁜 생각처럼 들립니다. 다음 활동에서 새 이미지 뷰를 만들고 데이터 (예 : 파일 이름)를 전달하여 올바른 이미지를 이미지 뷰에로드하는 것이 좋습니다. –

+0

@PeterFortuin : 편집을보고, 내가하고있는 일을 이해하는 데 도움이되기를 바랍니다. – nobalG

답변

1

또한 유사한 사례를 구현하는 데 필요한.

먼저 인텐트를 통해 큰 비트 맵 객체를 보낼 수 없습니다. Intents는 1MB와 같이 용량이 적기 때문에 응용 프로그램이 충돌합니다.

의도 엑스트라을 통해 이미지 파일 경로를 1-보내기 :

당신은 다음과 같은 옵션이 있습니다.

2 이미지 파일 경로를 정적 필드에 저장하고 다른 활동에서 읽습니다.

3 - 비트 맵을 파일에 저장하고 옵션 (1,2)을 사용하여 경로를 보내고 새 활동에서 이미지 파일을 삭제하십시오.

4 비트 맵의 ​​정적 arraylist에 이미지 비트 맵을 넣은 다음 다른 활동에서이를 읽습니다.

5 이미지 파일 이름을 문자열의 정적 arraylist에 넣고 다른 활동에서 읽습니다.

기본적으로 새로운 활동으로 모두 다시 만들거나 정적 필드에 저장 한 다음 나중에 읽어야합니다.

과 같은 더 복잡한 솔루션을 구현할 수 있습니다. 애플리케이션에 sdcard 쓰기 권한이있는 경우 정적 arraylist를 사용하여 메모리에 저장하십시오.

내가하는 일은 PictureCallback에서 이미지 데이터를 가져올 때이를 sdcard에 저장하고 다른 활동으로 경로를 반환하는 것입니다.

+0

답변을 주셔서 감사합니다.하지만 질문에 대한 편집과 관련하여 저에게 묻는 질문에 대해서는 개념을 명확하게 이해하는 데 도움이 될 것입니다. .. :) – nobalG

1

당신은 지금까지 직접 비트 맵을 보내지 않을 안 - 바로 다음 작업에 URI 또는 ​​URL이나 파일 이름을 전달하고 거기에서로드 ...

+0

비트 맵을 '의도'로 전달하는 것은 왜 잘못된가요? –

+0

일부 outOfMemory 오류가 발생할 수 있습니다. – longilong

+0

@longilong : 네, 자바 바인더에 대해 뭔가를 말하면서 오류가 발생했습니다. – nobalG

관련 문제