
프로젝트를 진행하면서 다양한 Dialog를 보게 알게 되었다 그 중 DialogFragment()를 사용하여 띄워 보았다! 레이아웃 파일은 공통으로 주어졌다 (좌우 패딩값을 넣어 주었다) 레이아웃은 내 마음대로 커스텀해서 작성하면 된다..!! 더보기 // 숨김항목에 관련된 레이아웃 작성 1. 옆면이 투명하게 처리되면서 Dialog띄우기 private fun loadFragment() { val fragmentManager = requireActivity().supportFragmentManager val newFragment = ContactDialogFragment() newFragment.show(fragmentManager, "ContactDialogFragment") newFragment.setL..
Android API 33에서부터 onBackPressed() 메서드가 deprecated 되었다. Android 12부터 사용자 터치에 응답하는 반응형 모션이 도입되었기 때문인데...!!!! 이로인해 Google은 OnBackInvokedCallback(API 33부터 가능 / 이전버전 기기에서 실행하면 예외 발생) 또는 OnBackPressedCallback 을 사용하기를 권고하고 있다!!!! 기존 override fun onBackPressed() { super.onBackPressed() } OnBackPressedCallback class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) ..
registerForActivityResult()란? Activity 또는 Fragment에서, Activity Result API에서 제공하는 registerForActivityResult() API를 통해서 결과 콜백을 등록할 수 있음. startActivityForResult 또는 onActivityResult의 개념이 registerForResultActivity로 변경이 되는 부분 registerForActivityResult() 사용 방법 기본 틀은 intent 사용법과 동일하나 조금씩 차이가 있다.! * 데이터를 넘길 때 사용 class SignUpActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle..

1. 4대 컴포넌트 안드로이드 4대 컴포넌트 란? 안드로이드 앱을 구성하는데 필요한 4개의 구성 요소 컴포넌트(component) : 구성요소 안드로이드 4대 컴포넌트 종류 액티비티(Activity) Application의 화면을 담당하는 컴포넌트 반드시 하나의 Activity는 존재해야 함. 두개의 액티비티를 동시에 보여줄 수 없음. 액티비티 내에서는 프래그먼트를 통해 분할화면을 보여줄 수 있음 각 액티비티는 AndroidManifest 에 등록되어 있어야 함. 액티비티 이동 시 이전 액티비티를 종료하지 않을 경우 스택구조로 계속 쌓이게 됨. 하나 이상의 View 또는 ViewGroup을 가지고 있어야 함. View : 텍스트, 버튼, 이미지 등 ViewGroup : 레이아웃 서비스(Service) A..

액티비티 생명주기란? 스마트폰이 생기면서 컴퓨터에 비해 화면이 작아져 한 화면에서 할 수 있는 기능이 한정적이게 되었다. 앱의 상태 변화가 있을때마다 액티비티는 생명주기 메소드를 호출하여 상태 변화를 알려준다. 생명주기를 이해하고 적절하게 사용해야 안정적인 앱을 만들 수 있다. 생명주기를 잘못 구현 했을 때 발생하는 문제 예시 앱을 사용하는 도중, 전화가 걸려오거나 다른 앱으로 전환할 때 비정상 종료되는 문제 앱을 사용하지 않는 경우 시스템 리소스가 소비되는 문제 앱에서 나갔다가 나중에 돌아왔을 때 사용자의 진행 상태가 저장되지 않는 문제 화면을 가로/세로 방향 간에 회전할 경우, 비정상 종료되거나 사용자의 진행 상태가 저장되지 않는 문제 메소드 설명 처리 예시 onCreate() 액티비티 처음 생성될 ..
안드로이드 앱 개발 시 네트워크 작업을 실행하려면 매니페스트에 권한을 포함해야함!! 앱 내부에서 api통신이나 인터넷이 필요할 경우 사용 (WebView 등) 참고 : Intent를 사용하여 (ACTION_VIEW, Uri.parse("Url주소"))로도 인터넷에 접속이 가능한데 이 경우는 핸드폰에 브라우저 앱이 깔려 있고, 주소값만 던져서 브라우저에서 해당 주소를 띄울 때 사용함. ex) val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://m.naver.com"))

기존 안드로이드 스튜디오에서 실기기를 컴퓨터에 미러링을 하기 위해서는 아래와 같은 방법을 사용했다 윈도우 : mirroid (참고 : https://kibua20.tistory.com/166) 맥 : scrcpy (참고 : https://kibua20.tistory.com/138) 그러나 뱀장어 버전 이후 부터는 안드로이드 스튜디오에서 직접 미러링 할 수 있다. 실행 방법 메뉴 → Android Studio → Setting(Preferences / 단축키 command + ,) → Tools → Device Mirroring에 들어간 후 Enable mirroring of physical Android devices에 체크 버튼 클릭! (혹시 Tools 안에 Device Mirroring메뉴가 없다면..