본문 바로가기
반응형

개발 공부 기록하기84

Kotlin in Action Study - 01 코틀린이란?- 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어.- 자바와의 상호운용성을 중시 한다.- 자바가 사용중이면 거의 대부분 코틀린 사용 가능.- 서버, 안드로이드 등에서 사용 코틀린 맛보기data class Person(val name: String, val age: Int? = null) fun main(args: Array) { val people = listOf(Person("영희"), Person("철수", age = 29)) val oldest = people.maxBy { it.age ?: 0 } println("나이가 가장 많은 사람 : $oldest") } 위의 출력 결과는 아래와 같다. 나이가 가장 많은 사람 : Person(name=철수, age=29) 지난포스팅에서 생각나는대.. 2018. 2. 24.
Kotlin을 사용하며 느낀점 6개월 가량 코틀린을 사용하면서 느낀점을 작성하고자 한다. 장점- 코드가 간결해진다.- 코드가 간결해지니 가독성도 증가한다.- 복잡한 로직을 간단하게 짤 수 있다.- 모두가 말하는 널 안정성- 람다, 스트림 사용가능!- 자바와 호환성 100%- ETC... 우선 장점에대해서 나열하면 자바만 사용해온 나로썬 엄청 좋다 이다. 그냥 다 좋다! 왜 그런가 하면 첫번째로 코틀린에 익숙해질수록 코드가 단순해진다. 도대체 무엇이 단순해지는가? 말로만 하지말고 보여달라 우선 안드로이드 View를 사용하려면 항상 아래와 같은 (View)findViewById(R.id.text.. )와 같이 선언을 해줘야하는데 뷰가 하나정도면 괜찮지만 여러개일 경우 여간 귀찮은게 아니다. 반면 코틀린 코드는 ? 이게 끝이냐고? 그렇다 .. 2018. 2. 18.
Kotlin을 시작하며 이 카테고리의 Kotlin에 대한 글들은 대단한것을 하려는것은 아니고 스스로 공부하기 위한 글입니다. 회사에 입사하고 Kotlin을 처음으로 사용해봤다. 이제 6개월정도가 되어서 어느정도 Kotlin을 다루는데는 문제가 없었지만 내가 정말 제대로 사용하고 있는게 맞는지 알 수가 없는 상태인것 같다. 프로젝트의 Kotlin 비중은 높아져만 가는데 현재의 상태처럼 되는대로 사용하다가 언어를 사용할줄만 알고, 나중이 시간이 지나서 다시보면 희생불가능 한 덕지덕지 지저분한 코드를 작성할것이 우려되서 Kotlin을 다시 처음부터 학습해보고자 한다. 어떻게 하면 Kotlin을 조금더 Kotlin스럽게 사용할 수 있을까? 개인학습을 위해 프로젝트 + 책을 정리 해 나갈 예정이다. 이글은 나 자신을 못믿기에 (맨날 한.. 2018. 2. 13.
[Intellj & AndroidStudio] 안쓰는 메소드 변수 찾기 프로젝트를 시작하고 초기에는 상관없지만 규모가 커지면 커질수록 내가 사용하지 않는 메소드나 변수들이 증가하기 시작한다. 만들어두고 나중에 사용해야지 그랬을수도 있고, 지워야하는데 잊어먹고 안지웠을수도 있는데 이런 부분들을 일일이 찾아서 지우기란 적지 않은 시간과 노력이 들어간다. (눈이 피로해지는건 덤) 어떻게 하면 안쓰는 메소드나 변수들을 쉽게 찾을수 있을까 고민하고 알아본 결과 아래와 같은 방법이 있었다. 1. 상단 메뉴중 Analyze > Run Inspection by Name 선택 2. 검색어로 Unused(미사용) 입력하면 아래와 같은 목록이 출력된다. 언어, 변수, 함수, 파라미터, 라이브러리 등등 다양한 항목들중 찾고자하는 부분을 선택한다.(난 코틀린을 사용하고 symbol을 검색하고 싶어.. 2018. 1. 21.
[Android] Unknown Source가 뜰때 해결하기 서론 개발하다가 에러가 나는데 어느 순간부터 크래시로 앱이 죽는데 크래시의 내용이 상세하게 나오지 않는다. 별 대수롭지 않게 이건 시스템 내부쪽의 에러라서 표시가 안되는건가?? 하는 생각으로 며칠을 버텼는데, 억지로 앱이 죽는에러를 발생시켜도 해당 라인이 문제라고 알려주지 않는것이 아닌가? 그러다가 공통적으로 뜨는 것이 Unknown Source라는 것을 알게 되었다. 아래와 같은 에러가 발생된다면 한번 두번 세번 의심해보자 나랑 같은 상황임을.. 분명 NullPointException이 터졌는데 어디서 터졌는지는 안알랴줌으로 일관한다. 본론짜증나는 나의 에러코드의 Unknown Source UncaughtExceptionHandlerjava.lang.NullPointerException at kr.so.. 2017. 12. 9.
[안드로이드] 폰에 설치된 APK파일 추출하기 안드로이드 단말에 설치된 앱의 APK 파일을 추출하고 싶을때가 있다. 크게 두가지 방법이 있는데, 1. 해당 APK 추출을 도와주는 유틸성 앱을 다운 받는다- MyAppSharer 2. 간지나게 ADB 명령어로 APK파일을 원하는 장소에 추출한다. 나는 개발자기 때문에 간지나는 2번을 선택하기로 한다. HOW?1. 우선 폰을 USB선으로 컴퓨터와 연결한 후, 자체 터미널을 열거나, 안드로이드 스튜디오에서 제공하는 터미널을 연다. 2. 추출 하고자 하는 패키지 네임을 알아내자. 아래와 같이 명령어를 입력한다.adb shell pm list packages -f 입력하면 아래와 같이 내 폰에 존재하는 모든 패키지 이름들이 쭈르륵 뜬다. 저 많은 것들 중에서 어떻게 찾으란 말이야... 그래서 적당히 grep으.. 2017. 10. 2.
안드로이드 DialogFragment Title(Actionbar) 이 없어지지 않을때 방법 커스텀 DialogFragment를 만들고 간단한 Alert 창을 띄울 일이 있었는데 내가 원하지 않는 액션바 타이틀이 계속 나오게되었다.상위 버전에서는 (마시멜로우, 누가 버전)출력되지 않는 것을 확인 했으나 롤리팝(5.0) 버전 이하에서는 해당 증상이 확인되었다.우선 상황을 보자. DialogFragment 창을 띄우면 다음과 같이 뜬다. 위와 같이 빈 타이틀바 영역이 표시되는데 이를 없애려고 오만가지를 시도 해보았으나 생각보다 되지 않았다.간단한 코드와 함께 어떻게 없앨 수 있는지 코드를 통해 확인해보자 MainActivity.ktclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) {.. 2017. 9. 24.
안드로이드 WebView에서 GPS를 사용하는 방법 안드로이드 WebView에서 GPS 정보를 필요로 할때 어떻게 해야할까? 웹뷰에 다음 지도, 네이버 지도를 띄우는 작업을 할 일이 있었는데 단순히 웹뷰에 해당 URL만 넣으면 될 줄 알았는데 단순하게 URL만 넣는다고 해결이 되지 않았다. 현재 위치 버튼을 누르면 아래와 같은 메세지가 뜬다. 어떻게 해결해 나갈지 프로젝트를 만들며 함께보자 우선 아래와 같이 단순히 MainActivity에 WebView를 하나 선언 해주었다. MainActivity.javapublic class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) {.. 2017. 9. 17.
[Android] adb 사용하여 USB선연결 없이 apk 설치하기 안드로이드 개발을 하다보면 내가 개발한 내용을 테스트 하거나 확인할때 USB연결선을 단말과 연결하여 해당 apk를 폰에 설치하거나 한다. 하지만 이게 오래 하다보면 연결선에 문제가 생기는 경우도 있었고, 폰에 충전 단자가 손상되어 폰 충전이 되지 않는 현상을 겪은 적이 있었다. 어떻게 하면 폰과 물리적인 연결을 하지 않고 내가 개발한 소스파일을 컴파일하거나 실행시켜볼까 고민하던중 ADB를 알게 되었고, 굳이 물리적 연결을 하지 않더라도 APK파일을 내가 원하는 단말에 설치하고 실행해볼 수 있었다. 방법은 다음과 같다. Android Studio 기준으로 Terminal을 클릭하면 위의 그림과 같은 화면이 뜰 것이다. 기본적으로 설정해야할 것들이 있는데 처음으로 할 작업은 다음과 같다. 1. 해당 단말의 .. 2017. 6. 26.
반응형