1. [Main] 화면 Seekbar 구현해서 [Song] 에서의 진행시간이 반영하기
- LifeCycle
- Lifecycle Why?
- Lifecycle 패러다임
1. 활성 상태 : 액티비티가 실행되어 화면에 나오고 사용자 이벤트를 처리할 수 있는 상태 / onCreate > onStart > onResume 순으로 함수가 호출되며 setContentView 함수를 onCreate에서 호출하여 출력한 내용이 액티비티 화면에 나오도록 한다.
2. 일시 정지 상태 : onPause 함수까지 호출된 상태 / 화면 분할 모드에서 확인할 수 있다. (사용자 이벤트 처리 불가능)
3. 비활성 상태 : 액티비티가 종료되지 않고 화면에만 보이지 않는 상태 / 앱 실행 상태에서 홈 화면만 눌렀을 때
onPause > onStop 함수까지 호출된다. 여기서 다시 액티비티를 화면에 보이면 onRestart > onStart > onResume 함수가 호출된다.
onCreate 함수에서 서버와 연결하여 어떠한 데이터를 지속적으로 받아와 화면에 출력할 때, 비활성 상태일때는 데이터를 받을 필요가 없다. > 다른 생명 주기 함수를 활용하여 데이터 받는 것을 멈춘다.
액티비티의 상태 저장 :
액티비티 화면이 회전할 때의 함수 실행 과정은 다음과 같다.
onCreate > onStart > onRestoreInstanceState > onResume (화면 회전)
> onPause > onStop > onSaveInstanceState > onDestroy > (액티비티 종료 : 이때 데이터 모두 삭제)
onCreate > onStart > onRestoreInstanceState > onResume
따라서 복원해야할 데이터가 있다면 Bundle이라는 객체에 담으면 된다. (진하게 표시한 것)
- MediaPlayer
- MediaPlayer Create
- MediaPlayer Pause
- MediaPlayer Start
- MediaPlayer Release
- SharedPrefereneces
- Editor
- GSON / JSON
- GSON 이란?
1) 정의 : Java object를 Json으로의 변환, Json을 Java Object로의 변환을 도와주는 라이브러리 , 바로 바꿀 수 없으니 중간다리 역할
2) 사용 방법
step 1. JSON 파일 준비하기
step 2. gradle에 라이브러리 추가하기
step 3. 데이터 VO클래스 작성하기 Json 데이터들을 파싱하기 전에 데이터를 담을 그릇을 준비하는 과정 정보들을 담을 VO 클래스를 만든다. ( 이때, JSON에 작성한 key와 동일한 변수 명을 작성해야 한다)
step 4. Json 파싱하기 fromJson() : Json 형식의 데이터를 지정한 타입의 데이터로 반환 toJson() : 지정된 타입의 데이터를 JSON형식의 데이터로 변환
<실습 과정> 우리는 json형태로 바꿔서 getSharedPreferences에 넣어주었음
step 3. gson을 전역변수로 선언
step 4. json형태로 변환 val json = gson.toJson(song) : song데이터 객체를 json으로 변환하는 코드
step 5. editor를 사용하여 key값과 함께 getSharedPreferences함수에 넣어줌
-
- JSON 이란?
1) 정의 : JavaScript Object Notation의 약자로 데이터를 구조적으로 표현하기 위한 일종 의 포멧으로 네트워크를 통해 데이터를 주고 받을 때 사용되는 경량의 데이터 형식
2) 장점
Json 데이터 형식의 특징
- 읽고 쓰는 것이 간단하다 - 간단한 텍스트 기반의 경략 데이터 교환 형식이다 > 가볍다 - Json 데이터 형식은 언어 독립적이며 다양한 프로그래밍 언어와 함께 사용할 수 있다.
3) 형태
Json은 name : value 형태의 쌍으로 이루어져 있다. value가 String형 데이터 일 경우 “”큰 따옴표로 묶어준다.
이때 value에는 배열이나 객체 와 같은 다양한 타입이 들어갈 수 있다.
➢ value값에 객체가 들어갈 경우 : 중괄호 {}로 표기한다. ➢ 배열이 들어갈 경우 : 대괄호 [] 로 표기한다.
4) Json 파싱하기
Json 형태의 데이터 포멧을 파싱하여 안드로이드 앱 내에서 List형식으로 보여줄 수 있다.
step 1. 프로젝트에 Json 파일 추가하기 app > asset 에 새로운 파일로 Json 파일을 추가한다.
step 2. Json 파일 읽어오기 Json 파일을 읽어와 파일 내용을 String 변수에 담아 return 하는 역할의 함수를 선언해 준다. step 3. Json 파싱 하기 JSONObject생성 > JSONObject로부터 키에 맞는 값 들고 오기 > JSONArray 생성 > JSONArray 사용 JSONArray : 배열에 대한 정보 제공 / 인자정보로 가져오고자 하는 값에 key값을 넘기기 위해 get함수를 호출한다.
'안드로이드' 카테고리의 다른 글
[UMC] 7주차 - RoomDB (0) | 2022.01.05 |
---|---|
[UMC] 6주차 - ListView/ RecyclerView / 데이터 렌더링 (0) | 2022.01.05 |
[UMC] 4주차 - Thread(스레드) 개념 및 사용법 (0) | 2022.01.05 |
[UMC] 3주차 - 다양한 화면 전환 (0) | 2022.01.05 |
[UMC] 2주차 - 화면 전환 (0) | 2022.01.05 |