Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- JavaScript
- TypeScript
- 랜덤넘버
- TextView
- fragment
- scrollview
- 리액트
- 구글맵스
- Linux
- 자바스크립트
- Android
- Hook
- button
- 코틀린
- 안드로이드
- Kotlin
- 랜덤번호
- RecyclerView
- GoogleMaps
- 스프링부트
- JS
- 오버라이딩
- SpringBoot
- npm
- nodejs
- array
- stylesheet
- Java
- Javscript
- React
Archives
- Today
- Total
타닥타닥 개발자의 일상
kotlin 코틀린 클래스에서 Parcelable 상속 하기 / Parcelable 기능으로 첫번째 화면에서 받은 데이터 두번째 화면으로 전달하는 안드로이드 화면 만들기 본문
코딩 기록/Kotlin
kotlin 코틀린 클래스에서 Parcelable 상속 하기 / Parcelable 기능으로 첫번째 화면에서 받은 데이터 두번째 화면으로 전달하는 안드로이드 화면 만들기
NomadHaven 2022. 2. 10. 22:09폴더 및 파일 구성
1. 새로 만들기 > Activity > EmptyActivity 이용해서 SecondActivity 만들기
2. Student라는 클래스 만들기
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:layout_width="518dp"
android:layout_height="78dp"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editName"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.174"/>
<EditText
android:layout_width="518dp"
android:layout_height="78dp"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editCount"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.295"/>
<EditText
android:layout_width="518dp"
android:layout_height="78dp"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editLevel"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.41"/>
<Button
android:text="이동"
android:layout_width="504dp"
android:layout_height="109dp"
android:id="@+id/move"
app:layout_constraintTop_toBottomOf="@+id/editLevel"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.153"/>
</androidx.constraintlayout.widget.ConstraintLayout>
activity_second.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecondActivity">
<TextView
android:text="TextView"
android:layout_width="443dp"
android:layout_height="238dp"
android:id="@+id/textView"
app:layout_constraintTop_toTopOf="parent"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintVertical_bias="0.251"/>
<Button
android:text="읽기"
android:layout_width="270dp"
android:layout_height="137dp"
android:id="@+id/read"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.151"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Student.kt
package com.example.sample34
import android.os.Parcel
import android.os.Parcelable
class Student(var name:String?,var count:Int, var level:String?) : Parcelable{
constructor(parcel: Parcel):this(parcel.readString(),parcel.readInt(),parcel.readString()){
}
override fun writeToParcel(parcel: Parcel?, p1: Int) {
parcel?.writeString(name)
parcel?.writeInt(count)
parcel?.writeString(level)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Student> {
override fun createFromParcel(parcel: Parcel): Student {
return Student(parcel)
}
override fun newArray(size: Int): Array<Student?> {
return arrayOfNulls(size)
}
}
}
MainActiviky.kt
package com.example.sample34
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val editName = findViewById<EditText>(R.id.editName)
val editCount = findViewById<EditText>(R.id.editCount)
val editLevel = findViewById<EditText>(R.id.editLevel)
val move = findViewById<Button>(R.id.move)
move.setOnClickListener {
var student = Student(editName.text.toString(),editCount.text.toString().toInt(),editLevel.text.toString())
//이동 준비
val nextIntent = Intent(this,SecondActivity::class.java)
//꾸러미 챙기기
nextIntent.putExtra("Student",student)
//꾸러미 보내기
startActivity(nextIntent)
}
}
}
SecondActivity.kt
package com.example.sample34
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val textView = findViewById<TextView>(R.id.textView)
val read = findViewById<Button>(R.id.read)
read.setOnClickListener {
//꾸러미 풀기
var student = intent.getParcelableExtra<Student>("Student")
if(student!=null){
textView.text = "${student.name} ${student.count} ${student.level}"
}
}
}
}
실행화면
'코딩 기록 > Kotlin' 카테고리의 다른 글
Comments