구글 드라이브에 파일을 자동으로 업로드 할 일이 생겨 만들어봤습니다. 0. 콘솔 링크 console.developers.google.com/flows/enableapi?apiid=drive 1. 링크로 이동, 계속 클릭 2. 사용자 인증 정보로 이동 3. 호출 위치 선택 이후 '어떤 사용자 정보가 필요한가요?' 클릭 4. 동의 화면 설정 5. 외부 -> 만들기 - 내부는 G-suite 사용자만 사용가능 6. 어플리케이션 이름 설정 후 계속 확인 7. 사용자 인증 정보 -> 사용자 인증 정보 만들기 8. OAuth 클라이언트 ID 클릭 9. 기타 -> 생성 10. OAuth 클라이언트 ID 맨 오른쪽 다운로드 11. 구글드라이브에 실험 폴더 만들기 12. 폴더 ID 확인 - 위 파란 줄 친 부분이 폴더 I..
API
지도를 띄우고 마커를 붙이는 정도까지 만들었다. 결국 프로젝트에서 카카오맵을 안쓰게 되어 소스코드가 아까워서 저장한다. package com.connple.weat.map import android.Manifest import android.content.pm.PackageManager import android.os.Bundle import android.view.View import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import com.connple.weat.R im..
유튜브, 인스타그램과 같은 게시글들을 보면 게시글에 몇 년전,,, 몇 달전, 몇 일전 등등과 같이 표기되어 있다. 자바의 기본 라이브러리를 활용해 이와 같은 기능을 만드는 함수의 소스코드이다. 같은 인턴하시는 분께서 java.time의 라이브러리들을 이용해 뚝딱 만드셨다... ㄷㄷ createAt에서 createAt값을 가진 LocalDateTime 객체를 생성하고 now에서 현재 값을 생성한 후 ChronoUnit으로 값을 계산한 후 리턴한다. class TimeStamp{ fun timestampToString(createdAtDate: Date): String { val createdAt = LocalDateTime.ofInstant(createdAtDate.toInstant(), ZoneId.sy..
많은 Api에서 안드로이드 앱의 KeyHash를 요구한다. Kakao map Api, naver Api 등등.... KeyHash를 생성하는 소스코드이다. @RequiresApi(Build.VERSION_CODES.P) fun getKeyHash() { try { val info = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES) val signatures = info.signingInfo.apkContentsSigners val md = MessageDigest.getInstance("SHA") for (signature in signatures) { val md: MessageDigest md = M..