일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 회원가입
- call by reference
- Android
- Kotlin
- 변수
- 면접준비
- ExoPlayer2
- Gone
- 4대컴포넌트
- 버튼 투명화
- 상수
- Visible
- invisible
- FullScreen
- 안드로이드
- Regex
- ExoPlayer
- Var
- SharedPreference
- 비밀번호
- 휴대전화
- call by value
- Val
- 전체화면
- 핸드폰번호
- 유효성 검사
- Button
- 코틀린
- 생명주기
- 자바
- Today
- Total
목록전체 글 (10)
천천히 , 강하게 멀리
유튜브 처럼 전체화면을 구현하고 싶었다. 내가 구현한 방법은 ExoPlayer의 비디오 컨트롤러를 변경하고 전체화면 버튼을 눌렀을때 다른 액티비티로 이동하여 영상을 화면 가득히 보이게 하였다. 우선 전체화면이 될 액티비티를 만들고 AndroidManifest.xml 에 screenOrientation 과 theme 를 변경하였다. screenOrientation 을 fullSensor 를 하면 휴대폰을 어떤 방향으로 돌리든 화면이 돌아간다. 그리고 새롭게 만들 컨트롤러의 레이아웃을 만든다. custom_controls.xml 이제 동영상이 재생될 액티비티 레이아웃에 PlayerView를 배치한다. app:controller_layout_id="@layout/custom_controls" 위에 코드가 새롭..
## 안드로이드 4대 컴포넌트에 대해 설명해보세요. 안드로이드를 구성하는 구성요소로 Activity , Service , Content Provider , Broadcast Receiver 가 있습니다. Activity 는 UI 를 가지는 화면을 나타냅니다. 화면마다 Activity 로 구현되며 xml 파일을 통해 뷰와 레이아웃을 구현하고 setContentView() 를 통해 파일을 메모리로 Inflate 시켜 화면에 출력합니다. Service 는 화면 없이 백그라운드에서 실행되는 구성요소로써 오랫동안 작업을 하거나 원격 작업을 수행할 경우 사용됩니다. 보통 음악을 재생하거나 화면과 별개로 타이머를 재거나 네트워크 통신을 할 경우 사용됩니다. Content Provider 는 공유된 앱 데이터를 관리합..
## Call by Reference vs Call by Value in Kotlin Call by Value는 데이터의 값을 복사하여 함수로 전달해서 데이터의 원본은 변경되지 않는다. 하지만 매번 인자로 전달해줄때마다 메모리 공간을 할당하기 때문에 메모리 공간이 더 사용된다. Call by Reference는 데이터 값의 주소를 복사하여 전달하기 때문에 메모리 공간의 문제는 없지만 데이터의 원본이 훼손될수 있다.
SharedPreference 값 저장 fun saveKey(Key : String, Value : String) { val pref = getSharedPreferences("pref", Context.MODE_PRIVATE) val ed = pref.edit() ed.putString(Key, Value) ed.apply() } SharedPreference 값 불러오기 val pref = getSharedPreferences("pref", Context.MODE_PRIVATE) targetKey = pref.getString(Key, 0) SharedPreference Key 삭제 fun removepref(Key : String) { val pref = getSharedPreferences("pr..
## 안드로이드 생명주기에 대해 설명해보세요. 액티비티는 크게 3가지 상태가 존재합니다. 먼저 실행(running) 상태는 액티비티 스택의 최상위에 있으며 포커스를 가지고 있어 사용자에게 보이는 상태입니다. 다음으로 일시 중지(paused) 상태는 사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태를 말합니다. 예를들어 대화상자가 위에 있어 일부가 가려져 있는 경우를 말합니다. 마지막으로 중지 (stopped) 상태는 다른 액티비티에 의해 완전히 가려져 보이지 않는 상태를 말합니다. 액티비티가 처음 만들어지면 onCreate 메소드가 호출되어 레이아웃을 구성합니다. 이후 onStart 메소드가 화면에 보이기 직전에 호출됩니다. 다음으로 onResume 메소드가 사용자 상호작용..
## 변수(var) vs 상수(val) in Kotlin 변수는 데이터의 보존과 관리를 하는것이 주목적이고, 상수는 정해져있는 값만 사용하고 변경은 하지않는것이 주목적이다. 수시로 변하는 데이터들은 변수로 선언하여 사용하는것이 바람직하고 변경되지 않아야할 데이터들은 상수로 선언하여 사용하는것이 바람직하다.
allprojects { repositories { google() jcenter() } } build.gradle 프로젝트 경로에 이렇게 추가를 해준다. compileOptions { targetCompatibility JavaVersion.VERSION_1_8 } build.gradle app 경로에 추가한다. ExoPlayer 는 자바 8을 사용하기 때문에 사용할수 있게 해준다. implementation 'com.google.android.exoplayer:exoplayer:2.10.5' implementation 'com.google.android.exoplayer:exoplayer-core:2.10.5' implementation 'com.google.android.exoplayer:exopl..