본문

[2017.10.04] 35. Android 그림 Memo 프로젝트 [프로젝트 합치기]

도입

이론적으로 2개의 프로젝트를 합치는 것은 Java는 C보다 상대적으로 쉬운 것 같다. (사실 그렇지 않았다.)

이유는 객체 단위로 설계를 했다면 필요한 객체를 가져다가 합치면되기 때문이다. 하지만 역시 그렇지 않았다..



Android 그림 Memo 프로젝트의 데이터 흐름

Memo에 대한 정보는 DB를 통해 관리한다. Memo의 정보에는 그림 이미지 캡쳐 파일에 대한 Path를 포함한다.

해당 파일 Path를 통해 그림 파일은 저장하고 로드해 사용한다.


고민해봐야할 점

1개의 DB에 파일까지 저장하고 로드해 사용하는 것이 효율적인지는 찾아봐야겠다.



문제점 및 해결

문제는 결과에 상관없이 resultCode가 RESULT_CANCELED를 호출는 문제가 있었다.

StartActivityForResult를 통해 Activity를 호출한 후 결과를 ResultCode로 받았다.

하지만 결과에 따라 Result_OK와 Result_CANCELED가 호출되어야 하는데 항상 RESULT_CANCELED가 호출는 문제가 있었다.

[움짤 1]

[움짤 2]

움짤1과 움짤2를 비교해 보면 CaptureCanvas라는 그린 그림을 캡쳐하는 메소드의 호출이 원인이라는 것을 파악했다.

(CaptureCanvas 철자도 틀렸다.)


메소드를 확인해보니 RESULT_OK를 보내기 전에 메소드에서 Activity를 종료 시켰기 때문이다..

(원인이 다른 곳에 있는지 알고 하루 종일 고민했었다... 계속 1개 문제 파고드니 문제를 어렵게 생각하고 원인 파악이 산으로 갔다.....) 

1
2
3
4
5
6
7
public void captrueCanvas(String fileName) {
    // ...
    // 캡쳐 로직
    // ...
 
       finish();
}
cs



스크린 샷



#안드로이드 그림 메모 #Android 그림 Memo #안드로이드 프로젝트 #Android 프로젝트

공유

댓글