본문 바로가기

전체 글

(271)
[Kotlin] Java와의 차이점 2 자료/자료형의 확인 및 변환 객체의 값 검사(==) 객체의 동일성 검사(===) 자료형 확인(is) 자료형 변환(as) Java의 경우 객체의 값을 검사할 시 equals() 메서드를 사용하고, 동일성 검사는 반대로 ==를 사용한다. 자료형 확인 is 연산자의 경우 Java의 instanceOf와 동일하다. 자료형 변환의 경우 Java에서는 (자료형) variable과 같이 사용하지만, Kotlin에서는 variable as 자료형과 같이 사용한다. 흐름 제어 if-else 문 Java와 사용법은 동일하지만, Kotlin의 경우 값을 반환할 수 있다. val age:Int = 20 val ageRange: String = if(age>=10 && age=20 && age Log.d(TAG, "We hav..
[python] 엑셀에 저장된 주소 정보를 위도, 경도로 변환하기 환경 설정 $ pip install requests $ pip install openpyxl 추가로 아래 파이썬 코드가 작성된 폴더에 엑셀 파일을 위치시킨다. 첫번째 열에 주소 정보를 입력 API 공간정보 오픈플랫폼 오픈API Geocoder API 2.0 레퍼런스 Geocoder API 2.0 레퍼런스입니다. API 버전 : Geocoder API 2.0 레퍼런스 Geocoder API 1.0 레퍼런스 소개 주소를 좌표로 변환하는 서비스를 제공합니다. 요청URL을 전송하면 지오코딩 서 www.vworld.kr 사이트 회원가입 후 API를 발급받고, Geocoder API 1.0 레퍼런스를 활용 geo.py #-*-coding: utf-8 -*- import requests import openpyxl ..
[리눅스, MySQL] 리눅스에서 MySQL DB에 csv 파일 import 방법 CSV 파일 딜리미터(구분자)가 쉼표(,)로 구성된 파일로 아래와 같이 메모장으로 볼 수 있거나 엑셀로 볼 수 있다. 1. MySQL 환경 설정 - DB 생성 - 데이터에 적합한 필드를 가진 테이블 생성 2. CSV 파일 옮기기 MySQL에서 파일을 import 할 경우 안전한 디렉토리 내에 파일을 위치시켜야한다. mysql>show variables like "secure_file_priv"; /var/lib/mysql-files/에 csv 파일을 위치 시킨다. 3. 파일 import - DB 지정 - 데이터 삽입 mysql>LOAD DATA LOCAL INFILE '/var/lib/mysql-files/center_location_lat_lon.csv' INTO TABLE centers CHARACT..
[Kotlin] 개요, Java와의 차이점 1 Kotlin Jetbrain에서 Java를 대체하기 위해 만든 언어로 아래와 같은 특징이 있다 널 안정성 가변/불변 구분(var, val) 람다식 스트림 API 클래스 프로퍼티에 대해 getter/setter 제공 특이한 점은 Kotlin은 원시 타입을 모두 객체로 표현한다. 예를들어, 아래와 같이 객체(Int)로 선언한다. val foo : Int = ... 이렇게 표현할 경우 비효율적일거 같지만, 컴파일 과정에서 가장 효율적인 타입으로 변화된다. 위의 코드는 아래와 같이 표현된다. int foo = ... ; Java와의 비교 배열 Java의 경우 아래와 같이 배열 자료형이 별도로 존재한다. int[] num = new int[]{1,2,3}; 하지만, Kotlin의 경우 Array 객체로 표현한다...
[디버깅] SwipeRefreshLayout+RecyclerView 조합에서 item click 이벤트 수신 불가 문제 constraintLayout을 linearLayout으로 변경. 버그로 추정 SwipeRefreshLayout blocks onClickCallback of item in nested RecyclerView I have a SwipeRefreshLayout with a nested RecyclerView. Each item in the recycler view essentially is a CardView with an onClickHandler attached. I have an issue where my clickHandler is not called... stackoverflow.com
[디버깅] 리사이클러뷰 스크롤 다운 시 아이템이 뒤섞이는 문제 getItemViewType을 오버라이딩 Recyclerview Changing Items During Scroll I have a RecyclerView. Each row has a play button, textview and Progressbar. when click on the play button have to play audio from my sdcard and have to progress Progressbar The problem is when i s... stackoverflow.com
[배포] 배포시 키 서명 관리 SHA-1 개요 각종 API를 사용할 때는 SHA-1(key hash) 값이 필요하다. 이는 안드로이드 스튜디오 내의 우측 gradle 탭에서 '개발용 해시값'을 얻을 수 있다. 이는 단순히 개발용일 뿐이다. 앱 마켓에 정식 배포 시 '배포용 해시값'을 획득해야 한다. 개발용 해시값은 gradle->project->tasks->android->signingReport에서 획득할 수 있다. 배포용 해시값의 획득 이는 구글 플레이 콘솔에서 아래와 같이 얻을 수 있다. 위의 값은 16진수 값으로 보여진다. 만약 특정 API의 경우 base64로 인코딩된 형태를 요구할 수도 있다. 그럴 경우 아래 사이트에서 변환이 가능하다. tomeko.net/online_tools/hex_to_base64.php?lang=en Note..
[디버깅] 리사이클러뷰 아이템이 제대로 나오지 않는 문제 문제점 리사이클러뷰 아이템이 제대로 나오지 않는 경우는 굉장히 많을텐데 이번에는 좀 특이 케이스인 것 같다. recycler_view의 height를 0dp를 하면 이상하게 나오고, wrap_content를 사용하면 제대로 나온다. 어답터로는 Jetpack의 ListAdapter를 사용했다. RecyclerView.Adapter로 수행해도 같은 문제가 반복돼서 그 어답터 문제는 아니라고 판단했었다. 비정상(CardView > Constraint > RecyclerView(Height=0dp)) 카드뷰 하위 레이아웃을 Constraint layout을 사용하고 그 하위에 recyclerview의 높이를 0dp로 지정 정상(CardView > Constraint > RecyclerView(Height=wra..