Personal Study 19

[Android][Java] 카카오 로그인 v2 구현하기

진짜.. 많이 헤맸던 카카오 로그인 지금까지 소셜 로그인이 아니라 SMTP로 이메일 로그인만 구현해봤는데 카카오 로그인은 진짜 더 어려웠다. 계속 올리려고 마음만 먹다가 이제 올려보려고 노력중이다. 이러고 또 임시 저장 글에 처박히겠지...? (드디어 다시 쓰기 시작) 다음에는 SMTP 로그인하는 방법도 글을 올려야겠다. 카카오 로그인은 정말 다른 분들 블로그, 티스토리 등 여러 도움을 받았기 때문에 나도 기록겸해서 올려둔다. 애석하게도 카카오 공식 문서가 다 코틀린으로 되어 있어서 코틀린 모르는 나는 자바로 구현하려고 아둥바둥댔다. Java로 안드로이드 개발하는 나는 레퍼런스 찾는데도 엄청 오래 걸렸다... 이 문서가 '카카오 로그인 v2 예제 java'를 찾아 구글을 뒤지는 당신에게 도움이 되기를 바..

[Android] 서버로 이미지 업로드하기 (Java)

이미지 업로드 방식에는 다양한 방법이 있다. 하지만 나는 다른 방식들을 잘 이해하지 못해서, JSON으로 압축한 이미지 코드를 서버에 저장하는 형식을 사용하였다. 이 방식의 단점은 JSON string이 너무 커서, 서버에 들어가지 않을 가능성이 있다는 점..이다. 매우 큰 오류라고 생각하고,다음에 사진 업로드를 다시 하게 된다면 이 방식은 사용하지 않을 것이다. 스레드에 대해 공부해야 한다는 필요성을 느꼈다. 사진 한 장을 업로드 하는데에는 문제가 안 되는데, 여러 장의 사진을 업로드 할 때 JSON에 모두 담을 수 없어서 JSON에 하나씩 담고 하나씩 업로드하는 방식을 채택하였다. 서버는 NestJS와 통신하였다. addImageButton.setOnClickListener(new View.OnCli..

[React Native] Expo를 이용하여 아이폰에서 앱 테스트하기

이번에 React Native를 공부하면서, Expo를 사용할 생각이 없었다. 네이티브 코드들을 직접 손댈 수는 없다는 단점을 들어서 Expo를 사용하지 않을 생각이었는데 아이폰에서도 테스트를 해볼 수 있다는 게 너무 좋아서 (맥북 없는 자의 슬픔) 그냥 Expo를 사용하기로 했다. 먼저 아이폰에도 Expo를 설치해야 한다. 그리고 작업중인 VS code에서 npm start 혹은 Expo start로 앱을 실행시킬 수 있다. 그러면 다음과 같은 화면이 뜨게 된다. 위에 뜨는 QR 코드를 아이폰 카메라로 인식하면 Expo 앱으로 연결된다. 그러면 자동으로 앱이 실행된다. 초기 설정은 CONNECTION이 LAN으로 설정되어 있는데, 왜인지 이렇게 하면 전혀 실행되지 않았다. CONNECTION을 Tunn..

[Android] 타이틀 바 없애기 / 상태 바 없애기

Android 프로젝트를 처음으로 설정했을 때 뜨는 타이틀 바를 없애는 방법이다. 인터넷에서 처음 찾아봤을 때는 자꾸 style.xml을 찾으라고 해서 없는데 어떻게 찾아요 계속 삽질하다가 알아냈다. AndroidManifast.xml을 들어가면 theme에 "@style/Theme.앱 이름"으로 설정되어 있는 것을 볼 수 있다. Style이 설정된 Theme.xml을 찾아서 들어가보자. res파일 아래 values 폴더에 들어가보면, themes라는 파일 아래 themes.xml을 찾을 수 있다. 아래 있는 파일은 괄호 안에 night로 쓰여진 것으로 보아 다크모드를 적용할 때 사용하는 xml인 것 같다. themes.xml의 기본은 다음과 같다. 이 부분에 해당 코드를 삽입하면 타이틀 바를 없앨 수 ..

[Android Studio] 드로어블(Drawable)

Do it! 안드로이드 앱 프로그래밍을 참고하였습니다. 드로어블 만들기 뷰의 배경 이미지 뷰의 background 속성 : 배경색을 설정하거나 이미지 파일을 설정할 때 사용합니다. 이미지를 배경으로 설정하면 이미지는 아무런 변화가 없습니다. → 버튼이 눌렸을 때 눌린 이미지가 보이게 하고 싶다면? ⇒ 드로어블을 사용하면 됩니다. 드로어블 : 상태에 따라 그래픽이나 이미지가 선택적으로 보이게 할 수 있게 합니다. 상태 드로어블 만들기 drawable 파일 안에 xml 파일을 하나 만듭니다. 여기에서 삽질을 엄청했다. backgroundtint가 안 없어져서 개빡쳤는데 backgroundtintMode를 screen으로 만들고 transparent 속성을 주면 됩니다. 셰이프 드로어블 만들기 shape 속성..

안드로이드 스튜디오 - 기본 위젯

Do it! 안드로이드 앱 프로그래밍을 참고하였습니다. 텍스트뷰 화면에 글자를 보여주는 역할을 합니다. 여러 가지 속성으로 텍스트뷰를 꾸밀 수 있습니다. text 속성 : 반드시 지정해야 합니다. 직접 문자열을 넣는 방법과 /app/res/values 폴더에서 strings.xml 파일을 작성한 문자열을 지정하여 할 수도 있습니다. 다국어 지원이 필요할 때는 한국어, 영어, 일본어 버전의 xml 레이아웃 파일을 만드는 것보다 strings.xml 파일을 언어별로 만드는 것이 더욱 효율적입니다. textColor 속성 : 텍스트 뷰에서 표시하는 문자열의 색상을 설정할 수 있습니다. #000000처럼 표기하면 됩니다. textSize 속성 : 문자열의 크기를 설정할 수 있습니다. dp, sp, px 등을 사..