팀 프로젝트에서 앱 개발 업무를 맡게 되어 작업한 것들을 정리하고자 한다.완성된 파일은 주석을 많이 삭제할 것 같고, 나중에 또 작업하게 된다면 찾을 수 있도록...대략적인 UI는 아래와 같다.FigmaT전화에 추가 기능을 넣는 것을 생각하고 있기 때문에 UI copy
구현할 내용 MainActivity에서의 하단바 생성 페이지를 옮겨도 하단바 유지 하단바 강조 색상 변경 첫 시작 화면을 가장 왼쪽이 아닌 가운데 메뉴로 지정 구성은 MainActivity DialFragment
구현할 내용다이얼 버튼 생성전화번호 형식으로 EditText 연동MainActivity 아래 DialFragment로 생성하였다.전체 화면은 LinearLayout으로 감쌌다.처음에는 TableLayout을 사용했지만, 아래 버튼들이나 다른 구성들과 레이아웃 맞추기가
구현할 내용안드로이드 최신 버전에서 외부저장소 접근 권한 얻기파일명 지정하여 원하는 위치에 저장제작하는 앱의 구조상 버튼을 눌러 녹음하는 것이 아닌, 페이지 이동 후 6초 후에 자동으로 녹음이 시작되게 하였다.MediaStore을 사용하여 오디오 파일을 생성 (audi
구현할 내용flask 로컬 서버와 통신 (test 용)FileUploadUtils 클래스를 불러온다 (백그라운드 스레드를 이용하기 위함)Handler를 이용하여, 녹음 완료 화면은 일정 시간 이후 종료하고 main으로 돌아간다.activity가 아닌 일반 class서버
구현할 내용Azure Blob Storage에 녹음된 .m4a audio file 전송, 저장하기저장 완료되었다는 결과 받아오기https://velog.io/@hongju904/%EB%A1%9C%EC%BB%AC-%EC%84%9C%EB%B2%84-%ED%86%B
구현할 내용Storage에 파일이 생길 때까지 요청 반복하기 (pooling)모델이 결과를 내놓을 때까지 기다리고, 받아오기 위함Storage에 (json)파일이 있을 경우 정보를 얻어오기pooling하는 이유 ::서버에서 클라이언트를 찾아 정보를 전달하려면 ip 정보
구현할 내용앱 내 버튼 클릭 시 알림 전송알림에서 action 수행 시 특정 화면 띄우기원하는 위치에서 showNoti()로 불러오면 OK
구현할 내용서버로부터 결과값을 받으면 알림 띄우기알림창 action에서 파일 삭제 진행 기능class로 구현하는 이유 ::activity가 아닌 class에서 호출하기 위함= activity에 종속되지 않기 위해서Activity가 아닌 class로 생성무사히 json
구현할 내용HTTP 통신으로 받은 데이터를 Notification에 전달해당 정보로 내부저장소의 파일 삭제9\. Class로 Notification 설정 에서 추가, 수정CallFunctionTask에서 파일을 저장하기 전 SAVE 정보(json 내부의 데이터)를 읽도
구현할 내용서버에서 받는 json 파일 내부의 결과로 앱 내부저장소 파일 삭제Azure Storage에 pooling하기 에서 수정CallFunctionTask의 onPostExecute 수정
구현할 내용기기 외장공간에 저장된 녹음 파일 (\*.m4a) 불러오기ListView 형식으로 목록 나타내기리스트를 구현하는 xml을 생성아래는 예시일 뿐, 자유롭게 만들면 된다CallListActivity에서 생성된 UI자잘한 코드는 모두 생략리스트뷰와 xml UI를
구현할 내용json으로 저장한 모델 결과를 페이지에 나타낸다7\. Azure Storage에 pooling하기Azure Storage에 pooling하기에서 받아온 정보로 json 파일을 자동 생성기본적인 xml은 파일 목록을 ListView로 생성하기와 동일이전에 만
구현할 내용13\. json 데이터로 ListView 생성하기에서 개별 ListView를 클릭하면 생성되는 페이지 구현json 파일 안에 있는 정보로 ProgressBar 생성커스텀 ProgressBar: 둥근 모서리, 그라데이션res 폴더의 drawable에 xml
구현할 내용시연을 위해 미리 준비된 .m4a 파일을 서버에 업로드서버 연결 코드는 7. Azure Storage에 pooling하기 사용UI는 3. 다이얼 구현 사용 (통화 버튼 = 업로드 버튼)DialFragmet와 동일한 구조로 사용했으므로, Fragment로 구현
앱 개발을 마치며헤맸던 점참고하는 자료 대부분이 오디오 파일이 아닌 이미지 파일을 기준으로 설명되어 있어, MediaPlayer와 MediaStore를 찾고 적용하는 데까지 시간이 오래 소요되었다.녹음 파일이 만들어지면 앱 바깥에서도 찾아볼 수 있어야 했기 때문에 해당