728x90
반응형

Kotlin 10

안드로이드의 fab 사이즈 조절하기(floatingButton 사이즈)

앱을 만들다보니 floatingButton을 만들어야할 경우가 있었다. 원하는 이미지를 넣어서 만들어야했는데 아래와 같이 사이즈가 안 맞는 경우가 생겼다. 맨 아래의 x표시의 floatingButton은 원하는 사이즈로 나왔으나 위에 나오는 버튼들은 모두 사이즈가 안 맞는 모습이다. 안쪽의 작은 원이 바깥쪽의 원과 사이즈가 같아야했다. 시도 1) xml의 fabSize를 변경 첫번째로 시도한 건 values의 dimens.xml을 만들어 fabSize를 수정하는 것이였다. 40dp 40dp res → values → dimens.xml 파일 dimens.xml에 사이즈를 지정하면 xml의 app:fabSize="normal" 을 통해 원하는 사이즈로 할 수 있다. 1-1) "design_fab_image..

뮤직 플레이어(MusicPlayer)_6 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 6. 버튼 초기화하기 [코드] package com.example.simplemusicplayer import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button // View.OnClickListener : 사용자가 뷰를 클릭했을 때 어떤 행동을 할지 정할 수 있다. class MainActivity : AppCompatActiv..

뮤직 플레이어(MusicPlayer)_5 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 5. 서비스 클래스 구현하기 [com.example.simplemusicplayer] 을 우클릭하여 [New] → [Kotlin Class/File] 클릭 Class를 선택한채로 MusicPlayerService라는 이름의 클래스 파일 생성 우선 서비스 클래스의 뼈대를 만들겠습니다. [MusicPlayerService.kt] 의 뼈대 코드 package com.example.simplemusicplayer import android.app.Service import android.conten..

뮤직 플레이어(MusicPlayer)_4 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 4. 리소스 준비하기_MP3 뮤직 플레이어를 만들기 위해서는 mp3인 음악파일과 상태표시줄에 나타낼 아이콘을 다운 받아서 준비해야합니다. https://github.com/code-with-joyce/must_have_android GitHub - code-with-joyce/must_have_android: Must have 안드로이드의 모든 예제 소스들이 있습니다. Must have 안드로이드의 모든 예제 소스들이 있습니다. Contribute to code-with-joyce/must_..

뮤직 플레이어(MusicPlayer)_2 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 이번에는 지난번 뮤직 플레이어(MusicPlayer)_1편에 이어서 2편입니다. 프로젝트 진행 전 알아야할 사전지식2에 대해 정리하는 글입니다. 2. 사전지식 : 서비스와 생명주기 서비스 : 백그라운드에서 꺼지지 않고 작업을 수행하는 안드로이드 4대 구성요소 중 하나, 독립된 구성요소로 독립된 생명 주기를 가집니다. → 액티비티가 소멸되더라도 서비스는 독립된 상태로 실행됩니다., 서비스를 사용하기 위해서는 AndroidManifest.xml에 직접 추가해야합니다. 서비스의 유형에는 3가지가 ..

뮤직 플레이어(MusicPlayer)_1 [Android_Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 이번에 해볼 프로젝트는 뮤직 플레이어입니다. 프로젝트 진행 전 알아야할 사전지식1에 대해 정리하는 글입니다. 학습 목표 : 음악 재생, 일시정지, 앱이 종료되더라도 음악을 계속 재생하는 방법을 배우게 됩니다. MediaPlayer API Service(안드로이드 4대 구성요소) 사전 지식 : 오디오 재생 MediaPlayer API MediaPlayer API는 다양한 유형의 미디어 재생을 지원합니다. 방법은 Raw와 URI가 있습니다. Raw 리소스를 사용해 재생하기 res → raw 에 ..

스톱워치(StopWatch)_3 / [Android-Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 이번에는 코틀린을 이용한 스톱워치 만들기 3편입니다. 4. 버튼에 이벤트 연결하기 왼쪽의 코드를 보면 import문이 있는데 이는 class 코드를 작성하다보면 자동적으로 작성됩니다. 오른쪽의 코드를 보면 12번 줄의 OnClickListener가 있는데 이는 클릭 이벤트를 처리하는 인터페이스입니다. 자세한 OnClickListener에 대한 설명은 여기를 참고하세요. 14줄의 isRunning을 통해 스톱워치가 현재 실행되고 있는지를 확인합니다. 41번 줄의 onClick 함수는 클릭 이벤..

스톱워치(StopWatch)_2 / [Android-Kotlin]

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 전체 코드가 궁금하다면 아래 링크를 참고하시길 바랍니다. 원본 코드 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 현재 블로그 작성 코드 :Gnow 이번에는 코틀린을 이용한 스톱워치 만들기 2편입니다. 3. 텍스트뷰 추가 [activity_main.xml] 에 3개의 TextView를 만듭니다. 텍스트뷰 3개 생성 00:00.00 으로 쓰일 예정, Constraintlayout에서 제약을 추가하지 않아 빨간줄이 생긴 모습 3. 텍스트뷰 위치 조정 및 제약 추가 마우스를 통해 위치를 이동하여 수직 방향 제약을 추가할 수 있다. ‘분 텍스트뷰’를 일직선 위에 놓이도록 베이스라인을 이용해 제약 추가 텍스트뷰에 마우스 우클릭 → show Bas..

Activity의 생명 주기_Android

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 onCreate() : Activity 생성(처음 시작할때 실행되는 콜백 함수) onStart() : Activity 표시(UI 관련 로직을 초기화) onResume() : 사용자와 앱이 상호작용(다른 작업으로 넘어가지 않는 이상 계속 유지) onPause() : Activity를 떠날 경우(이 외에도 다양한 경우) onStop() : 더 이상 사용자가 Activity를 사용하지 않는 경우(이 외에도 다양한 경우) onDestroy() : Activity가 소멸되기 직전 ※ 본 게시글은 'Joyce의 안드로이드 앱 프로그래밍 - 홍정아' 책의 내용과 Android Developers의 공식문서 내용을 참고하여 작성하였습니다.

프로젝트 생성 및 프로젝트 구조(안드로이드 - 코틀린)

참고 교재 : Joyce의 안드로이드 앱 프로그래밍 - 홍정아 1) 프로젝트 생성 및 프로젝트 구조_23.01.12 [File] → [New] → [New Project…] → [Empty Activity] 를 통해 프로젝트 생성 프로젝트의 구조를 보여주는 창 코드가 입력되는 편집창 앱에 관련된 로그, 에러 등을 확인하는 창 [manifests] : 앱과 관련된 설정을 관리하는 폴더 [java] : 앱의 작동과 관련된 파일이 있는 폴더 [res] : 이미지, 레이아웃 등의 파일들을 모아둔 폴더 [Gradle Scripts] : 소스 코드를 컴파일하고 apk 파일로 패키징을 하는 폴더 [package] : MainActivity.kt 파일이 속한 패키지 [import] : 외부 라이브러리나 모듈을 추가하는..

728x90
반응형