이번 시간에는 등록한 사용자를 RecyclerView를 이용해서 리스트로 보여주는 방법에 대하여 알아보겠습니다.
이전 포스팅은 아래 링크를 들어가시면 됩니다.
2022.06.25 - [안드로이드] - [안드로이드 코틀린] Database Room 사용법 part2 - 데이터 등록
[안드로이드 코틀린] Database Room 사용법 part2 - 데이터 등록
이번 시간에는 Room을 이용해서 DB에 데이터 등록하는 방법을 알아보겠습니다. 이전 포스팅은 아래 링크를 들어가시면 됩니다. 2022.06.24 - [안드로이드] - [안드로이드 코틀린] Database Room 사용법 pa
aries574.tistory.com
- 설명 -
1. 이름과 나이를 보여주는 TextView
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:cardCornerRadius="10dp"
app:cardElevation="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/name_text"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textStyle="bold"/>
<TextView
android:id="@+id/age_text"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:textSize="20sp"
android:textStyle="bold"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
- 설명 -
1. 데이터와 아이템 화면을 연결해주는 클래스
class UserAdapter: RecyclerView.Adapter<UserAdapter.MyViewHolder>() {
private lateinit var userList: List<User>
class MyViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){
val nameText: TextView = itemView.findViewById(R.id.name_text)
val ageText: TextView = itemView.findViewById(R.id.age_text)
}
//화면 설정
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val view: View = LayoutInflater.from(parent.context)
.inflate(R.layout.list_item, parent, false)
return MyViewHolder(view)
}
//데이터 설정
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.nameText.text = userList[holder.adapterPosition].userName
holder.ageText.text = userList[holder.adapterPosition].userAge
}
//아이템 갯수
override fun getItemCount(): Int {
return userList.size
}
//아이템 등록
fun setUserList(userList: List<User>){
this.userList = userList
}
}
- 설명 -
1. adapter = UserAdapter()
Adapter 초기화
2. recyclerView.adapter = adapter
RecyclerView Adapter 적용
3. adapter.setUserList(userList)
Adapter에 데이터 적용
class MainActivity : AppCompatActivity() {
private lateinit var adapter: UserAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val insertBtn: FloatingActionButton = findViewById(R.id.insert_btn)
insertBtn.setOnClickListener {
val intent: Intent = Intent(this, InsertActivity::class.java)
activityResult.launch(intent)
}
//RecyclerView 설정
val recyclerView: RecyclerView = findViewById(R.id.recyclerView)
recyclerView.layoutManager = LinearLayoutManager(this)
//UserAdapetr 초기화
adapter = UserAdapter()
//Adapter 적용
recyclerView.adapter = adapter
//사용자 조회
loadUserList()
}
private val activityResult: ActivityResultLauncher<Intent> = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()){
if(it.resultCode == RESULT_OK){
//돌아온 값이 OK라면
//사용자 조회
loadUserList()
}
}
//사용자 조회
private fun loadUserList(){
val db: AppDatabase? = AppDatabase.getDatabase(applicationContext)
val userList: List<User> = db?.userDao()!!.getAllUser()
if(userList.isNotEmpty()){
//데이터 적용
adapter.setUserList(userList)
}
}
}
2022.06.20 - [안드로이드] - [안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 갤러리 느낌으로 만드는 방법
[안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 갤러리 느낌으로 만드는 방법
이번 시간에는 뷰페이저2(ViewPager2)를 이용해서 이미지를 가로, 세로 방향으로 밀어서 갤러리 느낌으로 보여주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. dataBinding 설
aries574.tistory.com
2022.06.17 - [안드로이드] - [안드로이드 코틀린] 정해진 시간에 알람 울리는 방법 Notification TimePickerDialog part1 - 설정
[안드로이드 코틀린] 정해진 시간에 알람 울리는 방법 Notification TimePickerDialog part1 - 설정
사용자가 정한 시간에 알람이 울리게 하는 방법에 대하여 알아보겠습니다. 이번 시간에는 알람 관련 클래스와 설정들을 만들어 보겠습니다. 목차 1. 알람 클래스 만들기 NotificationHelper.kt 2.
aries574.tistory.com
2022.06.14 - [안드로이드] - [안드로이드 코틀린] Tab Custom Animation part1 - 화면 구성 및 설정
[안드로이드 코틀린] Tab Custom Animation part1 - 화면 구성 및 설정
앞으로 TabLayout을 직접 만들어 애니메이션 기능까지 넣어보도록 하겠습니다. 이번 시간에는 화면 구성 및 설정을 만들어 보겠습니다. 목차 1. 실행 화면 2. dataBinding 설정 build.gradle 3. 테마 변경 t
aries574.tistory.com
[안드로이드 코틀린] Database Room 사용법 part5 - 삭제 (0) | 2022.06.28 |
---|---|
[안드로이드 코틀린] Database Room 사용법 part4 - 수정 (0) | 2022.06.27 |
[안드로이드 코틀린] Database Room 사용법 part2 - 데이터 등록 (0) | 2022.06.25 |
[안드로이드 코틀린] Database Room 사용법 part1 - Room 설정 (0) | 2022.06.24 |
[안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 화면 변경 버튼 만드는 방법 (0) | 2022.06.23 |
댓글 영역