본문 바로가기

전체 글134

8주차 실습(1)-카카오맵 가져와서 따라하기 1. 구글에 kakaomap api 검색 2. 안드로이드 고르기 * 기본적으로 안드로이드 api를 사용할 때는 rest api보다는 sdk 를 사용하는 게 좋다. 3. 시작하기-시작하기 클릭 후 살펴보기 4. 요구사항 체크 플랫폼 별로 버전도 다르고 지원해주는 기능도 다름 인터넷 권한 추가해주기! 5. 지도 시작하기 6. 앱 등록 6-1. 카카오개발자 사이트 들어가기 6-2. 회원가입 후 시작하기 누르기 6-3. 애플리케이션 추가하기 6-4. 앱 이름/사업자명/카테고리 기입 후 저장하기 클릭하면 kakao developers에 앱 정보 생성됨 6-5. 플랫폼 정보 설정해야 함-안드로이드 플랫폼 등록 클릭 6-6. 패키지명 기입 6-7. 카카오 SDK로 디버그 키 해시 확인 키 해시 얻어야 함(지금은 디버.. 2023. 11. 17.
5주차 복습 메모 Glide라이브러리, ViewPager2 https://dreaminsweetpotato.tistory.com/118 5주차 실습(1)-Glide 라이브러리, ViewPager2 1. 그래들 뷰바인딩 설정 2. 그래들 glide 라이브러리 사용설정 복붙 3. AndroidManifest에서 인터넷 사용설정 해줘야 glide 라이브러리 쓸수있음 4. 메인액티비티에서 viewPager2랑 텍스트뷰 넣기 5. 이미지 dreaminsweetpotato.tistory.com 1. glide 사용설정&뷰바인딩 설정 2. xml에서 뷰페이저 레이아웃 만들고 3. 뷰페이저에 출력할 프래그먼트의 레이아웃 만들고 4. 어댑터 구현 class ImageSliderVPAdapter(val context: Context, va.. 2023. 11. 14.
7주차실습(3)-room db&코루틴 응용 지난 7주차 실습 프로젝트에서 그대로 할거임 지난 시간 복습 IO 스레드에서 돌아가는 코루틴 만들어서 데이터 추가 그리고 메인스레드로 돌아와서 say "데이터 다시 그려" 이번엔 변수가 아닌 데이터베이스에 데이터를 추가해서 가져와서 레이아웃으로 그려보겠다. 1. 데이터베이스 객체 수정 우선 데이터베이스 객체 파일인 MyStringDatabase.kt로 가서 .allowMainThreadQueries().build() // databaseBuilder() 뒤에 꼭 build() 붙여야함 이걸 지워줄거임 원래는 메인스레드에서 데이터베이스에 접근하는게 안됐는데 요청했었음. 이거 지웠으니 이제 메인스레드가 아닌 스레드에서만 데이터에 접근할수있음 2. MainActivity 수정 2-1. 데이터베이스 변수 설정 .. 2023. 11. 10.
7주차 실습(2)-코루틴(coroutine) 1주차 실습파일에서 이부분을 주석처리해주고 시작하자 // var myStringDatabase : MyStringDatabase? = null // 데이터베이스 객체 만듦 이부분도! 그러면 room db를 추가하기 전이고 dataList도 빈 ArrayList상태라서 출력해보면 아무것도 안나온다. 이번 실습에서는 coroutine으로 다른 스레드에서 데이터를 추가하고 다시 메인 스레드로 와서 ui를 그리는 작업을 해볼 것이다. 코루틴을 쓰려면 먼저 scope를 선언해야 한다. GlobalScope도 있고 MainScope도 있지만 여기서는 새로 만들 것이다. 1. 스코프 선언 CoroutineScope(Dispatchers.IO).launch{ } 스코프를 통해 넘겨줄 것은 '어느 스레드에서 실행할 것이.. 2023. 11. 10.
7주차 실습(1)-roomDB 1. 프로젝트 만들고 2. 그래들 dependendcies에 room // RoomDB implementation("androidx.room:room-runtime:2.6.0") annotationProcessor("androidx.room:room-compiler-processing:2.6.0") // kapt("androidx.room:room-compiler:$room_version") 맨마지막줄은 왜 잘 안되는줄 모르겠음 3. 똑같이 그래들 android에 뷰바인딩 설정해주고 4. activity_main.xml에 아무 리사이클러 뷰 선언하고 아이디 달아줌 id는 rv_home 5. MainActivity에 뷰바인딩 하기 package com.iyr.a7thweekpractice import an.. 2023. 11. 10.
6주차 실습-Thread 스레드의 context switching이 어떻게 이루어지는지, 멀티스레드프로그래밍을 하면서 알아볼 예정. 지난 주의 뷰페이저 실습 프로젝트에서 이어서 할 것이다. 1. 첫번째 스레드 실습 1-1. onCreate()에 testThread1()라는 함수 호출하고 onCreate밖에 함수 선언하기 1-2. private fun testThread1() // testThread1() 함수 private fun testThread1() { Thread(){ for (i in 1 until 1001){ print(i) } }.start() Thread(){ for (i in 1000 downTo 0){ print(i) } }.start() } 여기서 실행해서 logcat 보면 스레드가 990쯤부터 끊기고 다시 .. 2023. 10. 31.