본문 바로가기

Android125

Android Studio, Kotlin] WindowManager을 이용하여 휴대폰 최상단에 화면 그리기 요즘 휴대폰 최상단에 뷰를 그려주는 앱이 많다. 아마 "다른 앱 위에 그리기" 를 허용하는 앱이 많은 것을 다들 보셨을텐데, 그 기능이다. 어떻게 사용하는지 보자. 간단하게 액티비티와 윈도우에 구애받지 않는다는 것을 보여주기 위해 두 개의 액티비티와, 윈도우 위에 그릴 하나의 뷰를 준비한다. 예시 파일은 아래에 접어두었다. (접은 글 안에 있는, 최상단 뷰를 호출하는 코드와 권한을 요쳥하는 코드는 아직 포함하지 않았다.) (또한, 뷰를 껐다가 켤 수 있는 전역변수를 const로 지정하기 위해 object 파일을 하나 더 만들었다) 더보기 - MainActivity.kt class MainActivity : AppCompatActivity() { private lateinit var textViewMain.. 2023. 3. 16.
WindowManager가 무엇일까? 최상단에 뷰를 넣어야 할 일이 생겼다. 그럼 이걸 어떻게 넣는데? 바로 WindowManager을 이용하는 것이다. 그럼 WindowManager은 뭔데? 우리가 앱을 만들 때, 기본적으로는 볼 일이 없는 인터페이스다. 뷰를 알아서 윈도우에 붙여주는게 오버라이딩 되어있으니 평소에는 볼 일이 없는 것이다. 역할은 표면을 할당하고 애플리케이션(애플리케이션)이 이동할 위치와 계층화 방법을 결정한다. 근데 뷰가 액티비티에 종속되지 않고 윈도우에 종속되어야 하는.. 그런 특수한 상황이 발생한다면, 그 때 호출하는 매서드이다. 이 때, 액티비티를 굳이 호출하지 않고도 windowmanager과 직집 소통할 수 있다. 그래서 그거 어떻게 하는건데? 호출은 간단하다. 액티비티에 종속되어 있기 때문에 activity를 .. 2023. 3. 16.
JAVA] 안드로이드 진동 구현 프로젝트 중에 안드로이드 진동을 구현해달라는 의뢰를 받았다. 진동 구현은 어렵지 않다. 먼저 AndroidManifest.xml에 진동 관련 퍼미션을 추가한다. 진동엔 두가지 방법이 있는데, vibrate매서드에 넣는 값에 따라 달라지는데 VibrationEffect.createOneShot(int milliseconds, int amplitude)는 시간과 강도를 조절할 수 있지만 API 26 이상에서만 동작한다. (int milliseconds) 시간만 넣게 되면 강도는 조절할 수 없지만 API와 관계 없이 진동을 넣을 수 있다. 진동 예시 public class ExampleActivity extends AppCompatActivity { private ImageView imageViewExampl.. 2023. 1. 19.
[Android Studio] Google Firebase 연동하기(2022.02 이후) 갑자기 하던 프로젝트에서 구글 파이어베이스를 연동해야 할 일이 있어서 연동하다가, 플러그인도 최신 버전으로 업데이트 되면서 연동방식이 변동되었다는걸 깨달았다. 기존에서 안드로이드에서 구글 파이어베이스를 연동하는 법은 다음과 같았다. -build.gradle(프로젝트 단위) // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = "1.4.21" repositories { google() jcenter() } dependencies { classpath "com.android.tools.build:gradle:4.1.1" c.. 2022. 12. 9.
반응형