쏭식
Ssongcode;
쏭식
전체 방문자
오늘
어제
  • 분류 전체보기 (106)
    • JAVA (21)
      • Basic (21)
    • Kotlin (14)
      • Basic (14)
    • Android (64)
      • Basic (24)
      • JETPACK (30)
      • Compose (8)
      • 파고들기 (2)
    • Project (4)
    • etc (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 리사이클러뷰
  • 변수
  • Jetpack
  • 기초100제
  • workmanager
  • 자료구조
  • DataBinding
  • compose
  • 컴포즈
  • 코테
  • 상속
  • 객체지향
  • mvvm
  • 코틀린
  • 배열
  • Room
  • 코딩테스트
  • Android
  • 알고리즘
  • 메소드
  • Kotlin
  • 프로젝트회고
  • 코드업100제
  • 자바
  • AAC
  • Adapter
  • livedata
  • 코틀린코테
  • ViewModel
  • 백준

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
쏭식

Ssongcode;

[Android] Data class와 Activity 데이터 전송
Android/Basic

[Android] Data class와 Activity 데이터 전송

2022. 4. 16. 23:59

FLO앱에서 다음과 같이 미니플레이어바를 누르면 해당 노래의 정보가 담긴 액티비티로 전환이 되어야한다.

왼쪽 미니플레이어는 MainActivity이고 오른쪽은 SongActivity이다.

따라서 메인액티비티에서 눌렀을 때 노래가 재생되고 있는 제목과 가수를 오른쪽 노래액티비티로 들고가야한다.

이제 그럼 데이터를 전송해보자.

 

먼저 가수와 제목이 담긴 데이터클래스가 있어야한다.

data class Song(
        val title : String = "",
        val singer : String = ""
)

이제 메인액티비티 미니플레이어에 속한 텍스트를 Song클래스에 저장해보자.

val song = Song(binding.mainMiniplayerTitleTv.text.toString(), 
    binding.mainMiniplayerSingerTv.text.toString())

이렇게 binding을 통하여 아이디에 해당하는 텍스트를 String형태로 불러와 데이터클래스인 Song에 대입하여

변수 song에 저장하였다.

 

이제 택배상자인 intent를 가지고 액티비티간의 데이터전송을 시작해보자.

binding.mainPlayerCl.setOnClickListener {
    val intent = Intent(this,SongActivity::class.java)
    intent.putExtra("title", song.title)
    intent.putExtra("singer",song.singer)
    startActivity(intent)
}

미니플레이어를 클릭하였을 때 현재 액티비티에서 노래액티비티로 변환을 하는데 이 때, 

song에 저장해놨던 titie, singer를 같이 들고 가져가는 것이다.

메인액티비티에서 보냈다면 이제 노래액티비티에서 받을 차례이다.

 

if(intent.hasExtra("title") && intent.hasExtra("singer")){
    binding.songMusicTitleTv.text = intent.getStringExtra("title") //타이틀이란 키값을 가진 String으로 바꿔주는 것
    binding.songSingerNameTv.text = intent.getStringExtra("singer") //마찬가지
}

해당 데이터가 잘 가져왔는지를 확인하기 위해 if문으로 접근하고,

intent에 title과 singer이 잘 도착했다면 binding을 통하여

해당아이디에 접근해서 intent에 들어있는 가수와 제목으로 바꾸어준다.

 

제목과 가수이름으로 적혀있던 SongActivity xml파일이 맨 위의 그림처럼 라일락, 아이유로 바꿀 수 있었다.

저작자표시 (새창열림)

'Android > Basic' 카테고리의 다른 글

[Android] JetPack Navigation으로 Bottom Navigation 설정하기  (0) 2022.04.18
[Android] BottomNavigation  (0) 2022.04.17
[Android] Fragment과 Toast message  (0) 2022.04.15
[Android] Redeclaration Error  (0) 2022.04.14
[Android] Activity전환과 ViewBinding  (0) 2022.04.13
    'Android/Basic' 카테고리의 다른 글
    • [Android] JetPack Navigation으로 Bottom Navigation 설정하기
    • [Android] BottomNavigation
    • [Android] Fragment과 Toast message
    • [Android] Redeclaration Error
    쏭식
    쏭식

    티스토리툴바