본문 바로가기

KUIT-앱 개발 프로젝트 동아리23

프로젝트 개발 로그-1주차 1주차 맡은 역할 : 리니어 캘린더 클릭시 캘린더 확장 기능 구현 만든 기능 -다이얼로그로 화면 띄우기 : DialogFragment 클래스 이용, layout파일에 전체를 constraintLayout으로 한번더 감싼 다음 drawable로 style 적용해서 테두리 둥글게 함 -리사이클러뷰로 캘린더 만들기 -화살표로 지난달/다음달 이동하기 :클릭함수 및 LocalDate 클래스의 plusMonths() 함수와 minusMonths() 함수 이용 -'오늘'버튼 누르면 오늘 날짜로 세팅 -지난달/다음달 날짜 미리보기 및 글자 흐리게 : 데이터 클래스에 지난달/이번달/다음달 정보 넣어서 어댑터에서 설정 -알약 이미지 넣기(아직 db가 없으므로 일시적으로 데이터 몇개 바꿔서 처리) -오늘 날짜에 색깔 넣기 .. 2024. 1. 15.
10주차 실습(3)-차트 만들기 Custom이라는 라이브러리를 활용해 볼 것이다. 그 안에서도 다양한 라이브러리들이 있는데, 차트를 위한 것으로는 MPAndroid Chart, EazeGraph 등이 있다. EazeGraph를 먼저 사용해보자. https://github.com/paulroehr/EazeGraph GitHub - paulroehr/EazeGraph: An Android chart and graph library An Android chart and graph library. Contribute to paulroehr/EazeGraph development by creating an account on GitHub. github.com 만약 프로젝트를 하다가 모르는 게 생기면 라이브러리부터 찾아볼 수 있다. 만들어져 있는.. 2023. 12. 10.
10주차 실습(2)-직접 calendar 만들기 지난 글에서는 CalendarView와 Material 라이브러리의 MaterialCalendarView를 이용하여 캘린더를 만들어보았다. 이런 라이브러리를 이용하여도 커스텀에 한계가 있을 수 있기 때문에 직접 캘린더를 만드는 것을 연습해 볼 것이다. 1. 액티비티 만들기 액티비티 있는 폴더 우클릭(또는 Ctrl+N)-New-Activity 이름은 CalendarActivity로 액티비티를 하나 새로 만들어주자. 2. 뷰바인딩 lateinit~ binding = ~ setContentView(binding.root) 세줄을 추가 및 수정해주자. package com.iyr.a10thweek2 import androidx.appcompat.app.AppCompatActivity import android... 2023. 12. 9.
10주차 실습(1)-캘린더(calendarView, materialCalendarView) 10주차는 캘린더와 그래프를 다룰 것이다. 1. 뷰바인딩 설정을 먼저 해주자 app수준 그래들에는 아래 코드를 buildFeatures { viewBinding = true } 메인액티비티에는 아래 코드를 먼저 작성해준다. class MainActivity : AppCompatActivity() { lateinit var binding : ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) } } 2. 캘린더 레이아웃 .. 2023. 12. 8.
9주차 실습(3)- 헤더에 토큰 넣기 유저 정보를 가져올 때 정보를 header에 넣어줘야 한다. 헤더에 토큰을 어떻게 넣는지에 대해 알아보자 1. ApplicationClass 수정 1-1. access token companion object에 다음과 같이 Access token 에 관한 변수를 추가해준다. const val X_ACCESS_TOKEN: String = "x-access-token" 1-2. client(통신에 관여하는 객체) Retrofit 라이브러리는 OkHttp 라는 라이브러리를 기반으로 만들어지고 동작한다. client는 원래 OkHttp에서 사용되는 객체인데, 일단은 header에 토큰을 넣을때 사용한다는 정도로만 알아두자. OkHttpClient에 대한 client도 다음과 같이 추가해준다. val client.. 2023. 11. 26.
9주차 실습(2)-Retrofit 로직 구현 목차 더보기 0. api 명세서 테스트 1. 서비스 클래스 만들기- AuthService.kt 1-1. authService 객체 만들기 1-2. 실행함수 ❗️잠깐! 파일정리 겸 중간정리 2. Login Activity , 회원가입 Activity 만들어주기 3. xml 수정 4. manifest 수정 5. 응답 결과로 UI 그리기 5-1. 뷰 담당 인터페이스 SignUpView 5-1-1. 파일 만들기 5-1-2. 인터페이스에 함수 선언 5-2. AuthService.kt 에서 인터페이스 로직 구현 5-2-1. AuthService에서 인터페이스를 상속받는 함수를 만들어준다. 5-2-2. 로딩중 fun SignUpLoading 5-2-3. 로그인 성공시 fun SignUpSuccess/로그인 실패시 f.. 2023. 11. 25.
9주차 실습(1)- Retrofit 사용 준비 당근마켓 클론을 진행하던 프로젝트에 로그인 기능을 만들 것이다. // 한 xml 단위가 끝날때(또는 기억할 수 있는 단위로), 블로그 글 쓰기- 실제 코드 따라쳐보기 순서대로 1. 먼저 회원가입 xml을 만든다 2. api 요청/응답 구조 알아보기 우리는 api를 구현할 것이므로 서버에서 api 명세서를 보내올 것이다. 예를들어 위 사진처럼 REQUEST를 위에 명시한 대로 요청하면 응답을 그 아래에 있는 형식으로 받아볼 수 있을 거란 뜻이다. 안드로이드에서는 명세서에 적힌 대로 api를 구현하면 된다. 위 사진을 보면 응답에 실패했을 때도(Error) isSuccess 값은 누락되지 않고 오고 만약 응답에 성공하면 거기에 추가 정보가 딸려오는 형식으로 구현되어 있다. 로그인도 데이터를 받아오는 게 비슷.. 2023. 11. 21.
API, REST API, HTTP, Retrofit 라이브러리 개념 정리 오로지 Retrofit 라이브러리를 이해하기 위해서 작성되기 시작한 글 1. API : 두 소프트웨어를 통신가능하게하는 메커니즘 ex. 휴대폰 날씨 앱이 api 통해 기상청시스템과 '대화'하여 최신 날씨 표시함 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말 인터페이스는 두 애플리케이션 간의 서비스 계약. 이 계약은 요청/응답으로 두 애플리케이션이 통신하는 방법을 정의함 1-1. API는 어떻게 작동하나요? API 아키텍처는 일반적으로 클라이언트와 서버 측면에서 설명된다. 아키텍처란? : 서비스의 동작원리 (최적화를 목표로 두고 시스템 구성과 동작원리 그리고 시스템의 구성환경 등을 설명 및 설계하는 청사진 또는 설계도입니다.) 출처: https://.. 2023. 11. 20.
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.