일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Baekjoon
- plugin
- Java
- gnuplot
- Python
- gradle
- ruby2d
- 루비
- Vane
- JS
- OAuth
- IntelliJ
- ruby
- RaspberryPi
- Shell
- rubymine
- boj
- Android
- GitHub
- jetbrains
- OTLanguage
- react
- 개발노트
- C
- maven
- Godot
- kotlin
- CPP
- error
- Spring
- Today
- Total
목록Framework/Android (9)
PersesTitan(페르) 기술블로그
build.gradle.kts (Module :app)또는 build.gradle (Module :app)에서 아래와 같은 코드를 추가하시고 동기화(Sync Now)를 눌러주시면 됩니다. build.gradle.kts android { (...) buildFeatures { viewBinding = true } } build.gradle android { (...) buildFeatures { viewBinding = true } } 변경후 Sync Now동기화 시켜주기
액티비티 (Activity) 액티비티는 사용자가 사용할 수 있는 앱의 한 화면을 담당하고 있는 컴포넌트 입니다. 앱을 제작할때 만나게 되는 가장 친숙한 컴포넌트입니다. 서비스 (Service) 서비스는 주로 백그라운드에서 작업하는데에 사용하는 컴포넌트 입니다. 앱을 제작하면서 파일을 다운받는 작업을 하거나 앱이 종료되어도 실행되는 동작에 많이 사용됩니다. 예시로 다운로드, 알람 등의 동작 수행에 유용하게 사용됩니다. 컨텐츠 브로바이더 (Content Provider) 컨텐츠 브로바이더는 응용 프로그램(어플리케이션) 사이 데이터를 공유할때 사용되는 컴포넌트 입니다. 다른 앱에서 가지고 있는 데이터를 가지고 올때 많이 사용되는데 데이터를 가져오기 위한 권한과 앱에서 접근이 가능하도록 설정이 되어 있다면 외부..
SDK 34부터 overridePendingTransition되어서 해결할 방법을 찾아보았습니다. OVERRIDE_TRANSITION_CLOSE 창이 닫쳤을때 동작하는 예시 입니다. overrideActivityTransition(Activity.OVERRIDE_TRANSITION_CLOSE, R.anim.fadein, R.anim.fadeout) OVERRIDE_TRANSITION_OPEN 창이 열릴때 동작하는 예시 입니다. overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, R.anim.fadein, R.anim.fadeout)
인터넷 연결이 되었는지 확인하는 방법중에 유명한(?) isConnected가 사라진다고 해서 대신 사용하는 방법을 찾았습니다. 코드 ConnectivityManager.NetworkCallback를 사용하는 방법을 이용하였는데요. 인터넷이 연결되었을때 onAvailable를 불러오고 인터넷이 끊겼을때 onLost를 불러오는 원리를 이용하여 현재 상태를 저장하는 변수에 저장해두어 가져오는 방법으로 구현하였습니다. import android.content.Context; import android.net.ConnectivityManager; import android.net.Network; import android.net.NetworkCapabilities; import android.net.Network..
이미지 등록 첫번째 방법 왼쪽에 Resource Manager 탭을 누르고 + 버튼을 누르고 Image Asset를 누르는 방법이 존재합니다. 두번째 방법 File -> New -> Image Asset를 누르는 방법이 존재합니다. 이미지 추가 Foreground Layer 탭에서 추가할 이미지를 선택하고 Background Layer에서 뒷 배경 이미지나 색상을 지정해주시면 됩니다. 크기나 조절등을 하고 세팅이 끝났다면 Next를 누를뒤 Finish를 누르고 추가를 끝내줍니다. 자동으로 아이콘이 변경되는 경우도 존재하지만 변경이 되지 않았을경우 manifests -> AndroidManifest.xml에 파일에 들어가서 icon과 roundIcon의 값을 변경할 아이콘이름으로 변경해주시면 됩니다. 아이..
개발 노트 개발 노트는 코드 및 설명등을 작성하지 않으며 개발하면서 구현에 성공한 동작등을 기록하는 목록입니다. 이전 글에 작성했던 것 처럼 해당 코드는 실제로 운영하는 앱으로 코드 전체공개를 피하고 있습니다. 또한 개발노트이기 때문에 원하시는 정보를 얻을 수 없을 수 있다는 점 참고 해주세요. 갑자기 AsyncTask가 deprecated되어 있어서 급하게 다른 기능으로 대체했어야 됬습니다. RxJava를 사용하거나 코루틴(Coroutine)을 대체하였어야 됬는데 저는 자바가 메인이라서 처음에는 RxJava로 구현할려고 시도하였지만 내용이 생각보다 많아서 급하게 코루틴으로 변경하여 구현했습니다. 다행히 코틀린을 예전에 살짝 건드려봤기 때문에 구현에 성공하였습니다. 코틀린의 장점이 자바와 호환이 된다는 ..
블로그를 보시기 전에 해당 글은 실제로 운영하는 앱으로 코드 전체공개를 피하고 있습니다. 전체 코드가 필요하신 분들은 다른 블로그를 참고 부탁드립니다. xml 우선 xml에서 대충 이런식으로 pager과 tabs를 원하는 위치에 구현해주었습니다. java 다음으로 FragmentStateAdapter를 상속한 클래스를 생성하여 추상 메소드를 구현해주었습니다. public class VPAdapter extends FragmentStateAdapter { private final Fragment[] items; public VPAdapter(@NonNull FragmentActivity fragmentActivity, Fragment[] items) { super(fragmentActivity); this..
안드로이드를 비정상적으로 종료하면 아래와 같은 락이 걸려버립니다. Error while waiting for device: Pixel 4 API 33 is already running. If that is not the case, delete /Users/PersesTitan/.android/avd/Pixel_4_API_33.avd/*.lock and try again. 여기서 리눅스나 mac이면 터미널에 아래와 같은 명령어를 통해 간단하게 *.lock를 제거할 수 있습니다. 컴퓨터마다 다르게 에러가 뜰텐데 delete뒤에 있는 파일 경로를 그대로 복사해서 아래 명령어를 실행하면 됩니다. rm 저 같은 경우 아래와 같이 입력하면 됩니다. rm /Users/PersesTitan/.android/avd/Pi..
상단에 있는 보라색 바를 없애보도록 합시다. 파일은 res -> values -> themes 위치에 들어가시면 xml파일을 보실 수 있는데요. Theme.MaterialComponents.DayNight.DarkActionBar를 Theme.MaterialComponents.DayNight.NoActionBar로 변경하시면 됩니다. 결과 방법2 2번째 방법은 화면을 킬때마다 액션바를 없애는 작업을 수행하는 방식으로 사라지는 것이기 때문에 저는 별로 권장하고 싶지 않는 방법인데요. Activity에다가 아래 코드를 호출하는 방법입니다. Objects.requireNonNull(getSupportActionBar()).hide(); 사실 크게 차이나는 성능은 아니지만 좋은 방법은 아닌 것 같아서 제 마음에..