전체 글

Front Engineer / Mobile Developer
String 클래스를 공부하면서 스트링 버퍼와 스트링 빌더 의 차이점이 궁금해서 찾아보았다. 불변 String : 문자열 연산이 적고 멀티 쓰레드 환경일때 사용한다. 가변 String Buffer : 문자열 연산이 많고 멀티 쓰레드 환경일때 사용한다. 가변 String Builder : 문자열 연산이 적고 단일 쓰레드 환경일때 사용한다. 문자열 반복문 안에서 더하는것을 사용하면 안된다. 이유는 내부적으로 스트링 버퍼 객체를 계속 생성하여 처리하기 때문에 성능상 문제가 생길수 있다. StringBuffer가 가지고 있는 메소드들은 대부분 자기 자신, this를 반환 StringBuffer sb2 = new StringBuffer(); StringBuffer sb3 = sb2.append("hello"); ..
진짜 많이 들었고 많이 사용함에도 불구하고 정의에 대한 개념을 항상 까먹거나 헷갈려해서 포스팅한다. 오버로딩:: 같은 이름의 메서드를 여러개 가지면서 매개변수의 타입과 갯수가 다르도록 하는 기술 오버라이딩:: 상위 클래스가 가지고있는 메서드를 하위클래스가 재정의 해서 사용하는것. 참조 https://private.tistory.com/25
컴포넌트란? 안드로이드 앱의 아키텍처에서 가장 큰 특징은 컴포넌트 기반이라는 것이다. 컴포넌트는 앱의 구성 단위이며, 컴포넌트 여러 개를 조합하여 하나의 앱을 만든다. 컴포넌트 4가지 액티비티 : UI를 구성하기 위한 컴포넌트 서비스 : UI없이 백그라운드에서 장시간 수행되는 컴포넌트 콘텐츠 프로바이더 : 애플리케이션간 데이터를 공유하기 위한 컴포넌트 브로드캐스트 리시버 : 이벤트 모델로 수행되는 컴포넌트
안드로이드에서 그래프를 그리기 위해 MPandroidChart 라이브러리를 많이 사용한다. 프로젝트에서 사용중인 그래프도 MPandroidChart라는 라이브러리를 사용중이었고 수정을 하기위해서 알아야했다. 처음엔 정말 너무 어려웠다. 시간도 많이걸렸다. https://github.com/PhilJay/MPAndroidChart PhilJay/MPAndroidChart A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations. - PhilJay/MPAndroidChart gi..
요구사항 중에 한가지 프로젝트를 가지고 여러곳의 버전으로 배포해야 하는 업무가 있었다. 앱의 아이콘 , 앱 이름 등을 변경해야했고 그안에 몇가지 String 리소스들을 수정하면 된다. 소스 코드는 동일하다. flavor 라는 키워드를 통해 정보를 접할수 있다. 예제들도 많았고 공홈에서도 찾아볼수 있다. 보통 앱을 개발 할때 운영(Real)앱과 개발(Test)앱을 분리하여 관리한다고 한다. 또는 유료앱과 무료앱을 나누어서 개발 관리 할 목적으로 많이들 사용하는거 같다. 어쩃든 목적은 다르나 내용은 같기에 언제가 또 사용할 후를 위해 포스팅을 생각했다. 단순히 빌드 옵션만 변경해서 사용한다고 생각하면 되겠다. 이론은 쉬웠지만 실전은 막히는 부분이 많았다. 1. build.gradle 수정하기 productF..
일단 Constraint Layout은 처음에 접근하기 어려워보였다. 처음 배울때도 그렇고 강의나 교수님 얘기를 들어봐도 Linear Layout이나 Relative Layout으로 그냥 쓰라고한다. 아무래도 다른것에 비해 비중도가 낮기 때문에 그랬던것 같다. 하지만 이제 배울때가 된 것 같다.. 프로젝트에 ConstraintLayout으로 짜있는 xml이 적잖이 많아 무시할수가 없었다.. 센치한 개발자님 유튜브를 보고 개념을 잡았다. xml유형으로는 크게 3가지로 볼수있다. Linear layout -선형 Relative layout -관계 Constraint layout -관계 리니어 : 계층구조가 복잡하다. 퍼포먼스가 부족하다. 릴레티브 : 멀티 디바이스 대응에 한계가 있다. 콘스트레인트 : 퍼포먼..
Call by value (값에 의한 호출) - 복사를 하여 처리한다. 장점: 복사하여 처리하기 때문에 안전. 원래 값이 보존된다. 단점: 복사 하기 때문에 메모리 사용량이 늘어난다. call by reference(참조에 의한 호출) - 직접 참조를 하여 처리한다. 장점: 복사하지 않고 직접 참조하여 빠르다. 단점: 직접 참조를 하기에 원래 값이 영향을 받는다.(리스크)
앱을 수정하기위해 svn을 통해 소스코드를 받았다. 열어보면 처음부터 경고창이 뜨는데 보면 sdk경로가 저절로 바꿔주겠다는 내용이다. 실제 local.properties에 들어가 확인해보면 sdk.dir경로가 내 sdk로 바꿔준다. 뭐 저절로 바꿔준다고 하면 나야 땡큐이긴한데 내가 소스코드를 수정하고 커밋하고 업데이트를 하면 나중에 남이 코드를받고 또 sdk가 바뀌지 않나? sdk뿐만아니라 svn을 통한 커밋을 하려고보면 v초록색 체크표시가아닌 x빨간색 표시의 파일들이 무수히 존재한다. 무엇때문인건지 이유를 모르겠다.. SVN은 원래이런가..? 보통 어떻게 설정해서 코드를 옮기는지 알고싶다.. x빨간색 표시들이 상당히 거슬린다. 그래서 찾아본게 sdk에 대한 정의다.sdk를 찾다보니 api도 같이 설명되..
shy1008
hrso'log