일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DialogFragment
- podinit
- prolificinteractive/material-calendarview
- cocoapod
- Dialog
- Button
- livedata
- 리눅스
- RestAPI
- android
- editText
- PostgreSQL
- addTextChangedListner
- springboot
- calendar
- viewmodel
- backgroundTint
- Today
- Total
목록일단기록/매일기록 (18)
코코딩딩
무조건 editText를 입력해야 하는 화면에서 바로 키보드가 열리는 동작을 구현하려면 다음과 같은 코드를 사용하면 된다. //name이라는 id를 가진 editText를 자동 선택해서 키보드가 열리게함 binding.name.requestFocus(); imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); // 다음 화면 이동 했을 때 및 pause같은 동작을 했을 때도 키보드가 뜨기 때문에 키보드 숨기는 코드 추가 @Override protected void ..

editText에 사용자가 텍스트를 입력할 때 자신이 editText를 클릭한 상태라는 것을 잘 알도록 하기 위해 색상을 변경하고, editText의 최소 길이 조건을 달성 했을 때 버튼이 활성화 되게 구현하고자 한다. 안드로이드에서 editText를 보면 기본 밑줄처리가 되어 있는데 이는 아래 코드와 같이 backgroundTint 를 설정해주면 색상을 변경할 수 있다. 자주 보는 editText들은 텍스트를 입력하기 위해 클릭상태(Focus)가 되면 활성화 되어 있다는 느낌을 받기 위해 색상을 변경하는 경우가 많은데 이는 아래와 같이 자바코드에서 backgroundTint를 변경하게 해주면 된다. setOnFocusChangeListener는 유저가 클릭을해 focus상태가 되있는지를 읽는 liste..

예전에 스프링 프레임워크로 만들었던 restapi를 springboot로 구현하고자 한다. 결과적으로 봤을 때 boot가 설정할 부분이 더 적기 때문에 더 간편하게 구현할 수 있다. spring-boot, mybatis, postgresql 프로젝트 생성하기 spring starter project 를 이용해 maven 프로젝트를 만들어준다. 사용할 dependency는 다음과 같다. 1. spring boot devtools 2. spring web 3. jdbc api 4. myBatis framework 5. postgresql driver mapper,service등의 패키지를 만들때 경로는 기본 application 파일이 있는 위치를 신경써주어야 한다. 예를들어 com.example.apiex..
제한시간을 두어 2분이 경과하면 메세지를 출력하는 기능을 구현하고자 한다. MainActivity Timer를 이용해 1초마다 int time의 값을 -1 씩 해 TextView(timeTv)에 출력하는 방법으로 타이머를 구현하였다. 타이머를 실행하는 부분은 timer.schedule(TaskCreate(),1000,1000); 인데 중간의 1000은 앱이 실행하자마자 바로 시간초가 진행되 1초의 딜레이를 준 것이며 마지막 1000이 1초마다 실행되는 부분이다. 안드로이드는 메인쓰레드 에서만 화면을 그릴 수 있기 때문에 runOnUiThread를 통해 textView의 값을 set 할 수 있다. 타이머가 2분이 되기 전에 화면을 이동 하더라도 타이머가 돌고있기 때문에 화면을 벗어날 때 timer.canc..
안드로이드에서 text의 색상을 setTextColor를 이용해 변경하려고 했지만 색상을 선택하는 방법을 잘 몰라 찾아본 내용을 정리했다. xml 에서 color 사용하기 위의 코드처럼 @color/colorPrimary 라고 하면 values 폴더에 있는 colors.xml 에 등록되어 있는 색을 불러올 수 있다. java코드에서 사용하기 위에서 했던 것 처럼 자바 코드에서 특정 이벤트가 일어날 때 텍스트의 색상을 변경하고자 할 때는 다음과 같이 한다. binding.pwError.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary)); colors.xml 자신이원하는 색상의 이름과 16진수 색상코드를 xml..
데이터들을 보기 쉽게 만들고자 차트를 구현하려고 검색한 결과 MPAndroidChart 라는 라이브러리를 많이 이용하고 있기에 적용하여 구현하였다. 제작자의 깃허브에 들어가면 많은 자료들이 있고 구글에 검색해도 한글로된 블로그 자료를 많이 찾을 수 있다. https://github.com/PhilJay/MPAndroidChart gradle // repositories 추가 maven { url 'https://jitpack.io' } // 차트 라이브러리 implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' jitpack이 추가 안되어 있다면 위의 코드를 먼저 추가해주고 라이브러리를 gradle에 등록하면 사용할 수 있다. activity_main.xm..
api 통신을 이용해 비밀번호 변경 처리하는 작업을 진행하였다. 예를들어 "user"라는 id와 "qwer1234!" 라는 비밀번호가 있다고 가정해보자 이러한 값이 db에 그냥 저장 된다면 관리자가 db를 확인할 경우 유저의 비밀번호를 눈으로 확인할 수 있을 것이다. 이러한 상황을 방지하기 위해 유저가 입력한 비밀번호를 spring-security의 PasswordEncoder를 이용해 암호화를 진행한 후 db에 저장할 것이다. SecurityConfig import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.s..

달력을 구현하기 위해 직접 코드를 치는 것은 퀄리티와 시간적인 이유로 난이도가 있다고 판단되어 라이브러리를 사용해 달력을 구현하고자 한다. prolificinteractive material-calendarview 사용할 라이브러리는 깃허브에 올라와 있는 라이브러리를 사용할 것이다. 자세한 사용방법과 다양한 사용자가 질문한 내용들이 있기 때문에 필요한 기능이 있으면 검색을 하면 어느정도 찾을 수 있다. https://github.com/prolificinteractive/material-calendarview gradle //calendar implementation 'com.github.prolificinteractive:material-calendarview:2.0.1' implementation '..
지금까지는 안드로이드로 api통신을 가정한 상황에서만 코드를 작성했지만 오늘부터는 실제로 db에 값을 insert 하거나 select로 받아온 값들을 안드로이드에서 처리하기 위해 사용할 restapi를 직접 만들었다. 기존에 사용하고 있던 api 코드들을 참고해서 만들었기 때문에 큰 어려움은 없었지만 실수한 사항들을 기록하고자한다. RestController @ApiOperation(value="달력api", notes="달력api") @PostMapping(value="/user/calendar") @Transactional @ApiIgnore public ResponseEntity User_Calendar(@ApiParam(value = "INFO") @RequestBody CommonMap para..

고객센터 기능을 하는 뷰를 구현하기 위해 다른 어플을 확인한 결과 카카오톡의 공지사항과 같은 뷰를 구현 하기로 결정하였다. recyclerview 형태의 리스트에 제목과 날짜가 출력되어 있고 각 리스트를 클릭하면 해당 리스트에 맞는 내용이 펼쳐지면서 출력되는 형태로 구현하고자 한다. item.xml 만들기 예전해 했던 것과 마찬가지로 recyclerview의 각 리스트에 해당하는 레이아웃을 만드는데 이번에는 펼친 후 표시될 레이아웃 까지 한번에 만들어준다. 위와 같은 코드로 레이아웃을 구성하면 아래와 같이 나오고 처음에는 접힌 상태가 되어야 하므로 visibility="gone" 으로 변경해준다. DTO 만들기 이전과는 다르게 리스트에 들어갈 각 item을 dto로 관리하기 위해 dto를 만들어준다. p..