본문 바로가기

공부/과제

2019년 4월 29일 중간고사과제(앱인벤터 그림판 앱 만들기), 느낀점

중간고사 때 시험을 치는 대신 과제를 제출하기로 교수님께서 결정하셨다.

과제는 이때까지 배운것을 가지고 앱을 하나 만들어보는 것이었다.


나는 고민끝에 수업시간 때 만들었던 간단한 그림판 앱에 기능을 더하여 좀더 그럴듯한 그림판 앱을 만들어보기로 했다.

먼저 개발 계획서부터 만들었다.(교수님에게 개발 계획서 제출 후 통과되면 이대로 만드는걸로 함.)


#개발 계획서 만들기


개발계획서는 그리 오래걸리지 않았다. 내가 미리 생각해둔것을 그대로 적기만 하면 됬으니...



위 5장의 개발 계획서는 교수님에게 바로 통과가 됬다.

이제 앱을 만들기만 하면 된다.


#앱 만들기


앱을 만들기전 참고할만한 곳이 있는지 알아보기 시작했다.

마침 공교롭게도 내가 생각한 인터페이스를 가지고 이미 만들어서 블로그에 올리신 분이 있었다.

내가 직접 머리를 짜내서 만들수는 있었지만, 시험기간이라서 딴 공부를 재쳐두고 이것에만 올인하기에는

나는 미련한 짓이라고 생각했고, 이미 블로그에 올리신 그분의 블럭을 참고해서(사실상 뺏겨서) 만들었다.


https://blog.naver.com/khrireg/220720131475

IT교육을 위해서 블로그에 글을 올리셨다.

여기다가 똑같이 블럭을 올리면 양심이 찔리기에 링크로 대체한다.


나는 이것을 참고해서 블럭을 완성했고, 위치센서를 이용해 내가 있는 위도,경도를 파일 이름으로 하는 기능을 추가하여

앱을 완성해냈다.


이것이 내가 추가한 부분이다.


#오류의 발생과 해결


하지만 어떤 이유인지 앱이 제대로 실행되지 않았고, 

Error 908이라는 에러코드와 함께 그림이 정상적으로 저장되지 않았다.

이 에러코드를 해석해보면

Error 908: 외부_저장소_쓰기 권한이 거부되었습니다. 설정앱에서 허용해주십시오.

이었고, 나는 설정앱으로 들어가 수동으로 권한을 허용시켜주었다.

(처음에 설정앱에 들어갔을때 저장공간 권한이 허용되어있지 않았다.)

나중에 스크린샷을 한거라서 위치정보에 대한 권한은 없다. 위치정보 권한도 수동으로 허용해주었다.

하지만 이렇게 했는데도 정상적으로 저장되지 않았고, 나는 그 이유를 찾기위해서 구글 앱인벤터 그룹에 들어가 관련 에러 코드를 쳐보았지만, 나와 비슷한 상황을 겪은 사람들만 찾을 수 있었고, 이에대한 해답은 알 수가 없었다.


그러던와중 나는 블루스택이라는 컴퓨터에서 실행가능한 안드로이드 에뮬레이터를 이용해 이 앱을 실행시켰고,

정상적으로 저장되는 것을 알았다.


하지만, 이것을 교수님과 학생들 앞에서 발표를 해야하는데 이러한 예외사항이 생기면 별로 좋지않을것같은

생각이 들었고, 이를 해결하기 위해 각종 자료를 만들어 교수님에게 질문을 하였다.

오류에 대해 묻기위해 준비한 실행되는 과정을 스크린샷한 사진과 앱의 블럭 그리고 오류코드에 대한 각종 자료들.


교수님과 30여분간의 이야기 끝에 원인을 찾았는데, 바로 내가 무리하게 교수님이 제시한 기준을 맞추기 위해 집어넣었던 '위치좌표를 파일 이름으로 설정하기 였던것이다.' 블루스택에서 이것이 정상적으로 실행되었던 이유는 블루스택은

휴대폰에 기본적으로 내장된 위치센서가 없었기때문에 정상적으로 저장이 된것이었다.


내가 한 발상자체는 나쁘지는 않았지만, 블럭형 프로그래밍 언어의 한계로 내가 모든것을 일일히 지정해주지 못해 일어난

일이었다. 혹은 블럭형 프로그래밍 언어로도 지정해줄 수는 있으나, 나의 실력이 부족했거나...


나는 위치센서를 제거하고, 어떤것을 대신해서 넣을까.. 하고 고민을 하던 찰나에 공유기능이 떠올랐고, 이것으로 교수님이 제시한 기준을 맞추고, 파일이름은 사용자가 직접 설정할 수 있게 고쳤다.



  공유기능을 이렇게 추가하였다.

  사용자가 미리 설정한 파일이름으로 저장되게 블럭을 만들어두었다.


수정후 인터페이스이다.


이렇게 하자, 앱은 정상적으로 작동하기 시작했고, 나는 이것으로 앱을 완성시켰다.

그 뒤에 나는 발표를 위해 ppt를 만들었고, 그 다음날 수업시간에 발표를 하면서 나에게 들어오는 질문을 잘 받아치면서,

무사히 과제를 모두 끝낼 수 있었다.


#앱 개발과 발표를 하고나서 느낀점


온전히 내힘으로 앱을 만들지 않고, 다른 사람의 것을 참고하여 만들었다는 것(사실 아쉽기는 하지만 후회는 하지 않는다.)과 나보다 훨씬 더 고품질의 앱과 ppt를 준비한 사람들이 있다는 걸(이건 쪼금 더 열심히 만들껄.. 하며 후회했다.) 내가 발표한뒤에 알았다는 것이다.


결과적으로 매우 많은걸 알아가는 과제였다. 대학교에 처음와서 학생들과 교수님이 보는 앞에서 발표를 하고, 내가 그

발표준비를 직접하면서 새삼스래 내가 정말 대학생이 되었구나.. 라는 생각 또한 들었다.


다음 발표가 있다면 아쉬운점이 없도록 조금더 노력을 해서 과제를 완성해나가야겠다고 다짐한다.



<첨부. ppt자료 12장>