나만의 AI/안드로이드 도와줘

Android kotlin [intent 알려줘]

정혜현 2024. 7. 2. 20:56

 

Q. 어떻게 사용해?

A. 

 

//넘겨주기
val intent = Intent(this, SubActivity::class.java)
intent.putExtra("data",data)
/*("확인할 이름",값)*/
intent.putExtra("data",data.toString())
startActivity(intent)

//넘겨받기
val data = intent.getExtra("data")

런처 intent : registerForActivityResult()

 

메인

//런처 선언하기 : onCreate 위에 작성. 생략하고 아예 val getResult로 만들어줘도 된다.
private lateinit var getResult: ActivityResultLauncher<Intent>

//값 받아오기
getResult/*런처이름*/ = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
result/*인자 이름*/ : ActivityResult/*타입 생략가능*/ ->
    if(result.resultCode == RESULT_OK) {
        strData = result.data?.getStringExtra("data") ?: ""
    }
}

//액티비티 호출하기
btn.setOnClickListener {
    val intent = Intent(this, SubActivity::class.java)
    getResult.launch(intent)

 

서브

//값 넘겨주고 액티비티 종료하기
val intent = Intent(this, MainActivity::class.java)
intent.putExtra("Data", data.toString())
setResult(RESULT_OK,intent)/*코드 일치해야한다.*/
finish()

 

 

 

 

 


 

 

 

 

Q. Glide란?

 

다운샘플링과 캐싱으로 효율적인 이미지 로드 라이브러리

 

ᖜ ‿ᖜ 다운샘플링Down Sampling

디코딩 하기 전 이미지 사이즈를 작게 세팅하는 작업

막대한 메모리 사용으로 인한 OOM Out of memory 에러를 방지

 

 

 

좀 더 섬세한 작업이 가능한 Glide

.with() : Context
.load() : 이미지 로드
.into() : 이미지를 보여줄 View 지정

.placeholder() : 이미지 로딩 전에 보여줄 이미지 설정
.error() : 리소스를 불러오다가 에러가 발생했을 때 보여줄 이미지 설정
.fallback() : load할 url이 null인 경우 등 비어있을 때 보여줄 이미지 설정

.skipMemoryCache() : 메모리에 캐싱하지 않으려면 true
.diskCacheStrategy() : 디스크에 캐싱하지 않으려면 DiskCacheStrategy.NONE

                                     DiskCacheStrategy.ALL 모두 저장
                                     DiskCacheStrategy.AUTOMATIC 자동 저장
                                     DiskCacheStrategy.RESOURCE 데이터를 디코딩한 후 캐싱
                                     DiskCacheStrategy.DATA 데이터를 디코딩하기 전 캐싱

.asGif() : 움직이는 gif 이미지