목록개발 (19)
장군이네집
1. 개인정보의 처리 목적 (‘https://medium.com/@kukuku0517’이하 ‘Rabratory’) 은(는) 다음의 목적을 위하여 개인정보를 처리하고 있으며, 다음의 목적 이외의 용도로는 이용하지 않습니다. - 고객 가입의사 확인, 고객에 대한 서비스 제공에 따른 본인 식별.인증, 회원자격 유지.관리, 물품 또는 서비스 공급에 따른 금액 결제, 물품 또는 서비스의 공급.배송 등 2. 개인정보의 처리 및 보유 기간 ① (‘https://medium.com/@kukuku0517’이하 ‘Rabratory’) 은(는) 정보주체로부터 개인정보를 수집할 때 동의 받은 개인정보 보유․이용기간 또는 법령에 따른 개인정보 보유․이용기간 내에서 개인정보를 처리․보유합니다. ② 구체적인 개인정보 처리 및 보유..
Serialization 데이터를 저장하고 전달할때자료구조나 객체를 byteStream으로 전환하는것Deserialization은 그 반대. byteStream을 다시 객체로 복원하는 것. Serialization하는 이유는파일, 버퍼 전송네트워크 전송 등 이 대표적인데Android에서는 Intent를 통해 *primitive type 이외의) 데이터를 전송할때 필요하다 http://virusworld.tistory.com/66 Serializable 과 Parcelable의 차이 Serializable 는 java reflection을 사용하여 성능 문제를 야기할수있고 Parcelable는 직접 Parcelable을 상속하여 구현하기 때문에 더 효율적이다 Parcelable describeContent..
https://academy.realm.io/kr/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/ 기존 MVC모델은 Activity가 데이터를 중개하는 Controller에 해당 코드가 깊게 종속되는 경향이 있다. MVP(Model - Presenter - View)로 (인터페이스로) 분리 View는 presenter로 부터 받은 데이터를 뿌려주는일 Presenter는 View로 부터의 입력을 Model에 보내거나 그 반대 Model은 DB repository로 부터 데이터 CRUD Presenter와 View가 분리되면서 가상 VIew를 mock하여 Presenter내부 로직의 Unit-test가 용이해진다고 함. 그리고 interface이므로 다른 구상클래스로 손..
참고 블로그http://jusungpark.tistory.com/ 스트래티지 패턴알고리즘군을 정의하고 캡슐화하여 교환해서 사용할 수 있도록 만드는 방식 위와 같이 공유하는/공유하지 않는(+변동가능한) 메소드가 공존하는 경우 1) 부모클래스에서 구현 : 사용할 수 없는 자식클래스에서도 사용가능2) 인터페이스 상속 : 각 자식클래스에서 반복적으로 구현해야함3) 중간 클래스 생성 : 확장성 부족 스트래티지 패턴은 "바뀌는 부분만 분리 시키는것"부모클래스는 인터페이스를 상속하고 메소드를 호출하지만메소드의 구현은 인터페이스를 상속한 클래스에서 하며,자식 클래스에서 그 구상 클래스를 생성한다. 옵저버 패턴한 객체(Observable)의 상태가 바뀌면, 그 객체에 의존하는 다른 객체들(Observer)에게 연락이 가..
https://techbeacon.com/how-become-better-android-developer-30-bite-sized-pro-tips
기본적으로 하이브리드 앱을 만드려면 1. 앱안에서 모든 요청이 이루어져야함2. Javascript 함수를 call하거나 / call된 함수를 앱에서 실행할수있어야함(alert등)3. 앱 특화된 행동들과 (backpress, 각종 intent등) 연동 되어야함 1.1) shouldOverrideUrlLoading deprecated 되어서 사용해도 되는지는 아직 더 조사해봐야겠지만,요청을 보낼시 url을 받아와 loadUrl(url)을 해주면해당 웹뷰내에서 이동 2) Jsoup 조금 다른 영역이긴 하지만, 간단한 웹페이지 같은경우는Jsoup를 통해 스크래핑해서 native UI로 뿌려줌 2. 1) Javascript call을 받아옴 WebChromeClient는 onJSAlert 등 기본적인 JS 함수 ..
Basic Syntaxhttps://kotlinlang.org/docs/reference/idioms.html String Formatting "sum of $a and $b is ${a + b}" String 내부에 $ , ${}을 통해서 쉬운 formatting이 가능 Type check & auto cast if (obj is String) { // `obj` is automatically cast to `String` in this branch return obj.length } if 연산자를 통해 type check가 완료된경우 auto cast되어 해당 type의 method를 바로 사용가능 when when (obj) { 1 -> "One" "Hello" -> "Greeting" is Lon..
Android Developers : https://developer.android.com/guide/topics/ui/how-android-draws.html https://medium.com/@britt.barak/measure-layout-draw-483c6a4d2fab View View는 3단계에 따라 그려진다1) Measure2) Layout3) Draw 1. Measure : view의 크기를 결정한다 - child를 포함하며, parent의 동의를 받아야한다. 1) measured W (width) & H (height) : view가 원하는 크기2) W & H : 추후 다시 계산되어, 스크린에 표시될 크기 measure는 top-down traversal parent는 child에게 Mea..
배경 안드로이드 View는 3단계를 거쳐 그려짐 1) Measurement2) Layout3) Draw 1) VIew 크기 결정. root부터 child로 ( widthMeasureSpec, heightMeasureSpec )를 전달하며 반복됨2) 크기 기준으로 View 위치 결정. 역시 root부터 child로 반복적으로 호출3) 그리는 단계. 그릴땐 child에게 measure하라는 메세지가 전달됨 중첩된 레이아웃이 많을수록 측정하는데 걸리는 시간이 많아진다.ConstraintLayout은 flat한 구조를 유지하면서 복잡한 레이아웃 설정이 가능하다. 고로 효율이 좋다 side_constraints LeftOf / RightOf / TopOf / BottomOf + @id / parent 다른 Vie..
Kotlin 활용기 아직 Java도 부족한 부분이 많지만,Kotlin을 활용하여 Android앱을 개발해보기로 했다. 후기는 다분히 주관적이다 Kotlin? Kotlin!! Kotlin의 첫번째 특징 : Null check https://kotlinlang.org/docs/reference/null-safety.html Kotlin에서 null pointer exception이 발생하는 경우는 1) throw NullPointerException2) !! operator를 사용하는 경우 뿐 Kotlin에선 변수 type이 없고 1) val : immutable2) var : mutable 로 선언해준다. val은 final과 유사하다고 보면되고, var는 값을 넣거나 var a: [Type] 으로 선언가..