목록안드로이드 (8)
사고쳤어요

먼저 다음 공식 사이트의 글을 참조하면 더욱 정확히 알 수 있다.https://developer.android.com/codelabs/basic-android-kotlin-compose-navigation?hl=ko Compose를 사용하여 화면 간 이동 | Android DevelopersCupcake 앱에 Navigation 구성요소를 추가하여 앱의 흐름을 구성하고 여러 화면 간에 데이터를 탐색하고 전달합니다.developer.android.com Android에서 Compose를 사용할 때의 화면 전환 방법은 기존과 다르다.기존에는 Intent를 사용하여 화면 전환을 쉽게 할 수 있었지만, Compose에서는 NavHost를 사용하여야 한다.그러면, NavHost를 활용한 Compose에서의 화..

지난 여름에 진행했던 프로젝트를 Google Play에 올리는 과정에서 문제가 발생하였다.aab로 앱을 올리고, 검토까지 마친 비공개 테스트를 진행해야 하는 상황이었다.비공개 테스트 → 테스터에서 테스트에 엑세스할 수 있는 이메일을 추가해주고, 하단의 '테스트 참여 방법'에서 링크 복사를 하여 이동해준다. 복사한 링크를 따라 이동하면 Google Play에서 우리가 올린 사전 체험판 앱을 확인할 수 있고, 설치까지 진행할 수 있다.그런데 여기서 문제가 발생하는데, 설치한 앱에서 Google Login이 진행되지 않는다;;; 디버깅 단계에서 설치한 앱에서는 왼쪽 사진처럼 구글 로그인이 잘 되는데, Google Play에서 설치한 앱에서는 구글 로그인이 진행되지 않고 반응이 없다. 그런데 또 네이버 로그..

기존에 만들었던 앱을 Wear OS로도 사용할 수 있도록 해보자!먼저 안드로이드스튜디오의 작업중인 프로젝트에서 File → Product Structure 을 선택한다. Modules의 Modules에서 +버튼(New Module)을 선택한다. 이름, SDK를 설정하고 Next를 누른다.공식 문서에서는 중국 외부에서 사용할 경 Tiramisu(Android 13.0)를 선택하라고 해서 Tiramisu로 진행하였다. 모듈을 선택해주고 Activity Name을 선택해주면 끝이다. 이제 Virtual Device에 워치를 등록하고 앱을 실행해보자.먼저 Device Manager에서 Create Virtual Device를 선택한다.Wear OS에 4가지 종류의 워치가 있는데, 나는 가장 일반적인 둥근 Wea..

점수 +, - 버튼을 구현했으니 세트 점수까지 구현해보자!xml에 간단히 TextView와 Button을 적용한 화면은 다음과 같다. 세트 점수가 없을 때까지는 괜찮았는데, 굉장히 못생겨졌다...버튼이 없으면 좀 나아질까 싶어 화면에 존재하는 모든 버튼을 제거해보았다. 전보다는 훨씬 봐줄만 한 것 같다. 그런데 버튼을 없애면 점수를 어떻게 올리고 내려야 할까?고민을 하다가 화면을 한 번 탭하면 점수 증가, 두 번 탭하면 점수 감소로 기능을 구현하기로 결정하였다.그리고 GestureDetector의 onDoubleTap() 을 사용하면 해당 기능을 사용할 수 있어 GestureDetector를 사용하여 기능을 구현해보았다. @SuppressLint("ClickableViewAccessibility")f..

+, - 버튼을 만들고 ripple 효과까지 적용했으니 실제로 버튼을 누르면 점수가 증가, 감소하도록 기능을 구현해보자.먼저 Scoreboard.kt 파일을 만들어 클래스를 정의해준다.class Scoreboard{ var score: Int = 0 var setsScore: Int = 0 fun plusScore() { score++ } fun minusScore() { score-- } fun plusSetsScore() { setsScore++ } fun minusSetsScore(){ if (setsScore > 0) { setsScore-- } }} 후에 세트스..

+, - 버튼을 만들어보자.먼저 xml 파일에서 기본적인 버튼을 넣은 화면은 다음과 같다. 솔직히 말하면... 못생겼다.이를 안드로이드도 알고 있는지, 기본적인 버튼을 만들면 다음과 같은 경고문을 띄워준다.Buttons in button bars should be borderless; use style="?android:attr/buttonBarButtonStyle"버튼은 경계가 없어야 하고, style="?android:attr/buttonBarButtonStyle"를 추가하라는 말인데 그래서 바로 추가해 보았다. 버튼의 경계선이 사라지고 배경이 투명한 색으로 바뀌었다.확실히, style 문장 하나를 추가해주니 훨씬 보기 좋은 모양으로 버튼의 생김새가 변하였다.그런데 나는 버튼이 눌릴 때 색이 변하..

제작할 점수판 앱은 가로 화면에 최적화되어있으므로 이를 설정해준다.앱을 가로로 설정하는 방법은 두 가지가 있다.1. AndroidManifest.xml 수정AndroidManifest.xml을 열고 사이에 android:screenOrientation="landscape"를 추가해준다.이 경우 화면이 가로로 잘 나오지만 취소선과 함께 경고 문구가 나온다.문구를 읽어보면 다른 factor에서 불안정할 수 있기 때문에 Activity를을 고정된 방향으로 제한해서는 안 된다는 것 같다. 2. Kotlin 파일에서 requestedOrientation 변경class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState:..

친구와 함께 배드민턴, 탁구 등의 운동을 하다보면 점수 내기를 하는 경우가 많다.그리고 경기를 진행할 때마다 1대0, 2대0, 2대1과 같이 점수를 말하며 세는데경기에 집중하다보면 점수가 몇 점이었는지를 까먹는 일이 종종 발생한다. 이를 해결하기 위해 Google Play 스토어에 '점수판' 앱을 검색해보고 여러 가지 앱을 써보았다. 모두 훌륭한 앱이었지만, 사람들이 입을 모아 한 가지 말하는 것이 있었다."갤럭시 워치를 통해 점수를 올릴 수 있으면 좋을 것 같아요"이를 보자마자 내가 한 번 만들어볼까? 라는 생각이 들었고 앱 제작을 시작하게 되었다.