2012-08-10 2 views
0

나는 지금 내가이 일을 해요, 또 다른 하나 개의 활동에서 비트 맵 또는 드로어 블을 통과하고 싶습니다 : 내가 putExtra를 사용하려고하면하나의 활동에서 다른 활동으로 비트 맵 또는 드로어 블을 전달하는 방법은 무엇입니까?

  EventPhoto photo = (EventPhoto) parent.getItemAtPosition(position); 

      BitmapDrawable test = (BitmapDrawable) photo.getDrawable(); 
      Bitmap bitmap = test.getBitmap(); 
      ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
      bitmap.compress(Bitmap.CompressFormat.PNG, 0, baos); 
      byte[] b = baos.toByteArray(); 

      Intent intent = new Intent(EventDetailActivity.this, ImageExpandActivity.class); 
      System.out.println(b.length); //B LENGTH = 908k 
      intent.putExtra("image",b); 
      startActivity(intent); 

내 문제는, 그가 아무것도 예외를 전송하지 않습니다되어, 하지만 안드로이드 응용 프로그램을 죽이고 응답하지 않는 이유는 무엇입니까? 작은 이미지를 전달할 때 모든 것이 작동하기 때문에 크기에 대해 생각하고 있습니다.

나는 다음과 같은 몇 가지 해결책을 찾고 있습니다. How to pass bitmap from one activity to another 하지만 putExtra를 사용하고 싶습니까?

감사

+0

하나의 가능성은 SD 카드 또는 무엇이든에 저장 한 후 의도로 파일의 경로를 전달하는 것입니다. 그러나 나는 또한 누군가가 그것을 피하는 방법에 대한 아이디어를 갖고 있기를 바라고있다. – Izkata

+0

강제 종료를 위해 LogCat에서 스택 추적을 게시하십시오. – kcoppock

+1

읽을 거리 : http://code.google.com/p/android/issues/detail?id=5878 – kcoppock

답변

0

음 등 푸시, 또는 오류 알림 서비스처럼, 거기에 다른 물건을 관리 할 수 ​​있습니다, 내가 어떤 다른 해결책을 찾을 수 없습니다 그래서이 해결할 : How to pass bitmap from one activity to another

내가 정적 속성으로 이전했다

같은 링크 :

public static Bitmap getBitmap(){ 
    return bitmap; 
} 
0

당신은 단지 일시적으로이 데이터를 필요로하는 경우 나 디스크 (파일, DB 등)로 이동하지 않습니다. 나는 너와 똑같은 방식으로 갈거야.

몇 가지 옵션이 있습니다. 앱에 맞는 것을 선택하십시오.

  • 코드에 따라 사용할 수있는 public static class. 이러한 종류의 도우미는 공유 환경 설정 또는 필요한 전역 정보와 같은 것을 관리하는 데 편리합니다.

  • 이 패턴은 이전 패턴과 매우 유사합니다. 주요 차이점은이 경우 클래스의 인스턴스가 하나만 있다는 것입니다 (정적 인 경우 인스턴스가 없으며 vars 및 메서드에 대한 액세스 만 있음). 이 패턴은 앱의 전체 라이프 사이클에 대한 참조 인스턴스가 필요할 때마다 유용합니다.

  • 연장 응용 프로그램. 이것은 다른 두 단계에서 더 나아갑니다. 전체 라이프 사이클에서 응용 프로그램 인스턴스를 사용할 수 있습니다. 일반적으로 당신이 Example

관련 문제