분류 전체보기(61)
-
[Spring Boot] 웹 서버 어노테이션 정리 @RequestBody @ResponseBody란?
스프링 부트 공부를 하면서 확실하게 알아야하는 어노테이션들을 공부해서 정리한다. @Controller 이 클래스가 Controller라는 것임을 명시해준다. @RestController 이 클래스의 모든 메소드들이 @ResponseBody 어노테이션을 가지게된다. @ResponseBody 데이터를 반환할 때의 값을 Body에다가 넣어서 Json으로 반환한다 -> 자바객체를 http응답 body로 전송한다 @RequestBody Request에 Body에 Json이나 xml로 전송하여 매핑할 때(전송 된 것을 받을 때) 사용하는 어노테이션 @RequestParam http://localhost:8080/info?name=철수&age=17&sex=male 과 같은 uri로 rest api통신을 할 때, @R..
2021.03.30 -
[안드로이드] BroadcastReceiver 간단하게, 제대로 알자! with Kotlin
안녕하세요. 회사에서 앱을 만들다가 자정이 되면 해야할 이벤트가 있어서 어떻게 구현해야 할까 하다가 BroadcastReceiver에 대해 공부한 후에 정리합니다. BroadcastReceiver란? 안드로이드에서 전화가 오거나, 문자가 오거나 그런 상황들을 캐치해서 방송을 해주는 아주 중요한 안드로이드 4대 컴포넌트 중 하나이다. 종류는? developer.android.com/reference/android/content/Intent#ACTION_DATE_CHANGED Intent | Android 개발자 | Android Developers developer.android.com 진짜 너무너무 많으니 필요할 때 찾아쓰는걸로 ..ㅎㅎ 구현은? 안드로이드 8.0부터는 정적 리시버를 사용할 수 없게 되었..
2021.03.22 -
[안드로이드] Retrofit2를 사용한 GET/POST 서버통신 with Kotlin
Retrofit 2란? Retrofit은 Square에서 만든 라이브러리입니다. Android에서 HTTP API통신을 원할하고 편하게 사용하게 해줍니다. Github : github.com/square/retrofit square/retrofit A type-safe HTTP client for Android and the JVM. Contribute to square/retrofit development by creating an account on GitHub. github.com Retrofit 사용하기 위한 Android 권한 설정 build.gradle (APP 수준) // Retrofit implementation 'com.squareup.retrofit2:retrofit:2.9.0' imp..
2021.03.22 -
[Baekjoon] 백준 13458번 : 시험감독 문제풀이 C++
문제 총 N개의 시험장이 있고, 각각의 시험장마다 응시자들이 있다. i번 시험장에 있는 응시자의 수는 Ai명이다. 감독관은 총감독관과 부감독관으로 두 종류가 있다. 총감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 B명이고, 부감독관은 한 시험장에서 감시할 수 있는 응시자의 수가 C명이다. 각각의 시험장에 총감독관은 오직 1명만 있어야 하고, 부감독관은 여러 명 있어도 된다. 각 시험장마다 응시생들을 모두 감시해야 한다. 이때, 필요한 감독관 수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (..
2021.02.22 -
[Baekjoon] 백준 2217번 : 로프 문제풀이 C++
문제 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다. 각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량을 구해내는 프로그램을 작성하시오. 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의 로프를 골라서 사용해도 된다. 입력 첫째 줄에 정수 N이 주어진다. 다음 N개의 줄에는 각 로프가 버틸 수..
2021.02.19 -
[안드로이드] Navagation Safe Args를 사용해 데이터 전달 Fragment간 데이터전달
안녕하세요 ! 전에 네비게이션을 사용해 네비게이션 드로어를 구현했었는데요. Fragment를 사용해 데이터를 주고 받을 때 예전에는 복잡한 방법으로 데이터를 주고 받았었는데요. 또 프래그먼트간 이동도 코드 한 줄로 쉽게 이동할 수 있습니다. 예제를 보겠습니다. Navigation Drawer 구현 방법은 yang-droid.tistory.com/15?category=938455를 참고해주세요 1. project수준의 build.gradle buildscript { repositories { google() } dependencies { def nav_version = "2.3.2" classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$na..
2021.02.01 -
[안드로이드] TextView(텍스트뷰) 특정구간 글씨 크기조정 programmatically
안녕하세요! 다들 하나의 TextView를 사용하는데 살짝 중요한 키워드는 색깔을 바꿔주거나 글씨 크기를 키우거나 색을 바꾸고 싶은 경험이 있으실 겁니다. 예를 들어 아래와 같은 TextView가 있습니다. 개발자의 생각에 따라서 텍스트뷰를 2개 만들어서 할 수도 있을거 같은데요 이러한 행위는 코드가 한줄 추가되고 작업도 두 번 해줘야하는 번거로움이 생깁니다. 그러면 어떻게 특정 문자를 추출해낼 까요? 1. 변수에 담습니다. 우선은 텍스트뷰에 담을 문장을 변수에 담습니다. val address = "현재 계신 곳은 ${gpsTracker.getArea().korean}\n거리두기 지침은 ${ CoronaData.getLevel( gpsTracker.getArea() ) }단계" * 본인이 원하는 문장을 ..
2021.01.31 -
[안드로이드] 버튼 커스터마이징(이쁜 버튼)만들기 + Button 커스터마이징 안먹힘 오류 해결 방법
버튼을 커스터 마이징 해서 테두리랑 이쁘게 만드려고 했다. Button_background.xml res-drawable에 resource파일을 만든 후 위와 같이 배경색 테두리 색 휘는 각도등을 지정해줘서 꾸미려고한 버튼으로 돌아와서 사용하려고 android:background="@drawable/button_background" 배경으로 지정해도 아무 변화가 없었다. 뭐가 문젤까 검색하다가 안드로이드 style에 Theme.MaterialComponents theme를 적용하면 Button을 커스터마이징 하는데 문제가 생긴다. 이것저것 검색하다가 https://stackoverflow.com/a/52673168/7017299 Can't use android:background with button f..
2021.01.17 -
[안드로이드]네비게이션 드로어(Navigation Drawer) JetPack 제대로 쓰자!
안녕하세요 ! 계속 해서 프로젝트를 하다가 조금씩 까먹는 일이 발생해서 역시 공부한 것을 정리해야한다고 생각해서 블로그 다시 시작합니다 ! 이번엔 네비게이션 드로어 구현에 대해 포스팅 해보려구 합니다! 결과물 먼저 보고 가실게요 ! 오늘은 NavigationView를 사용을 해 탐색 하는 방법에 대해 포스팅 후 내일부터는 navigation으로 화면 전환 및 데이터 전달에 대해 알아보려고 합니다 ! 우선 build.gradle 앱 수준에 인젝션 해주고 sync를 해줍니다. def nav_version = "2.3.2" implementation "androidx.drawerlayout:drawerlayout:1.1.1" // Kotlin implementation "androidx.navigation:n..
2021.01.17 -
[안드로이드&&Firebase] Node.js 웹 서버를 사용해 FCM 푸시알람 전송 방법(5)
안녕하세요. 전 시간에 서버를 만들어서 수동으로 fcm을 보내봤습니다. 오늘은 바로바로 !! 준비물 : 노드.js다운, VS코드(있으면 좋아요) 이번 실습은 로컬에서의 작동을 확인하였습니다. (시스템 배포를 하지 않은 같은 와이파이 에서 작용합니다.) Notification에 대해 알아보도록 하겠습니다. FCM Notification 'notification': { 'body': '', 'title': '', } Notification Message는 Notification만 보내는 메시지 입니다. 가장 높은 우선순위를 가지면 Killed 상태, background 상태, foreground 상태 때 시스템 트레이에 표시 됩니다.하지만 foreground 상태에서는 시스템트레이에 남지않습니다.그 이유는 ..
2020.11.09