728x90

Android 13

[Kotlin] 코틀린 - 람다함수

람다함수- 람다함수는 fun 키워드를 사용하지 않고 중괄호 {}로 표현한다- {}안에 화살표 -> 가 있어 화살표 왼쪽은 매개변수, 오른쪽은 함수 본문으로 사용한다- 람다함수에는 return문이 존재하지 않고 함수 본문의 마지막 줄 내용이 리턴값이다- 람다함수는 함수 이름이 없어 변수명으로 호출한다- 매개변수가 없는경우 화살표와 오른쪽에 함수 본문만 적고, 화살표도 생략 가능하다// 일반적인 함수 선언fun normalFunc(num1: Int, num2: Int): Int{ return num1 + num2}// 람다함수 선언val lambda = {num1: Int, num2: Int -> num1 + num2}// 매개변수가 1개인 람다함수에 (자료형) -> Unit, it 키워드 사용val ..

Android 2024.08.02

[Kotlin] 코틀린 - 클래스 종류

데이터 클래스- data 키워드로 선언, 데이터들을 객체로 묶어준다.- equals() 함수를 사용해 데이터 클래스의 객체와 포함된 데이터를 비교해 같은 경우 true, 다를 경우 false를 반환한다. 특히 멤버 변수의 값이 달라도 주 생성자에서 선언한 멤버 변수가 같으면 true를 반환한다.- toString() 함수를 사용해 데이터 클래스의 객체가 포함하는 멤버 변수의 데이터를 출력한다. 일반적인 클래스에서는 의미없는 데이터가 출력되며, equals()와 마찬가지로 주 생성자에서 선언한 멤버 변수의 데이터를 대상으로 출력, 반환된다. 오브젝트 클래스- 익명 클래스이다. 클래스의 이름이 없기 때문에 선언과 동시에 객체를 생성해야한다.open class Parent{ open var data = ..

Android 2024.08.02

[Kotlin] 코틀린 - 상속

상속- 클래스를 선언할 때 다른 클래스를 참조해서 선언하는 것- 다른 클래스에서 상속할 수 있게 선언하려면 open 키워드를 사용한다.- 하위 클래스에서 상속을 받으려면 클래스명 옆에 콜론(:)을 넣고 오른쪽에 상위 클래스명을 입력한다.open class Parent{ // 하위클래스에서 상속받을 수 있도록 open 키워드 사용 // 상위 클래스}class Child: Parent(){ // 상위클래스 Parent를 상속 // 하위 클래스} - 매개변수가 있는 상위클래스를 상속받는 경우 하위클래스에서도 매개변수 형태에 맞게 전달해야한다open class Parent(name: String){}class Child_First(name: String): Parent(name){ // 하위클래스를 선언하..

Android 2024.08.02

[Kotlin] 코틀린 - 클래스, 생성자

클래스- 클래스의 멤버는 생성자, 변수, 함수, 클래스- 클래스 안에 다른 클래스 선언 가능 fun main() { var user = User("Kim", 27) user.introduce() // name : Kim, age : 28}class User(name: String, age: Int){ var name: String var age: Int init { this.name = name this.age = age } fun introduce(){ println("name : ${name}, age : ${age}") } class Nothing{ }}  주 생성자- init 키워드를 이용해 주 생성자의 ..

Android 2024.08.01

[Kotlin] 코틀린 - 반복문

for- 변수값을 증가 또는 감소 시키며 조건이 참이 될 때까지 구문을 반복해서 실행- 범위 연산자인 in을 사용fun main() { var sum: Int = 0 for(i in 1..100){ sum += 1 } println(sum) // 100} - C#의 for(int i = 0; i for (i in 1..10) // 1부터 10까지 1씩 증가for (i in 1 until 10) // 1부터 9까지 1씩 증가(10 제외)for (i in 2..10 step 2) // 2부터 10까지 2씩 증가for (i in 10 downTo 1) // 10부터 1까지 1씩 감소  - 배열과 같은 컬렉션 타입의 경우 indices를 통해 인덱스 값만큼 반복을 할 수 ..

Android 2024.08.01

[Kotlin] 코틀린 - 조건문

기본적인 조건문 표현방식- if, else if, else 로 기존에 C#으로 개발하던 필자 입장에서는 기본적인 조건문 표현방식이 매우 똑같았다. fun main() { var data = 10 if(data > 20) println("data is bigger than 20") else if(data == 10) println("data is 10") else println("i don't know")}  하지만 다른점 => 결과값을 반환하는 계산식으로 사용이 가능하다fun main() { var data = 10 val finalData = if(data > 0){ println("data is bigger than 0..

Android 2024.08.01

[Kotlin] 코틀린 - 컬렉션 타입(Array, List, Set, Map)

ArrayArray 클래스의 생성자 : (size: Int. init: (Int) -> T)- 배열에 접근할 때는 대괄호([])를 이용하거나 .set(), .get()을 이용해 접근 fun main(){ // 배열크기가 3인 Int형 배열을 0으로 초기화함 val arrData: Array = Array(3, {0}) println(arrData.joinToString()) // 0, 0, 0 arrData[0] = 10 // 0번째 인덱스에 10 할당([]로 접근) arrData[1] = 20 // 1번째 인덱스에 20 할당([]로 접근) arrData.set(2, 30) // 2번째 인덱스에 30 할당(.set으로 접근) println(""" ..

Android 2024.08.01

[Kotlin] 코틀린 - 함수

함수 선언- 함수의 매개변수에는 var나 val 키워드를 사용할 수 없다.- 매개변수에 기본값 할당 가능, 할당한 경우 호출 시 인자전달 안해도 됨- 함수 호출 시 매개변수명 생략하면 함수 선언시 인자 순서대로 전달, 만약 호출시 매개변수명을 명시하면 순서 상관없이 호출 가능// 선언 형식fun 함수명(매개변수명: 타입): 반환타입 {}// 반환 타입이 있는 함수(매개변수 Int형인 number, 리턴값도 Int)fun test(number: Int): Int{ return number + 100}// 매개변수에 기본값 할당 가능, 할당한 경우 호출 시 인자전달 안해도됨fun main(){ fun test2(number: Int, number2: Int = 10): Int{ ret..

Android 2024.08.01

[Kotlin] 코틀린 - 변수

변수 선언val : value, 초기값이 할당되면 바꿀 수 없는 변수var : variable, 초기값이 할당된 이후에도 값을 바꿀 수 있는 변수  val(또는 var) 변수명: 타입 = 값 명시적으로 변수 타입을 입력한 경우 해당 타입으로 변수가 선언, 그렇지 않을 경우 대입한 값에 따라 자동으로 해당하는 타입이 됨.  초기값 할당- 최상위에 선언한 변수, 멤버 변수는 선언과 동시에 초기값을 할당해야함- 함수 내부에 선언한 변수는 초기값을 할당하지 않아도 되나 변수 사용 시 값을 할당 후 사용해야함(클래스 내부 제외) 초기화 미루기- 변수 선언시 초기값 할당을 나중에 할 것이라고 명시적인 키워드를 입력lateinit : 선언과 동시에 초기값을 할당하지 않아도 되지만 var 형으로 선언한 변수에만 사용 ..

Android 2024.07.31

[Android] 안드로이드 앱 기본 구조 - 안드로이드 컴포넌트

안드로이드 컴포넌트Activity(액티비티)- 화면을 구성하는 컴포넌트. 앱의 화면을 안드로이드 폰에 출력하려면 액티비티를 만들어야 하며 앱이 시행되면 액티비티에서 출력한 내용이 디바이스에 나옴 Service(서비스)- 백그라운드 작업을 하는 컴포넌트. 화면 출력 기능이 없으므로 서비스가 실행되더라도 화면엔 출력되지 않음. 화면과 상관없이 백그라운드에서 장시간 실행해야 할 업무를 담당함 ContentProvider(콘텐츠 프로바이더)- 앱의 데이터를 공유하는 컴포넌트. ex) 앱에서 첨부파일 등록 시 내 파일 앱의 파일을 사용함 BroadcastReceiver(브로드캐스트 리시버)- 시스템 이벤트가 발생할 때 실행되게 하는 컴포넌트. 사용자 이벤트가 아닌 시스템에서 발생하는 특정 상황을 의미.

Android 2024.07.31

안드로이드 디바이스에 MariaDB 설치 및 외부접속 허용까지

1. 안드로이드 디바이스에 Termux 설치 https://f-droid.org/en/packages/com.termux/ Termux | F-Droid - Free and Open Source Android App Repository Terminal emulator with packages f-droid.org 최신버전을 받아 설치한다. 2. Termux 실행 후 MariaDB 설치를 위해 다음의 순서를 따른다. pkg update pkg upgrade pkg install mariadb (root권한 설치가 아니므로 아래의 단계를 거쳐 root 권한을 활성화 해야함) mysqld_safe --skip-grant-tables --skip-networking & mysql -u root flush pri..

Android 2023.06.26

com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store 에러

https://blog.csdn.net/MacaoPark/article/details/125124234 com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store_Xia_燚的博客-CSDN博客今天心血来潮把Android studio 升级到4.21的版本就开始报这个错误,花了大量的时间去解决这个问题。 com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store “C:\Users\Admin.android\debublog.csdn.net 안드로이드 스튜디오 업데이트 후 빌드 시 com.android.i..

Android 2023.06.21
728x90