본문 바로가기

java6

[Android-java] 여러 Fragment에 한 ViewModel 공유하기 구글링을 열심히 하다가, 코틀린 코드는 많은데 자바 버전이 별로 없어서 남겨본다. 아래와 같이 뷰모델을 정의한다. // SharedViewModel.java public class SharedViewModel extends ViewModel { private MutableLiveData data = new MutableLiveData(); public void setData(String input) { data.setValue(input); } public LiveData getData() { return data; } } 위에서 정의한 ViewModel을 여러 Fragment에서 사용하도록 하자. 먼저, Fragment A에서 ViewModel을 생성하고 데이터를 설정하는 방법은 다음과 같다. // F.. 2023. 3. 13.
[Android-java] MVVM Activity 안에 Fragment 넣기 (+ 버튼 적용) 아래와 같이 Activity 안에서 Radio Button에 따라 Fragment 표기를 해보자. (이 포스팅은 Activity 내 Fragment를 구성한다. Fragment 내 Fragment를 구성할 경우 다음 포스팅 참조) 1. 먼저 Activity와 Fragment를 생성해 준다. MVVM 패턴을 적용하기 위해 Fragment (with ViewModel)을 선택한다. 2. xml을 간단히 작성한다. activity_main.xml ** 주의 ** FragmentContainerView에 layout이나 name을 지정하지 않는다. 왜냐면 radio button에 따라 유동적으로 변할 값이니까. 지정하지 않을 경우 경고가 뜰 수 있는데, 경고 무시하기 클릭하면 된다. fragment_first... 2023. 2. 15.
[Java] java로 구현한 코드 bat 스케쥴링 - 서론 - 얼마 전에 타사 api를 호출해와서 DB에 저장하는 로직을 java로 구현하고 일 1회 실행시키는 업무가 주어졌다. java 파일에 로직을 다 짜고 실행시키면 DB에 들어가는 것까지 확인했는데, 이 파일을 어떻게 스케쥴링하면 좋을까 고민이 되었다. 고민된 이유 : 이전에 작성한 게시글 ( https://in0-pro.tistory.com/62 )에서 cron으로 스케쥴링을 구현했는데, [Spring] cron으로 스케쥴링 구현하기 (쉽고 자세한 설명) 회사에서 스케쥴링 구현으로 4시간 동안 삽질해서 알아냈다.. 초등학생도 알기 쉽게 차근차근 설명해드림! (spring 프로젝트를 생성했다는 가정 하에 시작함) 1. 스케쥴러 로직이 들어갈 자리를 만 in0-pro.tistory.com 다음에는 .. 2022. 3. 7.
[우아한테크코스 3기 프리코스 3주차] 블랙잭 2주 차 피드백과 3주 차 미션을 받았다. 피드백 중에 '하드코딩하지 마라'는 내용이 있었는데, 하드코딩이 무슨 말인지 몰라서 찾아봤었다. 2주 차 자동차 경주 게임에서 '랜덤 숫자가 4 이상이 나오면 전진'이라는 룰을 코딩할 때 if (number >= 4) 이런 식이면 하드코딩이라고 할 수 있다. 왜냐면 룰의 숫자가 바뀌면 '4'라는 숫자를 하나하나 바꿔줘야 하기 때문이다. 따라서 static final int referenceVaule = 4;라고 정해두고 if (number >= referenceValue)라고 해야 한다. 또 다른 피드백으로 array 대신 java collection 자료구조를 사용하라는 것이 있다. https://hackersstudy.tistory.com/26 Java의 C.. 2019. 12. 17.
[우아한테크코스 3기 프리코스 2주차] 자동차 경주 게임 이번 주 수요일(12.04)에 2주차 미션 메일을 받았다. 저번에 README를 master로 업데이트 해버리는 실수를 했는데, 이번에는 일단 branch부터 만들고 README를 업데이트 했다. 난이도는 저번과 비슷하게 느껴진다. 1주차 후기에서 빼먹었는데, 제일 처음에 클론하고 나면 Java project 설정이 안되어있어서 class 생성이 안된다. 최상위 폴더를 우클릭하고 Properties에 들어와서 Project Facets를 Java로 설정한다. 여기서 저런 모양으로 안뜨고 파란색 링크 글씨만 뜨는 경우가 있는데, 그럴땐 그 파란색을 누르면 된다. Apply and Clone을 하면 이제 자바 프로젝트로 설정이 완료된다. package domain; import java.util.InputM.. 2019. 12. 8.
[우아한테크코스 3기 프리코스 1주차] 숫자 야구 게임 지난주 수요일(11.27)에 미션 메일을 받았다. 일단 pdf에 필요한 링크들은 다 있었다. github 클론도 처음 해보고, branch도 만들어 본 적이 없어서 구글링도 몇 번 했다. 그리고 README 작성하는 것도... github를 eclipse로 클론 후에 파일을 살펴보니까 뭔가 이것저것 많이 들어있었다. 내가 아는 것은 src에서 main에 코드를 담아야 한다는 것 밖에 없었다. github에서 README 파일을 일단 업데이트했다. README 업데이트 후에 eclipse로 돌아와서 main.java 파일 안에 Main.java와 Computer.java 파일을 생성했다. 이렇게 하는 것이 맞나 모르겠는데, 이 주에 많이 바빴던 터라.. 다른 사람들 코드를 확인해 볼 시간이 안됐다. Mai.. 2019. 12. 6.