전체 글 158

[Android] 스레드(Thread)와 핸들러(Handler)

비동기 처리 비동기 처리란? 비동기 처리 (동기적으로 처리하지않음) -> 즉, 동기적으로 처리할 경우에 코드의 응답 결과를 기다렸다가 받으면 다음 동작을 실행하는 처리가 아니라 응답에 상관없이 동작을 실행하는 처리방식을 의미한다. 비동기 처리가 왜 필요한가? 작업시간이 긴 작업 또는 기기 외부 요소와 상호작용할 경우 시간 지연이 발생할 수 있음 -> 사용자 UI를 처리하는 메인 쓰레드에서 이 경우가 발생한 경우에 ANR(Application Not Responding)이 발생함 (ex: 대용량 DB 접근, 네트워크 사용 등) 따라서 API 11부터 UI 쓰레드(Activity, Main Thread)에서 위와 같은 시간지연이 발생하는 작업이 금지됨 => 비동기 처리방식을 이용하여 별도의 쓰레드에서 작업시..

Android 2021.01.20

[Kotlin] 문법정리

Kotlin 코틀린은 자바와달리 ; (세미콜론)을 쓰지 않는다는것이 특징 코틀린 변수 var : 가변 변수 val : 불변 변수 (자바의 final과 동일) ex) val a : Int = 7 ⇒ 불변변수 a의 타입은 int이고 초기값은 7 val b = 10; ⇒ 타입을 적지 않았으나 코틀린 컴파일러가 타입을 추론하여 정수 타입인 int로 처리함. 리플렉션(참조), 더블콜론(::) 리플렉션? 바이트코드를 이용해 내가 참조하려는 값을 찾기위해 사용하는 것 java에서, Someclass.class 라고 하면 class를 리턴하는 반면에 코틀린에서 Someclass::class라고 하면 KClass를 리턴하므로, 형 변환을 위해 Someclass::class.java 로 하여 자바 클래스를 받아야함 클래스..

Android/Kotlin 2021.01.20

[Python 문법] 함수, 입출력

함수 def 함수명(매개변수): 코드 return 반환할 값 python에서는 매개변수를 직접 지칭하여 넣을 수 있으며, 이 때 순서가 달라도 상관없다는 점이 특징이다. def add(a, b): print("더한 결과", a+b) add(b=7, a=3) //더한 결과 10 변수를 전역변수로 만들고자할 경우 global 을 변수명 앞에 붙인다. 파이썬에서는 람다 표현식을 사용할 수 있다. (lambda 매개변수 : 표현식(매개변수의 값)) 입출력 입력 input() -> 문자열을 입력받으므로 다른 자료형으로 사용하려고 할때, 그 자료형으로 변환해줄 필요가 있음. 문자열을 띄어쓰기로 구분하여 정수 자료형의 데이터로 저장하는 코드 list(map(int, input.split())) ★ ※ map(적용시킬..

[Python 문법] 조건문, 반복문

조건문 python의 조건문은 if ~ elif ~ else pass문 조건문의 값이 참이라고 해도, 아무것도 처리하고싶지 않을때 조건문을 간략하게 표현하는 예시 //들여쓰기 하지않고 한줄로 표현하는 예시 score = 85 if score>=80 : result="Success" else : result="Fail" //조건부 표현식 사용예시 score = 85 result="Success" if score>=80 else "Fail" 반복문 for문에서 수를 사용하여 표현하고자할때 -> range range(처음, 끝값+1) -> 처음~끝값 - ex) range(0, 10) : 0~9 range(수) -> 0~수-1 - ex) range(5) : 0~4 역순으로 처리하고싶을때, range(처음, 끝값..

[Android] Intent(인텐트)

Intent : 안드로이드 컴포넌트 사이의 통신수단 ⇒ 메시징 객체 다른 앱 구성요소로부터 작업을 요청하는데 사용 기본적인 사용사례 3가지 1. 액티비티 시작 : startActivity에 시작할 액티비티와 이에 필요한 데이터를 담은 intent 전달 만약, 그 전달된 액티비티가 완료되었을 때 결과를 수신하려면 startActivityForResult 호출하고, 그 결과를 사용하고자 할 때 onActivityResult에서 별도의 intent 객체로 수신 2. 서비스 시작 : API 5.0 이상 ⇒ JobScheduler로 서비스 시작 API 5.0 이하 ⇒ startService에 시작할 서비스와 데이터를 담은 intent 전달 3. 브로드캐스트 ⇒ 모든 앱이 수신할 수 있는 메시지. sendBroad..

Android 2021.01.20

[Python 문법] 자료형

실수형 //10억 a = 1e9 //752.5 a = 75.25e1 //3.954 a = 3954e-3 파이썬에서는 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리한다. 소수부가 0이거나 정수부가 0이면 0을 생략할 수 있다. //a = 5.0 a = 5. //a = -0.5 a = -.5 실수형 데이터는 e나 E를 이용한 지수표현 방식을 이용할 수 있다. 즉, 유효숫자e^지수 = 유효숫자 * 10^지수 특히, 무한(INF) 값을 표현할 때 최대값이 10억일 경우 INF값을 1e9로 표현할 수 있다. (1e9 = 10억) //10억 a = 1e9 //75.25 a = 7.525e1 //3.954 a = 3954e-3 컴퓨터는 실수를 정확히 표현하지 않으므로, 정확한 실수는 round(첫번째 인자,..

[코드업 기초 100제] 1027 : [기초-입출력] 년월일 입력 받아 형식 바꿔 출력하기(설명)

문제 년월일을 출력하는 방법은 나라마다, 형식마다 조금씩 다르다. 년월일(yyyy.mm.dd)를 입력받아, 일월년(dd-mm-yyyy)로 출력해보자. (단, 한 자리 일/월은 0을 붙여 두자리로, 년도도 0을 붙여 네자리로 출력한다.) 입력 예시 2014.07.15 출력 예시 15-07-2014 풀이 Python a, b, c = input().split(".") print(c,b,a, sep="-") sep="문자" 옵션 : 문자 사이사이에 문자를 삽입하고 싶을때 JAVA split 대신 StringTokenizer 사용 => 속도가 빠름 import java.io.*; import java.util.StringTokenizer; class Main { public static void main(Str..

카테고리 없음 2021.01.14

[Android] LifeCycle

안드로이드에서의 생명주기 ⇒ 사용자가 앱을 탐색하고, 앱에서 나가고, 앱에서 다시 돌아오는 활동이 작동하는 방식 Activity 클래스는 이러한 활동 상태 변화에 따른 작동을 정의한 콜백(시스템에서 자동으로 실행되는) 메소드 제공 메소드를 어떻게 사용하느냐는 흐름에 맞게 개발자의 기획 by 기획! 1. onCreate 액티비티가 시작하면 제일 먼저 실행되는 메소드 ⇒ 필수 구현 하나의 액티비티에서 전체 수명 주기동안 단 한번만 발생해야만 하는 로직 포함 주로 화면을 정의하고, 변수 선언 및 초기화하는데에 사용 Activity가 실행되고나서 종료 후 재시작되면 onSaveInstanceState에서 저장한 내용과 동일한 bundle(키와 값이 쌍을 이루는 데이터)을 넘겨줌 -> 이전 상태값 전달 디바이스가..

Android 2021.01.07

[Android] Manifest란?

출처 developer.android.com/guide/topics/manifest/manifest-intro?hl=ko#package-name 앱 매니페스트 개요 | Android 개발자 | Android Developers 모든 앱 프로젝트는 프로젝트 소스 세트의 루트에 AndroidManifest.xml 파일(정확히 이 이름)이 있어야 합니다. 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에 앱에 관한 필수 정보 developer.android.com AndroidManifest.xml 파일(정확히 이 이름)이 있어야 합니다. 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에 앱에 관한 필수 정보를 설명=> ..

Android 2020.12.31

[자료구조/C] 스택(Stack)

스택(Stack)이란? 데이터를 쌓아 올리는 자료형 -> 후입 선출 형태(LIFO:Last-In First-Out, 가장 최근에 들어온 데이터가 가장 먼저 나감) 스택의 구조 스택에서의 입출력은 맨 위에서만 발생한다. (한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조) 스택 상단(top) : 스택에서 입출력이 이루어지는 부분 요소(element) : 스택에 저장되는 것 스택의 연산 push 연산 : 스택에 데이터 추가 pop 연산 : 스택의 데이터 삭제 peek 연산 : 삭제하지 않고 보기만 하는 연산 스택의 구현 is_empty() : 스택이 비어있는지를 검사하는 함수 -> top이 -1이면 공백 is_full() : 스택이 포화 상태인지를 검사하는 함수 -> top이 MAX_STACK_SIZE-1이면..

반응형