dev/aos(20)
-
[AOS] PackageInfo #move other app
안드로이드 11(API 30)부터 앱의 패키지 공개 상태를 지정해주어야 접근이 가능하다. try { val packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES) NLog.i("packageInfo") if (packageInfo != null) { this.appExistText.text = "true" } } catch (e: PackageManager.NameNotFoundException) { NLog.e(e.stackTraceToString()) } 현재 계속해서 에러를 뿜고 있지만, 해당 앱의 Manifest.xml에 타겟 앱의 쿼리를 추가해주면 특정 패키지 조회가 가능하다. 또는 모든 패키지를 조회하고 싶은 경우..
2024.02.08 -
[AOS] RecyclerView
RecyclerView는 여러 아이템을 리스트 형태로 보여주는 뷰이다.모든 아이템을 한 꺼번에 로드하여 가지고 있는 것이 아닌 필요한 양 만큼 갱신하여 보여주는 것이 특징RecyclerView를 현재 Compose에서는 좀더 편리하게 구현을 하고 있다고는 하나,나는 원래 사용하던 구조가 더 명확히 분리되어 있어 이전 방법을 애용한다. 언어 : Kotlin 1. Layout내부에 RecylcerView를 만든다 그럼, 화면에 다음과 같이 생성된다. 2. RecyclerView에 들어갈 리스트 아이템의 레이아웃을 만든다. 아이템에 카드를 넣고 리플(Ripple)효과 첨가 화면에 보여줄 레이아웃 준비는 끝. 코드 작업- RecyclerView 리스트 내부 아이..
2024.02.06 -
[AOS] Timer
타이머와 카운트 선언 private var timer: Timer? = null private var count: Int = 0 타이머 동작시 작업할 타이머 테스트(TimerTask)선언 private val timerTask: TimerTask = object: TimerTask() { @SuppressLint("MissingPermission") override fun run() { NLog.i("timerTask.. count:${++count}") bluetoothAdapter?.let { if (!it.isDiscovering) { timer?.cancel() NLog.d("timerTask.. bluetoothAdapter.isDiscovering:${it.isDiscovering}") } }..
2024.02.06 -
[AOS] lazy init binding
[app/build.gradle] android { buildFeatures { viewBinding = true } dataBinding { enable = true } } [MainActivity.kt] private val binding: ActivityMainBinding by lazy { ActivityMainBinding.inflate(layoutInflater) }
2024.02.05 -
[AOS] startActivityForResult
Flutter를 계속해서 그런가 모든 것이 가물가물하구나.startActivityForResult는 Deprecated되었다. 2024-05-10-금 : 기존 response받았던 함수 이름@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data){ ...} BluetoothAdapter의 상태를 확인한 후 isEnabled가 false인 경우 Bluetooth 이용자에게 사용한다고 요청해야 한다.'registerForActivityResult' 함수를 사용하여 ActivityResultLauncher를 반환한다. 중요한 것은 이전은 requestCode로 확인을 하였으나, 바뀐 ForResult결과는 1:..
2024.02.05