Android 41

[AOS] 빌더 패턴 Builder Pattern 작성

MVC, MVVM이런 것들을 왜 만드나 불만이 많았었지만, 모듈화와 분리 그리고 스파게티 코드를 못봐주는 레벨이 되니 이해가 되었다. 필수다. 여러 API적용하면서 분리를 하게 되었고, 구조를 짰고, Base가 되는 추상 클래스에 필요한 리스너만 넣는 Builder패턴이 필요하게 되었다. return하는 것에 대한 이해도가 있다면 Builder패턴은 정말 코드를 간결하고 깔끔하게 필요한 것만 가져다 사용할 수 있도록 만들어준다. 먼저, 클래스 내부에 Builder 클래스 생성 inner class Builder() { private var loginCallback: LoginResultCallback? = null private var logoutCallback: LogoutResultCallback? ..

dev/aos 2023.11.17

[AOS] 액티비티 뒤로가기(onBackPressed: Deprecated)

뒤로가기를 눌렀을 때 호출되는 onBackPressed함수가 API33부터 Deprecated되었다 액티비티가 꺼지면서 애니메이션을 적용하려고 하였고, 정리가 필요하였다. 2023.11.14 - [dev/aos] - [AOS] 액티비티 애니메이션(Activity Animation) [AOS] 액티비티 애니메이션(Activity Animation) Activity를 띄우면서 애니메이션 동작이 필요하게 되어서 정리하게 되었다 액티비티를 띄울 때 사용되는 애니메이션 함수는 : overridePendingTransition 이라는 함수이며, 현재 API34 부터는 Deprecated되어 cavedwellers.co.kr 이전 액티비티 애니메이션을 띄우는 것이 아닌 이제 종료시키는 동작을 할 것이다. 먼저, AP..

dev/aos 2023.11.14

[AOS] 액티비티 애니메이션(Activity Animation)

Activity를 띄우면서 애니메이션 동작이 필요하게 되어서 정리하게 되었다 액티비티를 띄울 때 사용되는 애니메이션 함수는 : overridePendingTransition 이라는 함수이며, 현재 API34 부터는 Deprecated되어서 다른 방법을 사용하게 된다 : overrideActivityTransition (안드로이드 폰이 14로 업데이트를 하지 않아서 테스트는 에뮬레이터로 가능) 아래의 예시는 'alpha' 점점 투명해지거나 투명에서 점점 보여지는 모습이다. 먼저 애니메이션 xml파일을 만든다 [resources/anim/fade_in.xml] : alpha안에서 duration을 정해주어도 되지만, 나는 묶어서 명시하는 것을 선호 [resources/anim/fade_out.xml] 동작은..

dev/aos 2023.11.14

[AOS] AnimationSet 만들기

미친듯이 기능을 만들던 때 광고 애니메이션을 만든 적이 있었다. 보통 애니메이션을 신경 쓰지 않지만, 아이폰을 테스트한 이후로 마음이 바뀌었다. 안드로이드도 무언가? 부드럽게 표시하게 하면 더 고급스럽고 좋은 느낌을 줄 것 같다. AnimationSet만들기 : 아래에서 위로 투명에서 점점 보이도록 // 애니메이션 집합 AnimationSet animationSet = new AnimationSet(true); // 이동하는 애니메이션 TranslateAnimation translateAnimation = new TranslateAnimation(fromXDelta=0, toXDelta=0, fromYDelta=64, toYDelta=0); translateAnimation.setFillAfter(tru..

dev/aos 2023.11.13

[AOS] ImageButton에 버튼 클릭 효과 넣기

그동안 normal, pressed, focused, selected용 이미지를 전달 받아서 만들었지만, 카카오 로그인을 구현하면서 이미지 버튼은 하나이기 때문에 'ripple'을 사용하게 되었다. 따로 bitmap 이미지 tint를 조절하거나, animation alpha 1.0F → 0.8F식으로 주는 것도 방법이지만, ripple로 눌림 효과를 주는 것이 훨씬 간단하고 깔끔하다. 카카오 로그인 이미지를 준비해주고 링크 : https://developers.kakao.com/tool/resource/login [ ripple_login_kakao.xml ] 생성 해당 이미지를 사용할 layout에 적용

dev/aos 2023.11.13

[AOS] Google API Sign-in Login구현

참고할 링크 : https://developers.google.com/identity/one-tap/android/overview?hl=ko 1. 프로젝트 만들기 2. 해당 프로젝트 내에서 'API 및 서비스'에서 사용자 인증 정보로 이동 3. +사용자 인증 정보 만들기 클릭 4. OAuth 클라이언트 ID 클릭 5. 동의 화면 구성 클릭 6. OAuth동의 화면 전체 사용으로 클릭 이렇게 계정을 만든 뒤 다시, '+사용자 인증 정보 만들기' 클릭 앱 유형을 선택할 수 있고, 'Android' 선택 패키지명을 적는데, Android Manifest에 Package명 등록을 해주어야 함 ... 'SHA-1 인증서 디지털 지문' 이라는 것이 있는데, 이것은 'jks' keystore서명 파일을 파싱하여 만들..

dev/aos 2023.11.09

[AOS] Library라이브러리(aar파일) 만드는 방법

AAR : Android Archive 안드로이드 작업을 위해 만든 파일 AAR로 만들어서 사용하는 이유 : 여러가지 이유가 있다. 자신이 만든 기능을 배포하기 위한 목적도 있지만, : 현업에서는 보통 독립성 보존을 위하여 사용하는 경우가 많다. : 독립성 보존이란 앱 개발을 하다보면 대게 여러 클래스와 기능들이 얽히고 섥히는 경우가 많다 : 위와 같은 경우를 방지하기 위해서 라이브러리로 배포하기도 한다. 라이브러리 만드는 방법 : 우선, 프로젝트를 만든 뒤에 Library를 생성해야 한다. : 지금 기존 프로젝트에서 아래의 'New Module'을 하게 되면, 기존 프로젝트 하위에 라이브러리가 생긴다. Android Studio에서 'File - New - New Module' 클릭 좌측 'Androi..

dev/aos 2023.11.08

[AOS] adb연결 및 환경 변수 설정(GRADLE, SDK추가)

OS : Window (Mac은 .bash_profile을 source명령어로 실행시켜주면 되기 때문에 더? 간단했었다) 먼저 'adb.exe'실행 파일의 위치를 찾아야 한다. 보통 사용자(User)폴더의 숨은 폴더인 AppData의 Android폴더에 내장되어 있다. adb.exe위치 : \AppData\Local\Android\Sdk\platform-tools 해당 위치를 복사하여 이제 환경 변수에서 설정을 해준다 윈도우 검색 : 시스템 환경 변수 편집 환경 변수 클릭 위의 user에 대한 사용자 변수의 'Path'변수 편집 이전 adb.exe파일을 가지고 있는 폴더의 위치를 추가 시켜주면 끝 : \AppData\Local\Android\Sdk\platform-tools Gradle 환경 변수 설정 ..

dev/aos 2023.11.08

[AOS] Permission정리

Manifest.permission.READ_PHONE_STATE : Android기기의 휴대전화 상태 및 정보에 접근할 수 있도록 하는 권한 : 전화번호, 네트워크 상태, SIM카드 정보 : 주로 통화 관련 앱, 통신 관련 앱 및 식별 용도로 사용됨 : 사용자의 개인정보 보호와 관련이 깊다. Manifest.permission.WRITE_EXTERNAL_STORAGE : 앱이 외부 저장소에 파일을 작성할 수 있음 : 외부라는 것은 휴대기기의 저장소를 뜻 함 Manifest.permission.INTERNET : 인터넷 연결을 허용하여 '원격서버'와의 통신이 가능해짐 Manifest.permission.CAMERA : 카메라 장치에 접근하여 사진 및 동영상 촬영을 가능하게 함 : 플래시 기능도 가능 Ma..

dev/aos 2023.11.07
728x90
반응형