Android
-
SharedPreference 이야기Android 2020. 6. 19. 17:15
이번 팀플레이 로그인 화면 중 자동 로그인 기능을 구현할 일이 있었습니다. 저희 팀플레이에서 자동 로그인은 AccessToken과 RefreshToken을 이용해서 구현합니다. 여기서 말하는 토큰들은 OAuth 보안체계에서 언급되는 계정과 관련된 중요한 데이터라고 생각하시면 되는데요, 보통 첫 로그인이나 회원가입을 할 때 발급이 됩니다. 하지만 발급 후에 앱을 종료하면 토큰은 어디로 가버리는 걸까요? 따로 저장을 하지 않는다면 당연히 로그인을 다시 해서 받아와야 할 것입니다. 이러한 토큰을 저장하기 위해 팀플레이는 SharedPreference를 사용합니다. 왜 SharedPreference를 사용할까요? 안드로이드 앱 내에서 데이터를 저장하는 방법은 크게 4가지입니다. 내부 파일 저장소, 외부 파일 저..
-
EditText 자동 포커스 기능 막기Android 2020. 5. 25. 12:12
저번과 동일하게 대학생 앱 개발 동아리 YAPP 안드로이드 2팀에서 제작 중인 팀플레이 앱 제작 과정 중 생긴 자잘한 트러블 슈팅 해결 과정에 대해서 정리하려고 합니다. 화면 넘어갔을 때 바로 커서가 On이 되는 EditText 자동 포커스 문제 해결 일단 자동 포커스가 적용되는 화면을 보겠습니다. 화면은 스포츠 경기 신청 리스트를 보여주는 MatchList 화면에서 해당 리스트를 클릭했을 때, 디테일 뷰로 넘어가는 화면을 보여주는데요 아이템을 클릭해서 새로운 엑티비티로 이동하면 바로 EditText가 포커스 되면서 화면이 아래쪽으로 이동하는 것을 알 수 있습니다. 키보드가 바로 올라오고 아래에 있는 화면부터 봐야 하는 것이 당장 봐도 좋아 보이지 않죠. 이를 해결하는 과정은 생각보다 간단했습니다. 바로..
-
프래그먼트와 백스택, 그리고 엑티비티Android 2020. 5. 20. 01:01
안드로이드는 스택과 같다. 실행하면 화면들이 스택과 같이 점차 점차 쌓이는 것이다. 그러니깐 자료구조의 스택처럼 엑티비티가 차례대로 아래에서부터 쌓인다는 것인데 이러한 형태를 백스택이라고도 한다. 그리고 이런 백스택에 쌓이는 엑티비티들은 유저와 상호작용하는 엑티비티들을 모아놓는 태스크에 속한다 정말 일부의 어플리케이션을 제외하면 엑티비티를 하나만 사용할리는 없다. 하나의 어플리케이션에는 다양한 엑티비티와 프래그먼트들이 공존한다. 실제 사용자와 화면에서 상호작용하는 엑티비티나 프래그먼트는 하나일 수 밖에 없다. 위에서 말한 상호작용과 다른 것은 스택의 가장 위에 있는 엑티비티나 프래그먼트만이 사용자의 입력과 이벤트를 입력받을 수 있다. 그래서 어플리케이션 사용 중에는 엑티비티를 실행했다가도 뒤로가기 버튼을..
-
MVP 패턴 기초 - Google Architecture을 활용한 설계Android 2020. 2. 23. 22:21
들어가며 : 디자인 패턴과 사용하는 이유 MVP패턴의 목적과 구조 Google Architecture View, Presenter, Model 정의 마치며 더 읽을거리 들어가며 : 디자인 패턴과 사용하는 이유 개발을 시작한지 얼마안된 저에게 디자인 패턴은 먼 나라 얘기였습니다. 단순히 기능 구현하는데도 벅찬 저에게 가독성이 좋고 확장성을 고려한 코드 작성은 아직 멀게 느껴지기만 했습니다. 하지만 개발 공부를 계속하다보니 좋은 코드의 중요성을 알게 됐습니다. 프로젝트를 유지, 보수하고 새로운 기능을 개발 할 때도 이해하기 쉽고 수정이 쉬운 코드가 필요하고 시간이 흐른 뒤 제가 진행했던 프로젝트를 리팩토링 할 때도 구조화된 코드가 이해하기 훨씬 쉬웠습니다. 디자인 패턴은 많은 실무 프로그래머들이 인정한 효율..