본문 바로가기

분류 전체보기

(108)
안드로이드 스튜디오 / Jetpack Compose? xml에 익숙한 나... Compose 사용 가능일까? (경험에 비롯한 Compose) Jetpack Compose란 안드로이드의 선언형 UI 도구 키트이다. Compose는 뷰를 명령형으로 변형하지 않고도 앱에 UI를 랜더링할 수 있게 하는 선언형 UI를 제공한다. 지금껏 xml에 뷰를 그리고, 접근하려면 findViewById(), dataBinding 등을 사용하였다. 레이아웃 수정을 하면서 xml은 수정하였는데, Activity에서 수정하지 못해서 오류가 난 경험이 꽤나 있다. 이러한 문제점을 해결해줄 것 같은 Compose는 뷰를 그림과 동시에 접근이 가능하다. recyclerview를..사용안해도 된다던데.. 다음 프로젝트는 Compose를 사용해봐야겠다. 하하 https://developer..
안드로이드 스튜디오 / LiveData vs MutableLiveData LiveData : get만 가능 MutableLiveData : get,set 가능 view와 viewModel의 역할 분리를 명확히 하기 위해서 위와 같이 사용한다. viewModel 내에서는 데이터를 수정할 수 있도록 하고, view는 바뀌는 데이터를 읽을 수만 있도록 한다. //viewModel private val _isError = MutableLiveData() val isError: LiveData get() = _isError _isError.postValue(e.message) //view isError.observe(viewLifecycleOwner){ Toast.makeText(context,it,Toast.LENGTH_SHORT).show() } 예외상황이 발생 시 viewMdoe..
안드로이드 스튜디오 / Expecting android:screenOrientation="unspecified" or "fullSensor" for this activity so the user can use the application in any orientation and provide a great experience on Chrome OS devices tools:ignore="LockedOrientationActivity" manifest에 "LockedOrientationActivity" 추가하면 된다. https://stackoverflow.com/questions/60396601/expecting-androidscreenorientation-unspecified-or-fullsensor-for-this-a
코틀린 / let, with, run, apply, also let : 지정된 값이 null이 아닌 경우에 코드를 실행해야 하는 경우 with : null이 될 수 없는 수신객체, 결과가 필요하지 않은 경우 run : 어떤 값을 계산할 필요가 있거나 여러개의 지역 변수의 범위를 제한하는 경우 apply : 수신 객체 람다 내부에서 수신 객체의 함수를 사용하지 앟고 수신 객체를 자신을 다시 반환하는 경우 also : 수신 객체 람다가 전달된 수신 객체를 전혀 사용하지 않거나 수신 객체의 속성을 변경하지 않고 사용하는 경우 https://kotlinlang.org/docs/coding-conventions.html
안드로이드 스튜디오 / To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates. val date = SimpleDateFormat("yyyyMMdd").parse(value) To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates. 현재날짜를 받고싶었는데, 해당 경고가 뜬다. Locale 클래스는 해당 지역의 정보를 담고 있는 클래스. 해당 지역의 정보를 추가해주면 경고가 사라진다. val date = SimpleDateFormat("yyyyMMdd", Locale.getDefault()).pa..
안드로이드 스튜디오 / koin 으로viewModel 의존성 주입 시 viewModel을 공유할 경우 2개 이상의 View가 1개의 ViewModel을 공유할 경우 by sharedViewModel()로 주입한다. 단, Fragment에서만 사용. 부모 Activity에서는 by viewModel() 사용하면 된다.
vscode java 단축키 sysout : System.out.println() main : public static void main(String[] args) shift+art+화살표 : 한줄 복사 ctrl+shift+k : 한줄 삭제
안드로이드 스튜디오 / Constraintlayout app 속성 layout_constraint방향_to방향of속성을 이용해서 각 위젯간 관계를 설정해줄 수 있다. top 위 bottom 아래 start 왼쪽 end 오른쪽 ex) android:id="@+id/text_view1" app:layout_constraintBottom_toTopOf="@+id/text_view2" -> text_view1의 Bottom(아래부분)을 text_view2의 Top(위)에 위치시킨다. android:id="@+id/text_view2" app:layout_constraintTop_toBottomOf="@+id/text_view1" -> text_view2의 Top(위)을 text_view1의 Bottom(아래)에 위치시킨다. !! constraintBottom_ cosntrai..

반응형