일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 안드로이드 비콘
- TowmonUSB 연결오류
- 스레드 #코루틴
- viewmodelscope
- #큐구조 #큐다운로드
- 안드로이드스튜디오 jdk
- 안드로이드 스튜디오 애뮬레이터
- 코루틴 job
- 모의위치 주입
- 코틀린 이미지저장 #파일저장
- 토글 험수
- apk이름변경
- TwomonUSB
- 안드로이드 mvvm
- 셀룰로오스-g-폴리락타이드 공중합체
- 커스텀스피너
- 안드로이드 sms
- bluetoothmanager
- json 저장
- 비콘스캐닝
- 코틀린 트리거 버튼
- withContext
- var 와 val
- 1회용 플라스틱컵
- 코루틴스코프
- 라이브데이터 postValue
- 플라스틱 생분해
- compse state
- compse collectAsState
- Room 데이터베이스 업데이트
- Today
- Total
목록안드로이드 개발/개발팁 (29)
EnjoyLife

우선 애뮬레이터 실행시 오류가 나면 아래 경로가 가서 로그기록을 보자 C:\Users\admin\AppData\Local\Google\AndroidStudio 버전\ 에서 idea.log 를 찾아서 "emulator" 검색하면 원인이 나온다. 저같은 경우 아래와 같은 코드가 나옴. "PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT" 역시 스택오버플로우다 ! 환경변수에 아래 형광펜을 그냥 믿고 따라 하자. 형광펜의 sdk 는 반드시 본인이 설정한 경로에 두자 https://stackoverflow.com/questions/41274830/panic-cannot-find-avd-system-path-please-define-android..
코틀린 버전 private fun isRooted(): Boolean { val buildTags = android.os.Build.TAGS if (buildTags != null && buildTags.contains("test-keys")) { return true } try { val file = File("/system/app/Superuser.apk") if (file.exists()) { return true } } catch (e: Exception) { } val rootBinaryPaths = arrayOf( "/sbin/su", "/system/bin/su", "/system/xbin/su", "/system/sd/xbin/su", "/system/bin/failsafe/su", "/d..
class MyActivity : AppCompatActivity() { private lateinit var mediaBrowserService: MyMediaBrowserService private lateinit var mediaSession: MediaSessionCompat private lateinit var player: ExoPlayer override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // MediaBrowserService를 만듭니다. mediaBrowserService = MyMediaBrowserService()..
1.remember 은 @Composable로 선언한 함수내에서 데이터가 유지되고,회전시에는 데이터 초기화 2.rememberSaveable는 @Composable로 선언한 함수뿐만 아니라 화면 회전시에도 데이터 유지 아래코드는 count 변수를 rememberSaveable 선언해 카운트 증가버튼을 눌러 숫자가 증가한후 회전해도 숫자가 초기화가 되지 않는다.하지만 rember를 사용하면 회전시 초기화가 된다. @Composable fun StateExample() { val viewModel: MyViewModel = viewModel() val count by rememberSaveable { mutableStateOf(0) } Column( modifier = Modifier.fillMaxSize(..
//기본싱글턴 1 class MyClass { companion object { val name: String = "Kotlin" } } fun main(args: Array) { println(MyClass.name) // "Kotlin" } //커스텀 싱글턴2 class MySingleton private constructor() { companion object { private var instance: MySingleton? = null fun getInstance(): MySingleton { return instance ?: synchronized(this) { instance ?: MySingleton().also { instance = it } } } } } fun main(args: Ar..