300x250

git remote update

 

- 원격저장소 업데이트 전, 브랜치 조회

업데이트 전, 브랜치 조회

 

- 원격저장소 업데이트 후, 브랜치 조회

업데이트 후, 브랜치 조회

 

 

 

반응형
300x250

 

CompileSdkVersion, targetSdkVersion 31로 변경

or

gradle  

       configurations.all {
            resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' }
        }

반응형
300x250


https://developer.android.com/training/basics/intents/result

 

활동에서 결과 가져오기  |  Android 개발자  |  Android Developers

개발자 앱 내의 활동이든 다른 앱의 활동이든 다른 활동을 시작하는 것이 단방향 작업일 필요는 없습니다. 다른 활동을 시작하고 다시 결과를 받을 수도 있습니다. 예를 들어, 앱에서 카메라 앱

developer.android.com

 

위 안드로이드 개발자 공식 홈페이지에 상세 설명 참조.

 

Why


- AndroidX Activity Fragment에 도입된 Activity Result API 사용 권장 

 

- Result 를 얻기 위해 Activity 을 시작할 때, 메모리 부족으로 인해 프로세스와 활동이 소멸될 수 있습니다. 

 

 

What


 

Activity Result API 

 

다른 Activity 을 실행하는 Code 위치에서 Result Callback 분리

Result Callback 은 Process 와 Actvity 을 다시 생성할 때,
사용할 수 있어야 하므로 다른 Activity 을 실행하는 로직이 사용자 입력 또는 비즈니스 로직을 기반으로 발생하더라도
Activity 이 생성될 때마다 Callback 을 무조건 등록해야 함. 

 

How to use ...


Overview 

인스턴스 메서드 사용 용도 자세히
ComponentActivity   ActivityResultContract  ActivityResultCallback을 가져와서 다른 활동을 실행하는 데 사용할 ActivityResultLauncher를 반환  
  registerForActivityResult ( ) Result Callback 등록  
ActivityResultContract   Result 생성하는데 필요한 입력 유형과 출력 유형을 정의  - 사진 촬영, 권한 요청 등과 같은 기본 인텐트 작업의 *1 Default Contacts을 제공 ( CaptureVideo, CreasteDocument ... ) 

- custom constract 정의할 수도 있다.
       
ActivityResultLauncher

다른 Activity 을 실행하거나 Result 요청 작업  
  GetContent.launch( I input ) Result 를 생성하는 프로세스가 시작. ActivityResultContract 유형과 일치하느입력을 가져옴 

 

1. Result 을 위한 Activity 실행

val getContent = registerForActivityResult(GetContent()) { uri: Uri? ->
    // Handle the returned Uri
    // 2. Result Callback
}

override fun onCreate(savedInstanceState: Bundle?) {
    // ...

    val selectButton = findViewById<Button>(R.id.select_button)

    selectButton.setOnClickListener {
        // Pass in the mime type you'd like to allow the user to select
        // as the input
        getContent.launch("image/*") // 1. Result 결과를 생성하는 프로세스가 시작.
    }
}

 

 

 

*1 Default Contacts : https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts

 

ActivityResultContracts  |  Android 개발자  |  Android Developers

ActivityResultContracts public final class ActivityResultContracts extends Object java.lang.Object    ↳ androidx.activity.result.contract.ActivityResultContracts A collection of some standard activity call contracts, as provided by android. Summary Ne

developer.android.com

 

 

2.별도의 클래스에서 Activity Result 수신

class MyLifecycleObserver(private val registry : ActivityResultRegistry)
        : DefaultLifecycleObserver {
    lateinit var getContent : ActivityResultLauncher<String>

    override fun onCreate(owner: LifecycleOwner) {
        getContent = registry.register("key", owner, GetContent()) { uri ->
            // Handle the returned Uri
        }
    }

    fun selectImage() {
        getContent.launch("image/*")
    }
}

class MyFragment : Fragment() {
    lateinit var observer : MyLifecycleObserver

    override fun onCreate(savedInstanceState: Bundle?) {
        // ...

        observer = MyLifecycleObserver(requireActivity().activityResultRegistry)
        lifecycle.addObserver(observer)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        val selectButton = view.findViewById<Button>(R.id.select_button)

        selectButton.setOnClickListener {
            // Open the activity to select an image
            observer.selectImage()
        }
    }
}
반응형
300x250

안녕하세요.

코로나 백신 접종 할인 헤택 목록 간단하게 작성해보았습니다.

저자는 얀센 백신 맞았습니다. ( 타이레놀 필수 !!!!!!!!!! ) 
그리고 포털사이트에 접종 할인에 대한 글이 있어서

아래와 같이 작성해보았습니다.

모두 건강하세요~~~~~~~~~~그리고 대박나세요~~~~~~~~

 

업종 업소 / 상호명 혜택 상세 기간
음식, 외식 롯데리아 [ 세트 ]
데리버거 4,900 -> 3,400
불고기버거 5,900-> 4,100
새우버거 5,900->4,100
클래식 치즈버거 6,500 -> 4,50 0,
한우불고기 8,900 -> 6,200
6월 8일  ~ 7월 7일
       
       
영화 CGV 주중, 주말 2D  영화 
- 접종자 외 동반 1인
- 6,000원 관람 
6월 1일 ~ 6월 30일 
  롯데시네마  - 6,000원 관람  ?
  메가박스 - 5,000원 관람  
       
반응형

+ Recent posts