코틀린(Kotlin)/해보기 14

[코틀린(Kotlin)] 미세먼지 앱 만들어보기

특정 지역의 미세 먼지 수치, 등급을 알려주도록 한다. 데이터는 공공데이터포털을 이용한다. 수신된 JSON 데이터를 가공한다. 미세먼지 등급에 따라 아이콘/배경색을 변경한다. 공공데이터 포털 접속 후 환국환경공단_에어코리아_대기오염정보의 API 활용 그 중에서, 시도별 실시간 측정정보 조회을 활용 미세먼지 등급에 따라 나뉘는 아이콘 및 배경색의 기준 Gradle에 라이브러리 추가 plugins { ... id("kotlin-kapt") } ... buildFeatures { viewBinding = true dataBinding = true buildConfig = true } dependencies { ... implementation("com.google.code.gson:gson:2.10.1") i..

[코틀린(Kotlin)] [팀 프로젝트] 간단한 연락처 앱 만들기

[깃 허브 링크] 맡은 & 구현한 기능 연락처 리스트 화면 (ContactFragment) - 뷰 바인딩(viewBinding) & 리사이클러 뷰(recyclerView) 사용 - 연락처 정보 리스트 출력 (더미 데이터를 활용) - 스크롤 이동 시 최상단으로 이동하는 플로팅 버튼(FloatingButton) - 검색 기능 - 통화 아이콘 클릭 시 ACTION_DIAL 및 Intent로 번호 전달 - 뷰 전환 (리스트 뷰(ListView) 그리드 뷰(GridView)) - 즐겨찾기 된 유저 이미지 뷰에 스트로크 추가 - 연락처 정보 리스트에서 아이템 클릭 시 상세정보로 전환 및 데이터 전달 - 콜랩싱 바(CollapsingBar)를 이용하여 스크롤 이동 시 앱의 아이콘이 가려지도록 사용자 편의성 제공 프래..

[코틀린(Koltin)][팀 프로젝트] 간단한 SNS 만들어보기 (4

오늘 구현한 것 로그인, 회원가입 페이지(SignInActivity, SignUpActivity) 회원 정보 관리 기능 → 1. [중복 체크] 회원가입 시에 이름, 이메일 등이 담긴 UserInfoList.kt에서 값을 받아와 이미 존재하는 이메일을 입력 후 중복체크 버튼을 누르면 회원가입이 완료(로그인 액티비티로 데이터 intent 및 전환)되지 못하도록 함 → 2. [임의로 생성해 둔 회원 정보로 로그인]? 로그인 시에 이름, 이메일 등이 담긴 UserInfoList.kt에서 값을 받아와 이미 존재하는 이메일을 입력하면, 로그인이 되고 우측 상단에 UserInfoList에서 해당 이메일이 있는 리스트의 name값을 받아와 적용시킨다 1-1. 중복체크 SignUpActivity.kt - btn_repe..

[코틀린(Kotlin)][팀 프로젝트] 간단한 SNS 만들어보기 (3

오늘 구현 & 해야 할 것 로그인, 회원가입 페이지(SignInActivity, SignUpActivity) - 1. 회원가입 페이지에서 완료버튼 누르면 이메일, 패스워드 로그인 페이지로 보내주기 - 2. 회원가입 페이지에서 완료버튼 누르면 이름 메인페이지로 보내기(SignUp → SignIn → MainActivity) - 3. 유효성 검사 (간단하게 이메일 형식인지만 체크) - 4. 하드 코딩 → strings.xml에 문자열 관리 - 5. (해야 할 것) 회원 정보 관리 기능 1-1. 회원가입 페이지에서 완료버튼 누르면 이메일, 패스워드 로그인 페이지로 보내주기 SignInActivity에서 registerForActivityResult()를 사용해서 SignUpActivity에서 이름, 이메일, ..

[코틀린(Kotlin)][팀 프로젝트] 간단한 SNS 만들어보기 (2

오늘 구현 & 도전한 것 로그인, 회원가입 페이지(SignInActivity, SignUpActivity) - 1. 비밀번호 입력 시, 보안을 유지하기 위해 ***로 표시하기 - 2. 로그인, 회원가입 중 예외 발생 시 사용자에게 안내 메시지 - 3. (도전) 유효성 검사 1. 비밀번호 입력 시, 보안을 유지하기 위해 ***로 표시하기 비밀번호가 입력되는 EditText의 inputType = "textPassword"로 바꿔준다 2. 로그인, 회원가입 중 예외 발생 시 사용자에게 안내 메시지(토스트 이용) 3. (도전) 유효성 검사 SignUpActivity에서 Email과 비밀번호에 유효성 검사를 추가하려고 TextWatcher에 대해서 하루종일 봤는데도 구현은커녕 프로그램이 자꾸 다운됐다 팀원분들이..

[코틀린(Kotlin)][팀 프로젝트] 간단한 SNS 만들어보기

만들고자 하는 것 1. 메인 페이지(MainPageActivity) - 앱의 첫 화면, 다양한 Widget들을 활용하여 매력적인 메인 페이지 만들기 - 팀원 분 파트 2. 디테일 페이지(DetatilPageActivity) - 메인 페이지에서 선택한 아이템의 상세 정보를 제공하는 페이지 - 상세 정보를 구조화된 형태로 표시하기 위해 ConstraintLayout 활용 - 메인 페이지에서 상세 페이지를 생성할 때 필요한 data를 Intent로 전달하기 - 팀원 분 파트 3. 로그인, 회원가입 페이지(SignInActivity, SignUpActivity) - 비밀번호 입력 시, 보안을 유지하기 위해 ***로 표현하기 - 로그인 이후에는 사용자 이름이 화면에서 보이도록 구성하기 - 로그인, 회원 가입 예외..

[코틀린(Kotlin)] 로그인, 회원가입, 자기소개 페이지 만들기 (2

보완하고자 하는 것 TextView, EditText 등에 있는 text들을 하드코딩 형식에서 strings.xml 활용하여 수정 HomeActivity에서 종료 버튼에 이펙트 추가 → selector를 활용하여 눌렀을 때 이미지와 글자 색깔 변화 기타 코드 수정 → 수정된 코드는 깃허브에 커밋 strings.xml 활용하여 텍스트 출력 기존에 하드코딩 되어있던 레이아웃 속 텍스트뿐만 아니라 클래스 안에 있는 토스트 메시지도 @string/에 있는 텍스트를 받아와서 출력하도록 설정해 줬다 strings.xml 문자열을 리소스 파일에서 추출하여 사용하는 방법은 하드코딩의 두 가지 문제점을 해결해 준다 하드코딩의 문제점 앱을 다른 언어로 번역하기가 어렵다 앱의 다른 곳에서 같은 문자열을 재사용하기 어렵다 H..

[코틀린(Kotlin)] 로그인, 회원가입, 자기소개 페이지 만들기

구현하고자 하는 것 로그인 페이지(SignInActivity) → 로그인 버튼을 누르면 HomeActivity 실행 (Extra로 아이디를 넘겨주기) → 아이디 / 비밀번호 모두 입력되어야만 로그인 버튼 실행 ("로그인 성공" 토스트 메시지 출력) → 아이디 / 비밀번호 중 하나라도 비어 있다면 "아이디 / 비밀번호를 확인해주세요" 토스트 메시지 출력 → 회원가입 버튼을 누르면 SignUpActivity 실행 → 비밀번호 EditText는 입력 내용이 가려지게 하기 회원가입 페이지(SignUpActivity) → 이름, 아이디, 비밀번호 모두 입력 됐을 경우에만 회원가입 버튼이 클릭가능 → 셋 중 하나라도 비어 있다면 "입력되지 않은 정보가 있습니다" 토스트 메시지 출력 → 비밀번호 EditText는 입..

[코틀린(Kotlin)] 키오스크 프로그래밍 (2

Menu.kt 생성 저번시간에 각각의 메뉴들 Order함수에서 println에 적던 것들을 수정했다 Menu라는 클래스에 생성자를 이용해서 메뉴이름, 가격, 정보를 스트링타입으로 받아서 각각의 메뉴.kt들에 맞게 바꿀 수 있도록 했다 각 클래스들 코드 수정 이전에는 7~11 라인에 println을 이용해서 띄어쓰기까지 손수 적어서 띄웠던 것을 Menu클래스에서 정의해 놓은 대로 가져와서 사용하도록 수정해줬다 메뉴를 선택했을 때 메시지를 띄워주는 것도 이를 활용해서 info부분만 "주문"으로 문구를 바꿔줬다 다른 클래스들(Beer.kt, Drinks.kt, FrozenCustard.kt)도 마찬가지로 수정해줬다 오전에 완전 기초 알고리즘 풀기와 클래스의 상속과 추상화에 대해서 특강을 들었는데, 특강을 들을..