목표 기존 ListView로 만들어져 있던 List를 Recycler View로 만들어 본다. BaseAdapter와 RecyclerAdapter의 작동원리를 알아본다. 하기 링크가 본 포스트의 선행입니다. 2022.02.05 - [Android] - Android ViewModel & ListView 사용하기 (흠... Compose 강좌 만들려고 간단히 기본 강좌 만드는 목적이었는데 이제 Recycler View라니 갈길이 너무 멀군요) Gradle 적용 언제나 그렇듯이 Jebpack을 사용하기 위해서 관련된 라이브러리를 Gradle에 적용을 해야합니다. https://developer.android.com/jetpack/androidx/releases/recyclerview 위의 링크를 참조해서 아..
목적 ViewModel을 사용해서 fragment 작동 동안 데이터를 유지하고 화면에 표시한다 - ViewModel 사용법을 배운다 - ListView를 통해서 List형 Data를 표현하고 인터렉션 하는 것을 배운다 본 내용은 앞선 포스트에서 연속해서 진행합니다. 2022.01.24 - [Android] - Android Fragment 설정하기 2022.01.24 - [Android] - Android Fragment Navigation with Action 2022.01.25 - [Android] - Android Fragment with Arguments 2022.02.03 - [Android] - Android View Binding (뷰 바인딩) 앞서 뷰바인딩에서 마지막으로 사용되었던 소스를 ..
목표 View Binding을 적용한다 2022.01.24 - [Android] - Android Fragment 설정하기 2022.01.24 - [Android] - Android Fragment Navigation with Action 2022.01.25 - [Android] - Android Fragment with Arguments 앞서 진행한 posts의 연속입니다. 마지막 포스트에있는 아래 소스 다운받고 보시면 더 편하실거에요. https://github.com/theyoung/fragmentsetup/tree/2de0436018dde923c210601237c121df6909aa4c findViewById의 단점 앞서 만든 TestFragment.kt 파일을 확인해 보자 class TestFr..
목표 Navigation을 이용한 Fragment의 이동시 Arguments를 전달한다. 2022.01.24 - [Android] - Android Fragment 설정하기 2022.01.24 - [Android] - Android Fragment Navigation with Action 위의 두개까지 완료 했다면 이제는 어떻게 Fragment사이 Action과 함께 Arguments를 넘길 수 있는지 알아 보고자 한다. build.gradle에 plugin 등록 Arguments의 전달을 위해서는 컴파일시 build 되는 파일이 필요하다. 이를 위해서는 2개의 등록이 필요한데 우선 Top Level build.gradle을 열어보자. // Top-level build file where you can ..
목표 2022.01.24 - [Android] - Android Fragment 설정하기 위에서 만들어진 Fragment에 Navigation을 이용해서 Activity하나에 3개의 Fragment가 이동하도록 만드는게 목적이다. Navigation할 Fragment 2개 더 만들기 앞서서 설명한 방법에 따라서 Fragment2개를 더 만들어 보겠다. 위와 같이 2개의 Fragment를 만들었다. Navigation이 될 순서는 TestFragment -> SecondFragment -> ThirdFragment 이다. 각 Fragments사이의 이동을 하기전에 kt파일을 onCreateView만 남겨놓고 깨끗히 지워 준다. package com.example.fragmentsetup import and..
목표 Layout에 Fragment 설정하기 신규 프로젝트 만들기 Empty Activity를 기반으로 신규 프로젝트를 만들어 준다. API 21기준으로 Minimum SDK를 설정해 준다. https://developer.android.com/jetpack/compose/setup Jetpack이 API21 부터 호환하기 때문에 min SDK는 가급적 21로 맞추어 줄 예정이다. Gradle 설정 확인하기 새로 만들어진 Gradle의 Dependency를 확인하자. build.gradle plugins { id 'com.android.application' id 'kotlin-android' } android { compileSdk 31 defaultConfig { applicationId "com.e..
이슈 내용 Android를 이용한 Hidden API 및 Refection을 활용한 Access가 제한되어있는 API를 통한 개발이 Android 9에서 부터 적용되었다. https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces Android APP을 개발하고 App Store 검증을 받을 때, restriction에 걸리면 릴리즈가 제한된다. Hidden API 확인 방법 그리고 제한되는 API는 점점 많아지고 있다. 위의 URL을 들어가면 확인 가능하다. hiddenapi-flags.csv 예를 들자면 Landroid/view/autofill/AutofillManager;->mServiceClientCle..
AOSP를 이용해서 Android OS 동작에 대한 수정이 필요할 경우 다음과 같이 xml을 수정함으로써 Android Platform의 작동 방식을 변경할 수 있다. 몇 가지 중요해 보이는 내용만 남기고자 한다. 단말의 Hardware 사양 및 시스템 앱의 작동 방식을 결정 (config.xml) https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/values/config.xml name 내용 config_sf_slowBlur surface flinger에서 blur를 쓸 것인가? (퍼포먼스 이슈) config_useVolumeKeySounds 볼륨키 처리 여부 (키 없으면 불필요) config_activityD..
안드로이드에서 펌웨어 flashing을 하기 위해서 adb root adb shell reboot bootloader 로 android 단말을 재부팅 처리 해도 fastboot devices 로 device가 나오지 않을 때 난감하다. 이경우에는 제어판 > 컴퓨터관리 를 가서 보면 기타장치에 Android 에 노란색 느낌표로 정상 작동하고 있지 않다고 표시가 나올 경우가 있다. 이경우에는 Android Universal Driver를 업데이트 해야한다. developer.android.com/studio/run/win-usb 여기에서 driver를 다운받고 노란색으로 떠있는 안드로이드 driver를 update 처리해 줘야 한다. 여기서 android_winusb.inf를 선택해서 드라이버를 업데이트 해..