반응형 전체 글271 [Android] SDK location not found 에러 해결 안드로이드 Application을 빌드하려고 하는 순간 아래와 같은 에러 문구가 발생했습니다. SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at 'C:\workspace_android\android\local.properties'. 말 그대로 properties 파일에 sdk 경로가 맞지 않아서 생기는 문제로 환경 변수를 통해서 등록만 해주면 쉽게 해결이 가능합니다. 먼저 내컴퓨터 오른쪽 클릭 > 설정 > 고급 시스템 설정 환경 변수 버튼 클릭 두 개의 환경 변수가 설정 .. 2021. 11. 12. [Android] 백그라운드 제약 안드로이드를 개발하다 보면 Background와 Foreground라는 단어를 접하게 됩니다. 이 두가지 개념을 잘 알고 있어야 하며 개발 시 너무도 많이 개발자와 싸우게 될 단어입니다. 안드로이드 앱은 기본적으로 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등 4개의 컴포넌트로 구성되는데 액티비티를 제외한 나머지 컴포넌트는 화면을 구현하는 용도가 아니라 백그라운드에서 작업을 처리할 목적으로 사용합니다. 예전에는 사용자가 앱을 실행해 화면이 출력된 적이 없는 상황에서도 서비스나 브로드캐스트 리시버로 백그라운드에서 작업을 처리할 수 있었지만 안드로이드 8버젼부터는 제약이 생겼습니다. 1) 리시버 백그라운드 제약 브로드캐스트 리시버의 백그라운드 제약은 sendBroadcast()함수로 인텐트를.. 2021. 11. 1. [Kotlin] 코틀린이란? 코틀린은 젯브레인스에서 오픈소스 그룹을 따로 만들어 개발한 언어입니다. 자바가 인도네시아 섬 이름을 따와서 사용했듯이 자바를 대체할 목적으로 만든 코틀린도 러시아의 섬 이름에서 유래했습니다. 코틀린으로 안드로이드 앱을 개발할 수 있는 것은 자바의 가상 머신인 JVM에 기반을 둔 언어이기 때문에 가능합니다. 즉 코틀린을 통해 개발한 프로그램은 JVM에서 실행할 수 있습니다. 하지만 코틀린은 자바와는 엄연하게 다른 언어입니다. 자바는 확장자로 .java 를 사용하지만 코틀린은. kt를 사용합니다. 그러나 여기에서 재밌는 점은 코틀린 컴파일러가 .kt 파일을 컴파일하게 되면 자바 바이트 코드가 만들어진다는 것입니다. 즉 개발자는 자봐와 다른 코틀린으로 코드를 작성하지만 컴파일을 거치면 자바 클래스가 만들어지고.. 2021. 10. 26. php logfile 출력 프로젝트 진행 중 제품의 로그를 서버상에 txt or log 파일 형식으로 저장하고 개발자는 이 로그를 기반으로 다양한 디버깅이 가능합니다. 하지만 고객사에서 로그기록을 좀 보고 싶은데 방법이 없냐는 문의가 들어왔고 간단하게 이 파일자체를 보여주기 위해 웹상에 뿌려주는 방법을 구현했습니다. 즉 web페이지 자체에 php를 통해 log file내용을 한 줄씩 뿌려주면 되는 해결될 문제입니다. 저는 /data/logs/beanlogtest 경로에 있는 bean.txt 파일을 불러와서 한 줄씩 뿌려주는 코드를 php를 통해 구현해주었습니다. 만약에 로그파일 위치에 로그가 없다고 한다면 File Not Load라는 메시지가 웹페이지 상에 띄워질 것이고 파일이 있다면 해당 내용이 웸 페이지상에 출력되는 것을 확인.. 2021. 10. 26. [Android] 데이터 저장 SharedPreferences 안드로이드 Application을 개발하면서 간단한 데이터를 저장할 일이 자주 발생합니다. 예를 들어서 저는 사용자 동의 같은 간단한 기능에서 많이 사용하게 되는데요 Application이 초기에 구동되고 사용자 정보 동의에 대한 내용을 띄우고 사용자가 이에 동의를 했다고 한다면 두 번째 실행부터는 굳이 사용자에게 이 내용을 다시 보여주고 동의를 요청할 필요가 없습니다. 즉 이럴때에 SharedPreferences를 사용해서 동의 여부에 대한 내용을 저장하고 Application이 실행될 때 이 저장 정보를 불러와서 동의를 했다면 사용자 동의내용을 띄우지 않고 동의를 하지 않았다면 내용을 띄우는 방식으로 구현할 수 있습니다. 이뿐만이 아니라 기타 여러 가지 Application에서 저장해야 될 내용을 저.. 2021. 10. 20. [Android] 핸들러란? 안드로이드 프로그램에서 필수적으로 사용되는 Handler란 무엇인지에 대해 정리하겠습니다. 핸들러에 알기 위해서는 먼저 스레드와 함께 생각을 해 보아야 합니다. 스레드는 하나의 프로세스 안에서 동시에 수행되어야 하는 작업을 위해 사용합니다. 자바에서 스레드를 학습해본 분이라면 접근이 더 쉬울 텐데요. 그 이유는 안드로이드 시스템의 스레드는 자바의 스레드 개념을 그대로 사용하기 때문입니다. 하지만 안드로이드 시스템에서 프로그램을 작성하는 개발자가 생성한 스레드는 UI 변경 등의 행동을 할 수가 없습니다. 그 이유는 UI를 관리하는 메인 스레드와 동시에 접근할 때 발생할 수 있는 문제를 사전에 방지하기 위해서 안드로이드 시스템에서 만들어놓은 안전기능입니다. 이러한 UI접근 등을 핸들러를 통해서는 가능하기 때.. 2021. 10. 13. 이전 1 ··· 37 38 39 40 41 42 43 ··· 46 다음 반응형