Intro 안드로이드에서 음악, 영상 등을 재생하려면 MediaPlayer를 사용해야 한다. 오늘 해볼 음원 재생은 따로 뷰는 필요없지만, 그만큼 리소스 관리를 잘하여야 한다. 음원을 재생 후 따로 리소스 해제를 제대로 해주지 않는다면, 에러가 발생하거나 기능 자체가 원하는 의도대로 제대로 동작하지 않을 것이다. 내가 이번에 했던것은 단순하게 raw 폴더의 리소스를 재생하는 것이었지만, 2개의 리소스를 겹치지 않게 연달아 실행하기 위해 몇가지 셋팅이 필요했다. Summary MediaPlayer는 기본적으로 제공되는 라이브러리이고, developers에서는 다음과 같이 설명하고 있다. 미디어 프레임워크의 가장 중요한 구성요소 중 하나는 MediaPlayer 클래스입니다. 이 클래스의 객체는 최소한의 설정..
프로젝트를 진행하다보니 가끔 뷰에 애니메이션을 적용하는 것이 필요했다. 복잡한 애니메이션은 잘 적용할 일이 없지만, 회전, 이동 등의 간단한 애니메이션은 생각보다 꽤나 자주 쓰이게 된다. 최근 내가 적용한 애니메이션은 Rotate Animation이다. 주로 로딩 프로그래스를 이미지로 만들때 사용하곤 한다. 그럼 시간이 없으니 바로 본론으로 들어가 보자. 1. 일회성 애니메이션 view.animate().apply { duration = 100 rotation(180f) } 180도 회전하는 방법이다. 원래대로 돌리려면 rotation에 0을 넣어주면 된다. view.animate().apply { duration = 100 rotation(0f) } 2. 무한 회전(무한 프로그래스) 무한으로 회전하는 ..
안드로이드에서 기본적으로 Intent를 만들어 startActivity하면, 디폴트값으로 설정된 애니메이션과 함께 액티비티가 이동된다. 개발하다보면, 가끔 애니메이션없이 화면만 바뀌는 듯한 효과를 주고 싶을 때가 있다. 바로 본론으로 들어가보자. 보통의 방법으로는 Manifest.xml에 Intent Filter를 설정해주거나, 코드에서 Intent를 생성할때, Flag를 추가하여 이동한다. val intent = Intent(context, NextActivity::class.java) intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION) startActivity(intent) 또는, 다음과 같이 액티비티 시작시에 onCreate 또는 onResume 에서 설정해주..
앱 사용자와의 상호작용의 기본으로 AlertDialog를 많이 사용하게 됩니다. 저는 확장함수로 구현을 해보았습니다. Context의 확장함수로 구현해서 액티비티 단에서 쉽게 호출할 수 있어서 자주 사용하는 방법입니다. 기본 다이얼로그 가장 기본적인 호출 방법 입니다. fun Context.showAlertDialog() { AlertDialog.Builder(this).apply { setTitle("제목") setMessage("내용") setPositiveButton("확인") { dialog, which -> // 확인 눌렀을 때 동작 dialog.dismiss() } setNegativeButton("취소") { dialog, whick -> // 취소 눌렀을 때 동작 dialog.dismiss..
개발을 진행하다 보면 가끔 앱의 실행상태를 체크해야 하는 경우가 있습니다. 안드로이드 앱의 경우에는 홈 키를 눌러 앱을 작업관리자에 그대로 실행해 두는 경우가 많죠. 이런 경우에 백그라운드 상태에 들어갔다고 보는데... 상태값을 어떻게 체크해야 할까요? 바로 Application 클래스에서 LifecycleObserver로 임의로 상태값을 저장하고 끌어다가 사용하는 방법이 있습니다. 생명주기를 체크함으로써 간단하게 상태값을 저장할 수 있습니다. LifecycleObserver 에서는 아래와 같은 생명주기 체크가 가능하니 참고하시고, 필요에 따라 구현해서 쓰시면 되겠습니다. 자 그럼...시작해보겠습니다. 일단 아래처럼 Application 클래스를 만들고 LifecycleObserver 인터페이스를 불러옵..
- Total
- Today
- Yesterday
- toml
- sqld 자격증 합격
- 변수
- gem update
- Java
- 격파르타 합격후기
- 코틀린
- rotate
- .toml
- 자바
- NoAnimation
- 아이폰앱개발
- 안드로이드
- 스위프트
- Xcode
- Android
- 함수
- 버전카타로그
- ~=
- Swift
- rotation
- 격파르타 후기
- dart
- Kotlin
- 아이폰
- 격파르타 장점
- 연산자
- 음성재생
- FLUTTER
- IOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |