티스토리 뷰

 

끄적끄적 - 일기로 소통하는 SNS - Google Play 앱

일기를 쓰며 소통이 가능합니다.

play.google.com

이번에는 디자인과 기능을 좀 신경 써서 운영도 하고 포트폴리오에도 적을만한 앱을 생각하다가 일기 쓰는 것을 만들었습니다.

일기를 쓰고 공개, 비공개 설정이 가능하고 유튜브처럼 좋아요와 구독이 가능하며 댓글과 편지 기능이 있습니다.

스플래시

앱을 실행하면 눈 깜짝할 새에 스쳐가는 스플래시 화면입니다.

이 화면에서 내부저장소에 이메일과 비밀번호가 저장되어 있는지 체크하고 없으면 로그인 화면으로 가고 있으면 로그인을 시도합니다.

로그인이 정상적으로 되면 메인화면으로 갑니다.

계정에 문제가 있다면 로그인 화면으로 가고 인터넷이 연결되어있지 않다면 앱을 종료합니다.

로그인

앱을 처음 실행하면 나타나는 로그인하는 화면입니다.

이미지는 Lottie를 이용하요 움직이는 이미지입니다.

이메일은 이메일 형식을 체크하게 하고 비밀번호는 15글자 이하로 입력되도록 하고 8글자 미만이면 로그인을 눌렀을 때 리턴하게 구현을 했습니다.

이메일과 비밀번호를 형식에 맞게 입력하고 로그인을 누르면 로그인이 진행됩니다.

가입한 이메일인지 사용이 정지된 이메일인지 비밀번호가 올바른지 인터넷이 연결되어 있는지 체크하고 모두 맞다면 DB에 접속하고 가져온 데이터를 내부저장소에 저장합니다.

저장하는 데이터는 이메일, 비밀번호, 유저넘버, 별명, 소개입니다.

저장을 한 후에는 메인화면으로 이동합니다.

회원가입과 비밀번호 찾기를 먼저 다루고 메인화면을 다루겠습니다.

회원가입

회원 가입하는 화면입니다.

아이디를 어떻게 할까 고민을 많이 했는데 전화번호 인증을 하면 돈이 들 테고 전화번호를 그냥 가져오는 코드는 보안 때문에 최근 안드로이드 버전에서 막혔기 때문에 이전에 php로 이메일을 전송하는 기능을 구현한 적이 있기 때문에 비밀번호 분실했을 때 연락수단을 위해 이메일을 채택했습니다.

모두 입력하고 회원가입 완료를 누르면 클라이언트에서 이메일 형식, 비밀번호 형식, 비밀번호를 일치하게 입력했는지, 별명과 소개를 입력했는지 체크하고 서버와 통신을 합니다.

서버에서는 작성한 이메일과 별명이 사용중인지 체크하고 사용 중이면 사용 중이라는 토스트 메시지가 나타납니다.

가입이 정상적으로 완료되면 입력한 내용들을 비밀번호만 암호화하여 DB에 데이터를 저장하고 성공한 걸 인식하게 해주는 메시지를 서버에서 받아와 가입이 완료됐다는 토스트 메시지를 출력하고 화면을 꺼 로그인 화면으로 돌아갑니다.

비밀번호 찾기

비밀번호를 까먹었을 때 이메일로 새로운 암호를 전송해주기 위해 구현한 화면입니다.

처음에는 php mail기능을 이용해서 구현하려고 했는데 다른 서버에서는 됐는데 서버에 뭔가 설정이 안된건지 작동이 되지 않아서 안드로이드에서도 가능하지 않을까 싶어 찾다 보니 구글 이메일과 연동해서 이메일을 보내는 기능이 있기에 사용하였습니다.

문의를 누르면 문의를 받기위해 만든 오픈 카톡방으로 이동이 됩니다.

이메일을 작성하고 전송을 누르면 클라이언트에서 이메일 형식을 체크합니다.

이메일 형식이 맞다면 서버와 통신을 합니다.

서버에서 가입한 이메일인지 정지된 이메일인지 체크하고 가입한 이메일이고 정지되지 않은 이메일이면 비밀번호를 랜덤 8글자로 업데이트합니다.

업데이트가 완료되면 이메일로 수정된 비밀번호를 보내주고 화면을 닫습니다.

메인

로그인이 완료되면 메인화면이 나타납니다.

메인화면에 버튼 사이를 길게 누르면 배경화면이 바뀝니다.

각 버튼을 누르면 해당 화면으로 이동됩니다.

일기 쓰기

일기 쓰는 화면입니다.

공개 버튼을 눌러서 공개, 비공개가 가능합니다.

공개하면 모든 사람이 볼 수 있고 비공개하면 나만 볼 수 있습니다.

제목은 100자 내용은 15000자까지 작성이 가능하도록 해놨습니다.

제목과 내용을 1글자 이상 입력하면 오른쪽 위에 보내는 이미지가 파랗게 변하며 회색인 상태에서 누르면 입력하지 않은 EditText가 활성화되면 토스트 메시지로 입력되지 않았다고 안내합니다.

파랗게 됐을 때 터치하면 서버와 통신해 DB에 저장합니다.

일기 데이터베이스는 구성은 일기 넘버, 유저 넘버, 제목, 내용, 조회수, 날짜, 상태로 구성됩니다.

날짜는 DB에서 현 시간을 입력하게 해 놨고 상태는 공개, 비공개, 삭제를 나눠줍니다.

편지

편지를 누르면 나타나는 화면입니다.

오른쪽 위에 버튼을 통해 화면 교체가 가능하며 답장과 삭제가 가능하며 받은 편지는 신고까지 가능합니다.

별명을 누르면 회원정보를 보는 게 가능합니다.

모든 일기 보기

모든 일기 보기를 누르면 나타나는 화면입니다.

위에 검색 기능을 이용하여 검색을 할 수 있습니다.

검색에는 글자를 입력하면 오른쪽에 x가 나타나서 한 번에 지우기가 가능하고 키보드에 돋보기 이미지를 넣고 돋보기를 누르면 검색이 되며 키보드가 내려가도록 구현했습니다.

게시글을 누르면 상세히 보는 화면으로 이동되며 다른 사람의 게시글을 읽었을 때는 조회수가 늘어납니다.

일기 상세보기

내 일기와 다른 사람의 일기를 들어갔을 때 나타나는 화면입니다.

내 일기는 수정과 삭제가 가능하고 다른 사람의 일기는 편지와 신고가 가능합니다.

추가로 다른 사람 일기는 하단에 구독 버튼이 활성화되어 구독까지 가능합니다.

좋아요와 구독은 유튜브처럼 했다 지웠다가 가능하며 따로 모아볼 수가 있습니다.

오른쪽 하단에 말풍선을 누르면 댓글로 이동됩니다.

댓글

댓글에서는 내 글은 삭제 다른 사람의 글은 신고가 가능합니다.

댓글은 최대 1000자 입력이 가능하며 글자가 입력되면 카카오톡처럼 오른쪽에 보내는 버튼이 생성되고 댓글을 입력하면 댓글들 정보를 다시 가져옵니다.

댓글은 모든 데이터를 한 번에 가져오게 해 놨는데 만약 한 일기에 많은 댓글이 달리는 상황이 발생한다면 수정을 해야 할 것 같습니다.

일기는 모두 뷰 페이징을 구현하여 30개를 가져오고 아래에 도달해가면 30개를 추가로 가져와서 데이터에 더해주는 방식을 사용했습니다.

 

내 일기 보기와 좋아요와 구독을 누르면 화면은 각각 내 일기, 좋아요 누른 일기, 구독한 사람이 쓴 일기들이 나타납니다.

내 정보

내 정보를 누르면 나타나는 화면입니다.

일기나 댓글이나 편지에서 다른 사람의 별명을 누르면 그 사람의 정보도 볼 수 있습니다.

설정

설정과 설정에서 개인정보 수정을 누르면 나타나는 화면들입니다.

각각 문구에 맞는 기능을 담당합니다.

 

210823에 기획을 시작하여 210914에 개발이 끝났으며 쉰 날을 제외하면 총 17일 동안 개발을 진행했습니다.

사용한 프로그램은 네이티브 개발은 안드로이드 스튜디오, 서버 개발은 VS코드, 서버와의 통신은 파일 질라를 사용했으며 서버는 MYSQL 외부 서버를 빌려서 사용했습니다.

사용한 언어는 java, xml, php입니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함