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
- java
- Thymeleaf
- jpa
- Servlet
- Spring Boot
- 스프링 핵심 기능
- Proxy
- 김영한
- Greedy
- 스프링 핵심 원리
- db
- 알고리즘
- transaction
- http
- Android
- kotlin
- pointcut
- QueryDSL
- 인프런
- JPQL
- 그리디
- JDBC
- spring
- 스프링
- AOP
- springdatajpa
- SpringBoot
- 백준
- 자바
- Exception
Archives
- Today
- Total
개발자되기 프로젝트
[Android] Splash, Handler 본문
1. Splash Screen
- 스플래시 스크린은 앱 구동시 보여주는 화면임.
2. Handler
Main thread가 있고 별도의 Thread가 있다고 해보자.
만약 두 thread가 동시에 textView의 setText를 실행한다고 가정하자.
- MainThread: setText("from Main")
- BThread: setText("from B")
이렇게 동시에 시도하면 문제가 발생한다.
따라서 MainThread가 아닌 Thread는 Handler를 사용한다.
Handler의 역할은 MainThread로 다른 Thread의 message를 전달하는 것이다.
즉 위와 같은 경우는 BThread가 setText("from B")라는 내용을 message에 담아 Handler를 통해 MAinThread로 message를 전달한다.
MainThread는 이 message를 받아서 처리한다.
3. Splash 예제
- SplashActivity 구동 후 MainActivity로 전환시키는 방식
- 아무 설정을 안하면 MainActivity가 실행된다.
- MainActivity말고 바로 SplashActivity가 실행되도록 변경하자.
- AndroidManifest.xml에서 <intent-filter>부분을 SplashActivity로 옮기자.
- exported는 true로 설정
<activity android:name=".SplashActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:exported="true">
</activity>
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash)
//3000ms후에 MainActivity로 넘김
Handler().postDelayed({
startActivity(Intent(this, MainActivity::class.java))
finish()
}, 3000)
}
}
'인프런 > [인프런] 앱 8개를 만들면서 배우는 안드로이드 코틀린' 카테고리의 다른 글
[Android] Activity간 data 전달, Intent putExtra (0) | 2022.03.17 |
---|---|
[Android] CardView, 모서리 둥글게, cardCornerRadius (0) | 2022.03.17 |
Margin, Padding (0) | 2022.03.17 |
[Android] Resource (0) | 2022.02.13 |
[Android] NumberFormat (0) | 2022.02.13 |
Comments