- Activity
: 화면에 표시되는 UI 구성을 위해 가장 기본이 되는 요소 > 화면에 앱의 UI를 표시하기 위해 사용
: MainActivity가 앱 실행 시 최초로 보여지는 Activity
: Activity의 정보 확인은 "AndroidManifest.xml" 파일에서 확인할 수 있다.
- Fragment (p. 339)
: TextView와 같이 Activity 화면을 구성하는 뷰 / Activity처럼 동작한다.
: 태블릿처럼 화면이 넓은 기기에서 동작하는 앱을 개발할 수 있도록 제공
: 탭 버튼이 여러개 있는 화면에서 각 버튼을 클릭할 때 나오는 여러개의 화면에 사용 가능
: 화면 분할 시 ) 왼쪽과 오른쪽에 각각의 클래스를 분리해서 작성 > 액티비티에서는 두 클래스를 조합만 한다.
: 장점 ) 하나의 액티비티 클래스를 길게 작성하지 않아도 된다.
- Data Class
: data 키워드로 선언
: 역할 ) 자주 사용하는 데이터를 객체로 묶어준다
: 장점 ) VO 클래스를 편리하게 이용할 수 있게 해준다. / 객체의 데이터를 비교할 때 훨씬 편리하다.
//일반 클래스
class NonDataClass(val name: String, val email: String, val age: Int)
//data 클래스
data class DataClass(val name: String, val email: String, val age: Int)
- Binding
: 레이아웃 XML 파일에 선언한 뷰 객체를 코드에서 쉽게 이용하는 방법
: findViewById() 함수를 대체하여 사용
: 사용 준비 : 그래들 파일에 ViewBinding 선언
: 바인딩 객체 이용법 :
class MainActivity : AppCompatActivity() {
//바인딩 객체 선언
lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 바인딩 객체 획득
binding = ActivityMainBinding.inflate(layoutInflater)
//액티비티 화면 출력
setContentView(binding.root)
//뷰 객체 이용
binding.mainPlayerLayout.setOnClickListener {
Log.d("nowSongId", song.id.toString())
val editor = getSharedPreferences("song", MODE_PRIVATE).edit()
editor.putInt("songId", song.id)
editor.apply()
startActivity(intent)
}
- Intent(SongAct을 실행하려는 의도를 가진다)
- 컴포넌트를 실핸하려고 시스템에 전달하는 메세지 / 데이터를 담는 클래스 ( 기능 수행 함수 제공 X)
- Ex ) MainAct에서 SongAct 클래스를 실행방법 : 시스템에 인텐트를 전달 > 시스템에서 인텐트 정보 분석 > 그에 맞는 컴포넌트 실행
-
//인텐트를 시스템에 전달하는 코드 (@MainActivity는 생략 가능) val intent = Intent(this@MainActivity, SongActivity::class.java) startActivity(intent)
- 명시적 인텐트 : 클래스 타입 레퍼런스 정보를 활용한 인텐트 > 내부 앱의 컴포넌트를 요청할 때 사용
- 암시적 인텐트 : 인텐트 필터 정보를 활용한 인텐 > 외부 앱의 컴포넌트를 요청할 때 사용
- setOnClickListener
: 클릭시 이벤트 발생 ( 이벤트 내용은 함수 내용과 동일 )
- Activity 전환
- startActivity() : 화면을 되돌릴 필요가 없을 때 사용
- finish() : 엑티비티를 종료할 때 사용 ( 생명 주기에서 자세히 다룸)
- Fragment 전환
locker 어뎁터에서 Fragment 전환을 하는 코드이다.
override fun createFragment(position: Int): Fragment {
return when(position){
0 -> SavedSongFragment()
1 -> SavedLikeFragment()
else -> SavedAlbumFragment()
}
- Toast : 토스트 메시지 사용하기
Toast.makeText(getApplicationContext(), "토스트 메세지", Toast.LENGTH_SHORT).show();
- Log
static 메서드Log.v("태그", "메시지");
v verbose i info d debug w warning e error
'안드로이드' 카테고리의 다른 글
[UMC] 6주차 - ListView/ RecyclerView / 데이터 렌더링 (0) | 2022.01.05 |
---|---|
[UMC] 5주차 - 액티비티 생명주기 / MediaPlayer / GSON,JSON (0) | 2022.01.05 |
[UMC] 4주차 - Thread(스레드) 개념 및 사용법 (0) | 2022.01.05 |
[UMC] 3주차 - 다양한 화면 전환 (0) | 2022.01.05 |
[UMC] 1주차 - 앱의 기본 기능 구현 (0) | 2022.01.05 |