오늘은 어제 이어서 캘린더를 마무리하고 어제 들은 깃허브 강의를 복습하였습니다.

어제 만든 레이아웃을 완성하였습니다!
그 다음 기능을 넣어주었는데 확실하게 백퍼센트 이해가 되지않아서 이해가 된 부분만 넣어보겠습니다 ㅠㅠ
class CalendarActivity : AppCompatActivity() {
var userID: String = "userID"
lateinit var fname: String
lateinit var str: String
lateinit var calendarView: CalendarView
private lateinit var binding: ActivityCalendarBinding
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
binding = ActivityCalendarBinding.inflate(layoutInflater)
setContentView(binding.root)
제일 먼저 저희 팀은 뷰 바인딩을 사용하였기 때문에 선언해주었고
그 다음은 변수를 가져와 상황에 맞게 항목을 가져와 주었습니다.
날짜를 선택하였을 때
binding.calenderView.setOnDateChangeListener { view, year, month, datOfMonth -> binding.diaryTextView.visibility = View.VISIBLE binding.saveBtn.visibility = View.VISIBLE binding.contextEditText.visibility = View.VISIBLE binding.diaryContent.visibility = View.INVISIBLE binding.updateBtn.visibility = View.INVISIBLE binding.deleteBtn.visibility = View.INVISIBLE binding.diaryTextView.text = String.format("%d / %d / %d", year, month + 1, datOfMonth) binding.contextEditText.setText("") checkDay(year, month, datOfMonth, userID) }
저장 버튼을 눌렀을 때
binding.saveBtn.setOnClickListener { saveDiary(fname) binding.contextEditText.visibility = View.INVISIBLE binding.saveBtn.visibility = View.INVISIBLE binding.updateBtn.visibility = View.VISIBLE binding.deleteBtn.visibility = View.VISIBLE str = binding.contextEditText.text.toString() binding.diaryContent.text = str binding.diaryContent.visibility = View.VISIBLE }
수정 버튼을 눌렀을 때
binding.updateBtn.setOnClickListener { binding.contextEditText.visibility = View.VISIBLE binding.diaryContent.visibility = View.INVISIBLE binding.contextEditText.setText(str) binding.saveBtn.visibility = View.INVISIBLE binding.updateBtn.visibility = View.INVISIBLE binding.deleteBtn.visibility = View.INVISIBLE binding.diaryContent.text = binding.contextEditText.text }삭제 버튼을 눌렀을 때
binding.deleteBtn.setOnClickListener { binding.diaryContent.visibility = View.INVISIBLE binding.updateBtn.visibility = View.INVISIBLE binding.deleteBtn.visibility = View.INVISIBLE binding.contextEditText.setText("") binding.contextEditText.visibility = View.VISIBLE binding.saveBtn.visibility = View.VISIBLE removeDiary(fname) }
그리고 fileInputStream과 fileOutStream이 존재하는데 정확하게 공부를 해봐도 어떠한 역할을 하는지 감이 잘 안잡혀서 계속 공부해봐야 할 것 같습니다!
부가적인 기능들도 공부하여 추후에 올리겠습니다 ㅠㅠ
출처: [https://stickode.tistory.com/139]
.
.
.
.
.
어제 깃허브에 대한 강의 들은 것도 오늘 복습해보겠습니다.
- pwd (print working directory)
- 현재 내가 작업하는 폴더를 보여달라는 뜻
- ls (list)
- 내 폴더 안에 있는 폴더 & 파일 내역을 보여줌
- ls -a (list all)
- 숨겨진 파일(보통 . 으로 시작함)도 모두 볼 수 있음
- cd 폴더명 (change directory)
- ls 명령어에서 확인된 폴더로 이동 가능
- desktop 안에 있는 다른 폴더로 이동 가능
- 마치 데스크탑의 폴더를 더블 클릭해서 들어간 것과 같은 효과
- mkdir 폴더명 (make directory)
- 현재 경로에서 폴더를 생성하는 명령어
- touch 파일명
- 현재 경로에서 파일을 생성하는 명령어
*참고: 정확히는 파일의 생성과 파일의 날짜, 시간을 변경하는 명령어
코드 변경점 기록, 버전 관리 도구 (형상 관리 도구)
(소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것)
진행사항을 백업해두기 위해서
- git init -코드 관리를 시작하는 명령어
- initialoze (초기화하다,초기 세팅하다)의 준말
- 프로젝트 시작 전 딱 한 번 만 입력하면 됨
- 정확한 프로젝트 폴더(경로)에서 입력해야함
- git add & commit
- git add 파일명 , git add . (변경사항 한 번에 지정)
- git commit -m "메세지 작성"
- 저장이 여부를 확인하는 방법 - git status
- git log
- 저장 내역을 확인하는 명령어
Github 으로 코드 백업하기
- 온라인 저장소 (repsitory)를 만들기
- git remote add origin <github 주소>
- git branch -M main or master
- git push -u origin main
- 협력자(collaborator) 등록하기
-팀원들의 username 혹은 email로 추가 -> 수락- 코드 복사해오기 - git clone
- git pull 정리
- 충돌(Conflirct) 해결하기
- 충돌이 발생하는 이유는?
-같은 파일의 같은 위치에 코드가 변경되었기 때문
- 충돌 해결 후 다시 git push하기
- 코드 수정 -> 코드저장 명령어 실행 -> git push origin 브랜치명