최근 취업공고를 찾아보았더니, 안드로이드 네이티브 개발 중 Kotlin 개발 가능 혹은 경험자를 찾는 회사가 많이 있다는 것을 알 수 있었다. 예전부터 Kotlin이라는 언어에 대해 궁금증이 있었고 한 번쯤 해보고 싶었는데 이제야 배워본다. 공식 사이트에서 Basic Syntax를 익힐 수 있다. Basic Syntax - Kotlin Programming Language kotlinlang.org 코틀린은 세미콜론을 사용하지 않으며, 정적 언어이다. 그리고 Java와 완벽한 호환성을 보여준다. // Kotlin val str1 = "str1" var str2 = "str2" var str3: String var str4: String? = null // Java final String str1 = "s..
웹이든 앱이든 개발자들이 한 번씩은 경험해 보는 것이 쇼핑몰일 것이다. 그만큼 기본적으로 할 수 있어야 하는 부분들을 할 수 있고, 개발실력 향상에 도움이 되어서가 아닌가 생각된다. 안드로이드 개발 실력을 스스로 확인하기위해, 약 한 달의 시간에 걸쳐 천천히 쇼핑몰 개발을 진행하였다. 아래는 개발하기 전에 세웠던 목표들이다. 로딩화면에서 애니메이션을 넣어 로그인 화면 전환을 부드럽게 만들어보자. RecyclerView를 사용하자. BottomNavigationBar 를 사용하자. SQLite를 써서 개발해보자. 자동로그인 기능도 구현해보자. 결론적으로 위 목표를 모두 실현했다. https://youtu.be/Suzz_FGzeu0 코드 - Login Activity - 우선, 프로젝트를 막 시작하며 Ani..
EditText에 입력된 값을 DB에 넣어주기 위해서, Int to String 변환이 필요했다. 알고있는 방법은 두 가지로, toString과 String.valueOf였다. 문득, 현재 프로젝트에서 무엇을 쓰는것이 더 이득일까하는 생각이 들었다. 구글신에 검색하여 toString과 String.valueOf의 차이점에 대해 알아보았다. 간단한 코드와 함께 차이를 설명하겠다. String str = null; System.out.println(String.valueOf(str)); // null System.out.println(str.toString()); // NullPointerException String타입 변수 str에 null값을 넣어 초기화 해준 후, String변환 메소드 두 가지를 사..
회원가입 레이아웃을 구현하는 도중, EditText에 비어있는 칸이 있는지 체크를 할 필요가 있었다. 일단 무작정 짜보았더니 아래 코드가 나왔다. public boolean emptyCheck(){ if(TextUtils.isEmpty(name.getText())){ Toast.makeText(this, "이메일을 적어주세요.", Toast.LENGTH_SHORT).show(); return true; } else if(TextUtils.isEmpty(email.getText())){ Toast.makeText(this, "이메일을 적어주세요.", Toast.LENGTH_SHORT).show(); return true; } else if(TextUtils.isEmpty(id.getText())){ Toa..
로그인 Activity를 구현해야 했다. 로고 로딩 -> 로그인 폼의 순서였는데, 그냥 밋밋하게 화면 전환을 주기는 싫었다. 여러 어플들에서 봤었던 Animation을 구현해보기로 하였다. xml을 사용해서 하는 방법과, 자바 코드 내에서 하는 방법이 있는데, 전자의 경우 수업시간에 한 번 경험해 보았기 때문에 자바 코드 내에서 해보기로 하였다. 내가 원하는 그림은, 로고가 1~2초간 뜨고, 위로 약간 이동하면서 로그인 폼이 1~2초간 나타나는 것이었다. 로고 이동을 위해선 TranslateAnimation이 필요하고, 밝기 변화를 위해선 AlphaAnimation이 필요하다. 아래 onCreate부분만 가져왔다. @Override protected void onCreate(Bundle savedInst..
2018년 11월부터 12월까지 한 달가량 진행한 프로젝트이다. 팀원 4명과 함께 개발하였다. 우리 학교 산학 실무중심 프로젝트는 한 팀당 한 명 이상의 산학 선생님들의 멘토링 아래 진행된다. 한 학기라는 시간이 있었지만 담당 산학 선생님의 불성실함으로 인해 수업과 프로젝트를 진행하지 못했고, 때문에 담당 산학 선생님을 바꾸기까지 이르렀다. 한 달이 남은 시점에서 공부를 하고 2주도 채 안 되는 기간 동안 개발을 진행하였으며, 그 결과에 대한 블로깅을 한다. 우선 아이디어를 빠르게 선정하였다. 브레인스토밍을 통해 여러 아이디어를 내보았다. 얼굴표정인식기를 활용한 거짓말탐지기, 스트라이크존을 잡아주는 IOT, 옷 스타일러 등 많은 아이디어가 나왔다. 최종적으로는 자연재해 어플리케이션이 채택되었다. 실내에서..