Android 41

[AOS] classic Bluetooth analy

BLE를 이해하기 앞서, 블루투스 연결에 대한 기본을 정리한다. 블루투스를 연결하기 위해서는 Device가 블루투스 사용 가능한지 확인이 필요하고, 사용이 가능하다면 다른 블루투스를 검색한다. 원하는 블루투스 기기가 보이면 페어링을 시도한다. 그리고 데이터를 교환한다. 블루투스 가능 여부 확인 블루투스 기기 검색 데이터 교환 크게 이렇게 3가지 동작으로 되며, 그 내부에 페어링된 기기를 재 검색하지 않고 MAC주소로만 근처에 있을 경우 바로 페어링 되도록 하는 부가적인 역할 등 다양한 세부 조작이 필요하다. 블루투스 키보드의 키 레이아웃을 커스텀한 이후 블루투스를 만진적이 없는데, 이렇게 다시 마주한다. 블루투스를 사용하는 목적은 바로 무선으로 데이터를 교환하는 것이 목적이다. 데이터를 교환한다는 것은 ..

dev/aos 2024.02.15

[AOS] Execution failed for task ':app:mergeExtDexDebug'.

참조하는 라이브러리의 개수가 65536개 메서드를 초과하면 발생하는 에러이다. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:mergeExtDexDebug'. > A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate > There was a failure while executing work items > A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAct..

dev/aos 2024.01.13

[AOS] Gradle Plugin, Version location

플러그인 프로젝트 단위 - com.android.tools.build.gradle:8.1.0 (아마 File-Project Structure에서 바꿀 수 없어 당황했을듯) buildscript { ext.kotlin_version = '1.6.21' repositories { google() mavenCentral() gradlePluginPortal() } dependencies { classpath 'com.android.tools.build:gradle:8.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files // classpath 'c..

dev/aos 2024.01.12

[AOS] SharedPreference 임시저장

sharedPreference를 사용해서 데이터내에 임시저장 데이터를 활용할 것 private SharedPreferences sharedPreferences; private SharedPreferences.Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); sharedPreferences = getPreferences(Context.MODE_PRIVATE); editor = sharedPreferences.edit(); 활용 : 불러오기 sharedPreferences.getBoolean("test", false) : 저장 editor.putBoolea..

dev/aos 2023.12.15

[AOS] NumberPicker 선택

NumberPicker가 필요하여 평소 별로 생각치 않은 문제를 발견했다. 개수가 3개 이하인 경우엔 wrapSelectorWheel이 동작되질 않는다. 아무도 그 문제를 제기하지 않았다... 3개이하를 사용하고 싶은 경우 아이템 개수를 4개이상으로 늘려주면 자연스럽게 wheel동작이 된다 ㅡㅡ.. minValue : 최소개수 maxValue : 최대개수 value : 선택되는 위치 wrapSelectorWheel : 휠 사용 여부 displayedValues : 보여질 값 OnValueChangeListener : wheel휠을 동작하면 값을 받게 되는 리스너

dev/aos 2023.12.15

[AOS] Primary Theme Color테마 색상 정리

Theme에 보면 기본적으로 ColorPrimary, 등등 색상이 정의되어 있고, 그동안 적정 색상을 넣기위해 해당 Theme Color를 응용하지 않고, 알아보려 하지도 않았다. 플루터를 하면서 Theme Color의 유용함을 느꼈고, 다시 안드로이드 네이티브 개발을 진행하면서 Theme Color를 베이스로 이쁘게 꾸며보기 위해 정리를 하게 되었다. 기본적으로 앱을 빌드하면 안드로이드에서 친절하게 해당 색상들을 지정해준다. colorPrimary : 앱의 대표 색이며, 색을 지정하지 않은 곳에 모두 해당 색상이 입혀진다 colorPrimaryVariant : 색을 입히지 않은 곳에 뿌려지는 느낌이랄까 colorOnPrimary : colorPrimary가 적용된 UI위에 그려지는 텍스트 등의 색상 c..

dev/aos 2023.12.15

[AOS] 무음, 진동, 소리 조절(Silence, Vibration, Normal) AudioManager

간단한 위젯을 만들 필요가 있었고, 해당 방법에 대해 찾아 보게 되었다. 필요한 권한 권한 획득 val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager if (!notificationManager.isNotificationPolicyAccessGranted) { val intent = Intent( android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS ) startActivity(intent) } 오디오 매니저 인스턴스 생성 audioManager = getSystemService(Context.AUDIO_SERVICE)..

dev/aos 2023.12.14

[AOS] 스플래시 Splash 없애기

안드로이드 12, API 31 이상부터 앱 시작시 스플래시 아이콘이 표출된다. 분명히 없앴던 기억이 있는데, 플루터를 하면서 다시 정리가 필요하게 되었다. 프로젝트 창에 폴더를 하나 생성한다. : values-v31 그리고 theme파일을 생성한다. 이 테마는 AndroidManifest.xml에 application theme에 적용될 테마와 동일해야 한다. 스타일은 다음과 같다 : windowIsTranslucent를 true로 설정해주어야 완전히 제거가 된다. 이제 플루터로 넘어가보자 2023.12.12 - [dev/flutter] - [Flutter] 스플래시(Splash, Intro) 플루터에서 제공하는 flutter_native_splash는 모두 삭제한다 cmd : dart run flutt..

dev/aos 2023.12.12
728x90
반응형