전체 글 528

커니의 코틀린 - 3장 (데이터 클래스)

데이터 클래스 : 자료를 저장하는 클래스를 만드는 과정을 단순하게 하기 위해서 제공하는 특별한 클래스 코틀린 data 클래스data class Person(val name: String, val address: String) Java VO 형태 클래스public class Person { private String mName; private String mAddress; public Person(String name, String address) { this.mName = name; this.mAddress = address; } public String getName() { return mName; } public void setName(String name) { this.mName = name; } ..

Dev/Kotlin 2018.07.16

경험으로 배우기가 가능할까? - 구라 99%?!

경험으로 배우기가 가능할까? 책이나 누군가를 통해서 들은 말 중에서 사람은 경험에서 배운다고 한다. 이 얘기는 당연히 맞기도 하지만 거의 틀리기도 한다. 나에게는 틀린 경우가 더 많았고, 보통 100번의 경험으로 1번의 배우기를 했다고 생각한다. 즉 거의 배우지 않았다는 것이다. 경험으로 배우기 위해서는 전제조건이 붙는 것 같다. 그것은 바둑 경기가 끝나고 처음부터 경기를 재연하는 복기 과정이다. 즉, 중학교, 고등학교를 다닐 때 했었던 오답노트!!경험에서 배우려면 복기를 해야 한다. 왜 틀렸는지 무엇이 문제였는지를 파악해야지 다음에 똑같거나 비슷한 상황 혹은 문제가 올 때 해결할 가능성이 존재한다. 그러나 복기 과정이 없다면, 내가 그랬던 것처럼 틀렸던 문제를 99% 확률로 틀릴 것이다.최근에 Gith..

Log 2018.07.03

특정 Context 가 특정 Activity 의 Context 인지 확인하는 방법

어떤 상황에서 Context 가 어떤 Activity 의 Context 인지 알아야할 상황이 올 수 있습니다.그때 Java 기능 중 하나인 객체의 타입을 검사하는 instanceof 입니다. 사용 형태 - 변수 instanceof 클래스 A instanceof B- A 라는 변수가 B타입인지 검사ex) if (str instanceof String) { .... } - A 라는 변수가 B 클래스 인지 검사ex) if (context instanceof CheckAcitivity) { ... }클래스의 검사의 경우는 아래와 같이도 해줄 수 있다.if (context.getClass() == CheckActivity.class) { ... }

Dev/Android 2018.07.03

다시 건강의 적신호가 발생.

2018년 6월 마지막주(26~29)까지 해야될 일을 좀 무리해서 진행하면서 허리에 무리가 가기 시작했음.오래 앉아있기가 힘들고, 조금씩 다리가 저리는 현상이 나타남.나름 오랜시간 서있거나(출퇴근) 앉아있거나(일할때) 할때 허리 통증이 조금씩 나타남. 조금 무리해서 작업을 하면서 신경을 많이 쓰다보니 허리 통증이 생김. 6/30 병원을 들르니 내 나이대보다 평균보다 허리 상태 안좋다고 진단받음. 역시나... 안좋음... ㅠ해야할 일 좀하다가 힘들어서 누워서 많은 시간을 보냄. 7/1 에 여자친구가 집 근처까지 와서 축하해주고 2~3시간 정도 보고 돌아감. 허리 상태가 좋지 않아서 그 정도가 한계.건강이 좋지않으면 할 수 없는 일들이 너무 많다. 시간이 허락되도, 경제 여건이 괜찮아져도 즐길 수 있는 건강..

Log 2018.07.02

말과 행동 그리고 꾸준함 - 근본의 문제

말은 지금도 뱉을 수 있고 앞으로도 뱉을 수 있고 어제도 뱉었다. 그러나 행동으로 옮겨지진 않았다.일회성의 행동은 비교적 쉽다. 그러나 꾸준하게 유지하는 것은 어렵다.늘 신경을 써야 하며, 많은 시간과 에너지가 필요하다. 그래서 어렵다. 아주 많이 어렵다. 매우 정말 너무나 어렵다. 변명은 참 쉽다. 결과에 대한 변명도 쉽지만, 이 과정에 대한 변명도 참 쉽다.시간이 없어서 못했다.체력이 부족해서 못 했다.아파서 할 수가 없었다.회사 일이 너무 바빠서 못했다.중요한 기념일이기에 준비하는 시간이 길어서 할 수 없었다.마음이 끌리지 않아서 안 했다.이유는 놀라울 만큼 참 많다. 진실한 이유도 있고, 가짜 이유도 있고 상황은 여러가지의 형태로 다가왔을 것이다.다만, 단순히 결과가 나빴어도 스스로가 인정할 만한..

Log 2018.06.30

onKeyDown() 함수와 onBackPressed() 함수

onKeyDown() VS onBackPressed() 어플리케이션에서 backButton 을 누를때 특정 동작을 구현하려고 하였다. backButton (뒤로가기)을 눌렀는데 onBackPressed() 의 함수를 호출하지를 못했다.@Override public void onBackPressed() { // 로그.... } 코드를 살펴보니 onKeyDown() 함수를 통해서 Key Event 를 받고 있었다.@Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: // 코드... return true; case KeyEvent.KEYCODE_VOLUM..

Dev/Android 2018.06.27

DialogFragment 사라질때 - dismiss listener

DialogFragment 에서 Dismiss 리스너 등록 MyDialogFramgent dialog = new MyDialogFragment();dialog.show(getFragmentManager(), "TAG");dialog.getDialog().setOnDismissListener(new DialogInterface.OnDismissListener() {@Overridepublic void onDismiss(DialogInterface dialogInterface) {// 다이얼로그가 사라질때 할 행위}}); 위와 같이 Dismiss 리스너를 등록할 경우 NullPointerExeption 이 발생한다.아마도 Dialog 가 활성화 되지 않은 상태였기 때문에 getDialog() 를 호출할때 N..

Dev/Android 2018.06.21