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 | 29 | 30 | 31 |
Tags
- 백준 스택 시간초과 python
- JS
- 알고리즘
- 코딩테스트
- 안드로이드
- 리액트
- C++
- Python
- Android
- kotlin
- 스택
- 백준 스택
- nodejs
- next Link
- react
- HTML
- 타입스크립트
- stdin vs input
- javascript
- CSS
- 최적화
- k for k
- typescript
- NPM
- firebase
- 자바스크립트
- TS
- 프론트엔드
- 파이어베이스
- 파이썬
Archives
- Today
- Total
sooleeandtomas
코틀린 화면 구성하기 본문
#MainActivity
fun clickNewActivity(view:View){
Toast.makeText(view.context, "하이", Toast.LENGTH_SHORT).show();
var intent = Intent(this, newActivity::class.java)
//this: 출발 컨텍스트(맥락, 어느화면)(this@MainAcitivyty) -> newActivity: 도착
//newActivity 와 newActivity::class.java는 다르다.
intent.putExtra("PersonalKey", "ISTJ")
startActivity(intent)
}
리플랙션(Reflection)이란
코틀린에서 더블콜론(::)은 리플렉션을 위해 사용한다. 리플렉션이란 코드를 작성하는 시점에는 런타임상 컴파일된 바이트 코드에서 내가 작성한 코드가 어디에 위치하는지 알 수 없기 때문에 바이트 코드를 이용해 내가 참조하려는 값을 찾기위해 사용한다.
#NewActivity
//Toast로 띄우기
fun(){
...
var personalKey = intent.getStringExtra("PersonalKey")
//mainActivity에서 설정한 putExtra("Key", "Value")의 key값을 통해서 가져온다.
Toast.makeText(this, personalKey, Toast.LENGTH_SHORT).show()
}
//TextView로 띄우기
class newActivity: AppCompactActivity(){
private lateinit var textView: TextView;
fun(){
...
var value = intent.getStringExtra("PersonalKey")
textView = findViewById(R.id.textView)
textView.text = value;
}
}
#반복 렌더링 처리하기
class MainActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun clickTypeButton(view: View){
var button = view as Button
//view > button
var myIntent = Intent(this@MainActivity, DetailActivity::class.java)
// from @MainActivity to DetailActivity
//공유할 수 있는 Activity를 설정
myIntent.putExtra("PersonalKey", button.text)
//버튼의 내용을 가져옴
startActivity(intent)
}
}
class DetailActivity : AppCompatActivity(){
private lateinit var textView: TextView
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstaceState)
setContentView(R.layout.activiy_detail)
var personalKey = intent.getStringExtra("PersonalKey")
textView = findViewById(R.id.textView)
textView.text= personalKey
}
}
'코틀린 > kotlin' 카테고리의 다른 글
안드로이드스튜디오에서 domain 모듈 분리하는 방법 (0) | 2022.07.13 |
---|---|
안드로이드 코틀린 아키텍쳐와 테스트 (1) (0) | 2022.07.13 |
android studio를 M1에서 사용하기 (0) | 2021.09.13 |
코틀린 문법 (0) | 2021.09.07 |
Comments