연습장/실습 37

6주차_ Kakao API 활용 앱 3. RecyclerView, 검색/좋아요 기능

1. 결과 화면앱 처음 화면검색어 입력아이템 클릭 시 좋아요 표시 2. RecyclerView UI① fragment_main.xmlxml에서 layoutManager 설정 가능 ② item_grid.xml  3. RecyclerView3-1. RecyclerViewAdapter / ViewHolder① ViewHolder을 RecyclerViewAdapter 내부에서 만드느냐, 외부에서 만드느냐에 따라 adpater 접근이 다름외부에서 만들어 접근 class KakaoRecyclerViewAdapter() : RecyclerView.Adapter() {}내부에서 만들어 접근class KakaoRecyclerViewAdapter() : RecyclerView.Adapter() {} ② KakaoRecyc..

연습장/실습 2024.05.09

6주차_ Kakao API 활용 앱 2. Kakao API 연결

1. 인터넷 사용 권한http통신을 하기 때문에 인터넷 사용 권한 추가 필요//AndroidManifest.xml //추가... 2. JSON 데이터를 담을 데이터 클래스2-1. 구분을 위한 하위 패키지 생성① 파일을 잘못 만들었을 때 삭제되지 않는 이유? 중요한 파일을 실수로 지워버리지 않게 프로그램이 파일명을 따라 연관된 파일이 있다고 판단했을 때 삭제를 막아줌 ①-① Search in comments and strings을 체크 해제 후 삭제하면 정상적으로 사라짐을 볼 수 있음 ② 패키지 생성 ②-① 패키지 명 설정.(온점)은 해당 패키지명을 따라 타고 가는 것이기 때문에 그 뒤에 원하는 이름을 붙여서 생성②-② 결과 화면 2-2. JSON 데이터 담기① File > Settings >..

연습장/실습 2024.05.07

6주차_ Kakao API 활용 앱 1. ViewPager/TabLayout

1. ViewPager페이지를 넘기듯 화면 슬라이드에 자동으로 애니메이션이 적용되어 페이지가 전환ViewPager > ViewPager2 라이브러리 사용 권장build.gradle 설정dependencies { //viewpager2 implementation("androidx.viewpager2:viewpager2:1.0.0")} 2. TabLayout 화면 전환 시, 해당 화면에 따라 Tap을 표시하는 레이아웃  3. ViewPager/TabLayout  사용법커서를 원하는 방향으로 끌면 화면 전환 3-1. fragment_main.xml에서 ViewPager2/TapLayout을 사용할 경우① fragment_main.xml ② MainActivity.ktclass MainActivity..

연습장/실습 2024.05.03

Basic 6주차_ 1. Enum Class, Sealed Class 사용

Enum Class, Sealed Class 이론클래스 1-2. Data Class 활용 (tistory.com) 클래스 1-3. Sealed Class (tistory.com)동작 구문 참고Basic 4주차_ 1-2. 생명 주기(Lifecycle) (tistory.com)MainMy Records 더보기activity_main.xmlactivity_second.xmlitem_current_record.xmlitem_wrong_record.xml 1. Record.kt① Enum Classdata class Record( val trial: Int, val target: Int, val record: Int, val isCorrect: AnswerType)enum class Answ..

연습장/실습 2024.05.01

5주차_ 짝퉁마켓 앱 5. FloatingActionButton (플로팅 버튼)

문제 2. [①] 스크롤을 최상단으로 이동시키는 플로팅 버튼 기능 추가 [②] 플로팅 버튼은 스크롤을 아래로 내릴 때 나타나며, 스크롤이 최상단일때 사라집니다. [③] 플로팅 버튼을 누르면 스크롤을 최상단으로 이동시킵니다. [④] 플로팅 버튼은 나타나고 사라질때 fade 효과가 있습니다. [⑤] 플로팅 버튼을 클릭하면(pressed) 아이콘 색이 변경됩니다 1. FloatingActionButton (플로팅 버튼) ① 스크롤을 최상단으로 이동시키는 플로팅 버튼 기능 추가 1. FloatingActionButton 설정 buildgradle.kts dependencies { implementation("com.google.android.material:material:") } 변경 사항 ... 2. Flo..

연습장/실습 2024.04.17

5주차_ 짝퉁마켓 앱 4. Parcelize 데이터 전달

문제 1. [①] 디자인 및 화면 구성을 최대한 동일하게 해주세요. (사이즈 및 여백도 최대한 맞춰주세요.) ✨ [⑦] 상품 데이터는 dummy data 를 사용합니다. (더미 데이터는 자유롭게 추가 및 수정 가능) [⑤] RecyclerViewer를 이용해 리스트 화면을 만들어주세요. [⑤-①] 상단 툴바를 제거하고 풀스크린 화면으로 세팅해주세요. (상태바(시간/배터리 표시하는 최상단바)는 남기고) [②] 상품 이미지는 모서리를 라운드 처리해주세요. [③] 상품 이름은 최대 두 줄이고, 그래도 넘어가면 뒷 부분에 …으로 처리해주세요. [①] 뒤로가기(BACK)버튼 클릭시 종료하시겠습니까? [확인][취소] 다이얼로그를 띄워주세요. [①] 상단 종모양 아이콘을 누르면 Notification을 생성해 주세요..

연습장/실습 2024.04.16

5주차_ 짝퉁마켓 앱 2. 다이얼로그 & OnBackPressedCallback

문제 1. [①] 디자인 및 화면 구성을 최대한 동일하게 해주세요. (사이즈 및 여백도 최대한 맞춰주세요.) ✨ [⑦] 상품 데이터는 dummy data 를 사용합니다. (더미 데이터는 자유롭게 추가 및 수정 가능) [⑤] RecyclerViewer를 이용해 리스트 화면을 만들어주세요. [⑤-①] 상단 툴바를 제거하고 풀스크린 화면으로 세팅해주세요. (상태바(시간/배터리 표시하는 최상단바)는 남기고) [②] 상품 이미지는 모서리를 라운드 처리해주세요. [③] 상품 이름은 최대 두 줄이고, 그래도 넘어가면 뒷 부분에 …으로 처리해주세요. [①] 뒤로가기(BACK)버튼 클릭시 종료하시겠습니까? [확인][취소] 다이얼로그를 띄워주세요. [ ] 상단 종모양 아이콘을 누르면 Notification을 생성해 주세요..

연습장/실습 2024.04.16

5주차_ 짝퉁마켓 앱 1. RecyclerView

문제 1. [①] 디자인 및 화면 구성을 최대한 동일하게 해주세요. (사이즈 및 여백도 최대한 맞춰주세요.) ✨[⑦] 상품 데이터는 dummy data 를 사용합니다. (더미 데이터는 자유롭게 추가 및 수정 가능)[⑤] RecyclerViewer를 이용해 리스트 화면을 만들어주세요.[⑤-①] 상단 툴바를 제거하고 풀스크린 화면으로 세팅해주세요. (상태바(시간/배터리 표시하는 최상단바)는 남기고)[②] 상품 이미지는 모서리를 라운드 처리해주세요.[③] 상품 이름은 최대 두 줄이고, 그래도 넘어가면 뒷 부분에 …으로 처리해주세요.[ ] 뒤로가기(BACK)버튼 클릭시 종료하시겠습니까? [확인][취소] 다이얼로그를 띄워주세요.[ ] 상단 종모양 아이콘을 누르면 Notification을 생성..

연습장/실습 2024.04.15

Basic 4주차_ 1-2. 생명 주기(Lifecycle)

문제 1. 화면 회전시 랜덤변수 유지하기 Basic 4주차_ 1-1. 생명 주기(Lifecycle) (tistory.com) 카운터가 100이 되었을 때 화면을 회전하면 1로 바뀌는 원인 찾은 후, 회전 하더라도 100으로 유지되도록 출력하기 홈 화면으로 갔을 때 멈추고 돌아오면 이어서 실행하기 버튼을 클릭하여 멈춘 경우, 어떤 상황에서도 재실행 되어서는 안되도록 하기 3. 버튼을 클릭하여 멈춘 경우, 값 유지 및 어떤 상황에서도 재실행 되어서는 안되도록 하기 버튼을 누르면 멈춤 > 눌렀는지 안눌렀는지 상태를 저장 > 불러올 때 조건식을 통해 구분하여 진행 클릭하였을 때의 처리를 하기 위한 변수 생성 class Basic3WeekActivity : AppCompatActivity() { private v..

연습장/실습 2024.04.15

Basic 4주차_ 1-1. 생명 주기(Lifecycle)

문제 1. 화면 회전시 랜덤변수 유지하기 카운터가 100이 되었을 때 화면을 회전하면 1로 바뀌는 원인 찾은 후, 회전 하더라도 100으로 유지되도록 출력하기 홈 화면으로 갔을 때 멈추고 돌아오면 이어서 실행하기 버튼을 클릭하여 멈춘 경우, 어떤 상황에서도 재실행 되어서는 안되도록 하기 Basic 1주차_ 2. Random 및 코루틴 활용 (tistory.com) Basic 1주차_ 2. Random 및 코루틴 활용 문제 2. Kotlin Random을 이용하여 1이상 100이하의 숫자를 랜덤으로 구하여 Int 타입의 randomValue라는 변수에 할당하는 코드 작성하기 (setRandomValueBetweenOneToHundred() 매서드 만들기) launch 코루틴빌더를 아 hyelan-note...

연습장/실습 2024.04.12