Skip to content

TEAM-ALOM/android_study_14_2

Repository files navigation

android_study_14_2

아롬 안드로이드 14기 스터디 과제 2번

레포지토리에 익숙해지고 기존에 사용하던 Recyclerview 대신 ListAdapter + DiffUtil 을 이용해 효율적인 코드를 작성해봐요

api와 통신하는 mvvm 코드 작성해보기



앱이 오픈될때 메인액티비티에서 api를 호출하고 그 결과를 보여줍니다. 그리고 추가하기 버튼을 누르고 제목, 가격, 시간만 텍스트로 입력 받고 저장할 수 있게 해주세요. 저장할때 add api 호출하시면 됩니다

저장이 되면 창을 닫고 메인 액티비티로 돌아와서 다시 api를 호출해주세요.

필수

선택


과제 진행 방법

해당 레포지토리를 본인 계정으로 포크해가세요.

과제가 완료 되면 해당 레포지토리에 pull requests를 열어주세요.

pull requests에 해당 코드에 대한 간단한 설명을 적어주세요.

코드에 대한 의문점이 있다면 같이 남겨주세요

pull requests에 앱의 스크린샷도 같이 남겨주세요.


https://app.swaggerhub.com/apis-docs/SEONGHWI/alom/1.0.0

먼저 필요한 api 주소는 스웨거에 정리해뒀습니다.

스웨거 열면 오른쪽 위에 Authorize 자물쇠 버튼 누르면 key 입력하는곳 나옵니다. 거기에 키 붙여넣기 하시고 인증하시면 됩니다. (브라우저 열때마다 해야함.)

그리고 사용해보고 싶은 api에 try it out 누른 후, execute하시면 됩니당

api 키는 카톡으로 공유합니다. 꼭 깃에 올릴때 local.properties 안에 키 숨겨서 올려주세요 (아니면 제 돈 나가요 ㅠㅠ)

레트로핏 호출부 or 레트로핏 빌더에 Interceptor 추가 (추천)에서 (“apikey”, “keykeykeyekykey”)이런식으로 추가하시면 됩니다

각자 개인 api 주소를 만들어 드렸으니까 사용하시면 됩니다.

만약 api 연결하다가 뭔가 에러가난다 하시면 저에게 연락주세요

api 호출할때 꼭 apikey를 붙여야합니다.

개발하다가 데이터 너무 많이 쌓여서 삭제하고 싶으면 연락주세요


힌트

서버에서는 스네이크 케이스를 사용하기 때문에 json에 _가 붙어있는 경우가 많습니다.

그럴때는 SerializedName을 이용해보세요.

안드로이드에서 변수명은 무조건 카멜케이스 사용해야합니다.


과제 진행 방법

해당 레포지토리를 본인 계정으로 포크해가세요.

과제가 완료 되면 해당 레포지토리에 pull requests를 열어주세요.

pull requests에 해당 코드에 대한 간단한 설명을 적어주세요.

코드에 대한 의문점이 있다면 같이 남겨주세요

pull requests에 앱의 스크린샷도 같이 남겨주세요.


커밋 룰

태그 이름 설명
feat: 새로운 기능을 추가할 경우
fix: 버그를 고친경우
design: xml 등 사용자 UI 디자인 변경
style: 코드 포맷 변경, 린트 수정, 코드 수정이 없는 경우
comment: 필요한 주석 추가 및 변경
docs: 문서를 수정한 경우
test: 테스트 추가, 테스트 리팩토링(프로덕션 코드 변경 X)
chore: 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우(프로덕션 코드 변경 X)
rename: 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
remove: 파일을 삭제하는 작업만 수행한 경우
setting: Gradle, Manifest 등 파일에 세팅 추가

커밋할때는 태그를 꼭 붙여주세요.

예시)

- feat(MainActivity, MainViewModel): EditTextSharedPreference에 저장하는 로직 추가

- comment(MainViewModel): SharedPreference 로직 주석 추가

커밋은 최대한 자주 해주세요.

About

아롬 안드로이드 14기 스터디 2번 과제

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages