본문 바로가기

IT

[Kotlin] 코틀린 자료/ 자료형의 확인 및 변환 (==, ===, is, as, 스마트 캐스트) 안녕하세요 YTS 입니다. 자료 또는 자료형의 확인 및 변환 자료의 동일성확인 ==,=== 연산자 자바에서는 자료의 동일성을 확인할때에 == 연산자를 사용하기도 합니다.하지만 일반객체에서는 값뿐 만 아니라 객체 자체가 동일한지 여부도 따지기 때문에 equals() 메서드를 사용하여 객체의 값을 확인합니다. 코틀린에서는 비교 대상이 객체, 객체 값의 동일성을 확인 하기 위해 구분할 필요 없이 모두 == 연산자를 사용하면 됩니다. 또한 ==연산자는 Null 여부도 함께 확인하기 때문에 자바처럼 널 포인트 오류를 방지 하실 필요가 없습니다. class Equlas { val a: String = "equlas" val b = a val c: String = "equlas" val aEqualsB: Boolea..
[안드로이드] 안드로이드 커스텀 달력 예제 (Android Custom CalendarView Example) 안녕하세요 YTS 입니다. 오늘은 제가 만든 Custom Calendar View에 대해 적어보려합니다. 기본적으로 Android 에서 제공하는 달력은 한계점이 많고 각 날짜에 꾸밈을 할 수없기 때문에 불편한점이 많습니다. 저의 방법은 RecyclerView를 이용하여 만든 방법입니다! 참고로 해당 방법을 이용하기위해선 RecyclerView와 RecyclerView.Adapter에 대한 사전지식이 조금 필요합니다. 1. RecyclerView에 ViewType 설정 2. StaggeredGridLayoutManager에 대한 Span 설정 ( 이 부분은 쉽습니다. ) 사전 지식을 아는 개발자라면 쉽게 따라 하실 수 있도록 가이드하겠습니다. 1. Xml에 RecyclerView를 선언한다. 저는 헤더, ..
[안드로이드] MPAndroidChart LineChart 속성 정리 (Example) 안녕하세요 YTS 입니다.오늘은 Chart 라이브러리의 끝판왕 MPAndroidChart 속성에 대해 적어보려합니다. 사실은 자꾸 할때마다 속성을 잃어버려서요.... ㅎㅎㅎㅎ 우선 https://github.com/PhilJay/MPAndroidChart 여기서 소스를 받으실수 있습니다. 사용법은 정말 간단하면서도 헷갈리네요! 1. XML2. JAVAprivate void setChart(List records) { LineChart lineChart = binding.lineChart; lineChart.invalidate(); //차트 초기화 작업 lineChart.clear(); ArrayList values = new ArrayList();//차트 데이터 셋에 담겨질 데이터 for (Record ..
[안드로이드] 안드로이드 클래스 다이어그램(Class Diagram) 만들기 안녕하세요 남갯입니다 오늘은 안드로이드 스튜디오를 통한 클래스 다이어그램을 생성하는 방법에대해 포스팅해보려고합니다. 일단 안드로이드 스튜디오 버젼은 2.2 이상이여야합니다. 그 후 https://plugins.jetbrains.com/plugin/4946-simpleumlce 에 접속해서 simpleUMLCE를 다운합니다. 다시 안드로이드 스튜디오에 접속하고 위의 setting에 들어가서 install plugin from disk 를 클릭합니다. 아까 다운한 simpleUMLCE를 클릭하고 적용한후 restart를 합니다. 그렇게 왼쪽밑에 simpleUML이 나온것을 확인하실 수 있는데요 그후에 이렇게 생성하시면 됩니다. 감사합니다
[코틀린] mvvm패턴 속 application context 가져오기 안녕하세요 남갯입니다 오늘은 MVVM패턴속에 context를 인자로 넘겨주지 않기때문에 application 에서 context를 가져오는 방법에 대해 알려드리려고합니다 드로우어블 리소스나 스트링 리소스를 가져올때 자바의 경우 아래와 같이 작성하면 됩니다 public class Application extends android.app.Application { private static Application instance; public static Application getInstance(){ return instance; } @Override public void onCreate() { super.onCreate(); instance = this; } public Context applicaitonC..
[안드로이드] 안드로이드 스낵바(SnackBar) 안녕하세요 남갯입니다 오늘은 안드로이드 스낵바에 대해 소개해드리려고 합니다 출처 - https://material.io/develop/android/components/snackbar/ 우리는 보통 알림을 띄울때 Toast를 이용해서 많이 이용했을 겁니다. 하지만 안드로이드 오레오부터 알림을 끄게되면 Toast가 보이지 않습니다 따라서 스낵바로 넘어갈 상황이 필요한것 같습니다 Snackbar.make(View, "할말", Snackbar.LENGTH_SHORT).show(); 이렇게 작성을 하게되면 위의 사진과 같이 동작하게 됩니다. 추가적으로 초록색 글자 Action처럼 확인 버튼을 만들기위해 Snackbar.make(View, "할말", Snackbar.LENGTH_LONG) .setAction(오른..
[Linux] 파일,폴더 삭제하는 방법 안녕하세요 남갯입니다 오늘은 리눅스 폴더,파일를 삭제하는방법에 대해 설명해보려고합니다 rmdir이라는 명령어를 통해 삭제가 가능합니다 예를들어 test1이라는 폴더가 있을경우 rmdir test1 으로 삭제하고 혹은 test1이 파일이여서 삭제할경우 rm test1 를 사용하면 됩니다. 혹시나 폴더 내부에 또 다른 하위폴더가 있을경우 달라집니다. rm에서는 옵션이 존재하게 되는데 r : 파일, 디렉토리를 같이 삭제f : 파일의 유무랑 상관없이 삭제v : 결과를 확인하기 따라서 rm -r test1 or rm -rf test1을 통해 삭제하면 됩니다
[postgresql] SQL 테이블 칼럼 추가,삭제하기 안녕하세요 남갯입니다 오늘은 이미 있는 테이블의 칼럼을 추가,삭제하는 방법을 알려드리려고 합니다. ALTER TABLE '테이블명' ADD COLUMN '추가할 칼럼명' 타입 [DEFAULT] 타입에 맞는 명; 예를들어 보겠습니다 저는 cnr_tra_rec라는 테이블에 place라는 칼럼을 추가하려고합니다 따라서 ALTER TABLE cnr_tra_rec ADD COLUMN place character(4) NOT NULL DEFAULT '집'; 저는 cnr_tra_rec라는 테이블에 place라는 4byte짜리 캐릭터타입의 칼럼을 추가했고 이 값은 NULL이 아니며 기본값은 '집' 이라는 값으로 넣어라 라는 의미로 생성했습니다 이번엔 이미 있는 테이블의 칼럼을 삭제하는 방법입니다. ALTER TABLE..