본문 바로가기

델파이코틀린20

레이아웃 다루기 레이아웃 다루기 Text 와 Pain Text(입력) 을 끌어다가 놓는다. 해당 위젯을 클릭 후 링크? 걸 녀석과 잘 맞춰준다~~~~ 그룹으로 묶여 나중에 움직을때 편의성이 좋다! 위치를 조정하는 방법은 여러개중 화면 오른쪽에서도 맞출수 있다! 취소할시 해당위젯을 삭제하고 다시 올려놓고 할수있지만 그런 무식한 방법은 넣어두고 컨트롤 + 마우스 올려놓으면 X표시로 바뀌는데 화면에서 이런식으로 취소하고 아니면 오른쪽 화면 레이아웃 설정에서 X를 누른다! 체인설정이다! 이건 해당 위젯들을 체인형태로 묶어 관리하는 방법이다!! 버튼을 계속 올려놓을시 스크롤이 필요하다 그런방법을 어떻게 하냐면 다음과 같다 스크롤 뷰어 가져다 놓는다 스크롤 뷰어 위에 LinearLayout를 올려놓는다 해당 레이아웃에 계속 버튼을.. 2022. 8. 17.
한글 또는 다른언어 설정 2022. 8. 16.
안드로이드 설치 후 환경설정 안드로이드 설치 후 환경설정 UTF-8로 설정한다! 이것도 모두 체크해준다 스킨 설정은 자유!!! 2022. 8. 12.
코틀린 lateinit 와 속성 참조 더블 콜론 코틀린 lateinit 와 속성 참조 더블 콜론 코틀린은 기본적으로 Non-null 타입을 가진다. 그러므로 항상 값을 초기화를 시켜주거나 null 값을 가질 수 있게 따로 처리해야합니다. lateinit 키워드는 초기화를 나중에 할 수 있게 미루는 키워드입니다. val은 final 특징을 가지기 때문에 값 수정을 할수 없으므로 lateinit 키워드랑 같이 사용할 수 없습니다. primitive type(원시 타입)에서는 사용이 불가능합니다. ex) Double, Float, ... 변수에 선택사항인 getter, setter 정의 불가 변수의 유형은 null 이 아니어야하기에 null로 초기화 불가 타입 뒤에 ? 사용해도 불가합니다. isInitialized 속성을 이용한 초기화 확인 2022. 8. 8.
contains와 startsWith 차이점 contains와 startsWith 차이점 startsWith() 함수 원형 : boolean startsWith(String prefix) 대상 문자열이 특정 문자 또는 문자열로 시작하는지 체크하는 함수이다. 해당 문자열로 시작되는지 여부를 확인하고 boolean에 맞춰 true/false 값을 반환한다. String s = "I have a book" s.startsWith("I") // 1. true s.startWith("book") // 2. false 첫 번째 문장은 "I have a book"이라는 문자열 s가 매개 변수 문자열인 "I"로 시작하는지 확인한다. 따라서 결과는 true를 반환한다. 두 번째 문장은 "book"으로 시작하는지 확인하므로 이는 false를 반환한다. contain.. 2022. 8. 5.
시간형식 리턴값 받기 시간형식 리턴값 받기 //포맷을 설정 후 포맷에 맞게 리턴받음 val sdf = SimpleDateFormat("yyyy/mm/dd hh:mm") val datetime = sdf.format(memo.datetime) 현재 시간과 UTC(협정세계시)인 1970년 1월 1일 자정과의 차이로 밀리세컨드(1/1000초) 값을 반환합니다. System.currentTimeMillis() 2022. 8. 4.
안드로이드 True False 존재 유무 체크 함수 안드로이드 True False 존재 유무 체크 함수 exists() 2022. 8. 3.
리스터 이해 리스터 이해 버튼을 내려놓는다.. package com.monosoft.myapplication import android.app.Activity import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.DeadObjectException import android.util.Log import android.view.View import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super... 2022. 7. 25.
null 값을 안정적으로 처리 방법 null 값을 안정적으로 처리 방법 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //null값을 안정적으로 처리 방법 //1.변수 선언시 nullable 해서 Null을 입력할수있는 변수를 선언 //2.nullable 선언되었다면 safe Call 강제해서 null pointer exception 안나게 한다. //3.null일 경우 대체값을 꼭 입력한다면 엘비스 익스프리스( ?: 값 )를 써서 디폴트값 지정 var myName : String = .. 2022. 7. 22.
클래스 클래스 1. 클래스 기본 개념 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //클래스 사용하는 방법 //1.초기화 //var cls = 클래스() //인스턴스 = 메모리에 로드되어 있는 클래스 //cls.variable //cls.function() //2. companion object 로 만들기 Log.d("태그","메시지") } } class Log { companion object { var variable = "난 누구" fun d(tag:.. 2022. 7. 21.
함수 함수 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //함수를 사용하는 용도는 코드를 분류하기 위해서 사용 //함수사용 functionName() functionparam("문자형값",111) var pi:Double = getPi() Log.d("getPi","getPi=${pi}") var functionparamreturn : String = functionparam_return("p1",222) Log.d("functionparam_return.. 2022. 7. 19.
반복문 (for, while , do..while, break) 반복문 (for, while , do..while, break) var intArray = intArrayOf(0,10,20,30,40,50,60,70,80) //for 문 //일반적으로 몇 번의 횟수를 반복하는 형태 //for ( 시작값..종료값) { //코드블럭 //} //for (index in 1..10) { //for (index in 1 until 10) { //마지막값은 제외 //for (index in 1 until 10 step 2 ) { //짝수만 제외 후 출력 //for (index in 10 downTo 1 step 2) { //반대로 반복문 , 짝수만 출력 for (value in intArray) { //배열 반복문 Log.d("반복문","index=${value}") } //w.. 2022. 7. 18.
배열 / 컬렉션 / 맵 배열 / 컬렉션 / 맵 //*****************************************배열 (정적배열) //Int -> IntArray var intArr:IntArray = IntArray(10) //index = 0 부터 시작 intArr[0] = 10 intArr[1] = 20 intArr[2] = 30 intArr[3] = 40 intArr[4] = 50 intArr[5] = 60 intArr[6] = 70 intArr[7] = 80 intArr[8] = 90 intArr[9] = 100 //intArr[10] = 110 Log.d("intArr","9번 인텍스의 값=${intArr[9]}") var weekArray = CharArray(7) weekArray[0] = '월' we.. 2022. 7. 13.
조건문 조건문 //****************************조건문**************************** //**************비교연산자 , >= , 2 var result = "홍길동" != "김숙자" Log.d("compare","결과는 = ${result}") var result2 = second < 500 Log.d("compare","두번째 결과=${result2}") //**************논리연산자 var logic1 = result && result2 //AND 연산자 Log.d("compare","논리연산 && 결과 = ${logic1}") var logic2 = result || result2 //OR 연산자 Log.d("compare","논리연산 |.. 2022. 7. 12.
변수와상수 변수와상수 package com.MonoSoft.SayHello import android.os.Bundle import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var variable : String = "홍길동" //*********코틀린의 기본타입 //실수형 var doublevalue : Double = 35.6 //자주씀 var floatvalue : Float =.. 2022. 7. 11.
앱 개발을 위해서 꼭 알아야할 코틀린 문법 3가지 앱 개발을 위해서 꼭 알아야할 코틀린 문법 3가지 package com.MonoSoft.SayHello import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { val TAG = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_.. 2022. 7. 5.
로그 활용하기 로그 활용하기 package com.MonoSoft.SayHello​ import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { val TAG = "MainActivity" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) buttonLog.set.. 2022. 6. 17.
코틀린 기본 문법 5 - 기타기능 코틀린 기본 문법 5 - 기타기능 //******************************* 확장 함수 //쉽게 기존 클래스에 함수를 추가할수 있다 //확장함수를 추가할 클래스에 점을 찍고 함수이름 작성 //확장 함수 내부에서는 이 객를 this로 접근할수 있다 //이러한 객체를 리시버 객체라고 함 fun Int.isEven() = this % 2 == 0 val aa = 5 val bb = 6 println(aa.isEven()) println(bb.isEven()) //******************************* 형변환 //숫자형 자료형끼리는 to자료형() 메서드를 사용하여 형변환 가능 val a = 10L val b = 20 val c = a.toInt() val d = b.toDou.. 2022. 6. 14.
코틀린 기본 문법 4 코틀린 기본 문법 4 //******************************* 람다식 //하나의 함수를 표현하는 방법으로 익명 클래스나 익명함수를 간결하게 표현함 //코드를 간결하게 해주는 장점,디버깅이 어렵고 남발할경우 오히려 단점됨 fun add(x : Int , y : Int) : Int { return x + y } println(add(1,2)) //또는 fun add1(x : Int, y : Int) = x + y println(add1(1,2)) //또는 val add2 = { x : Int, y : Int -> x + y} println(add2(1,2)) //******************************* Sam 변환 //자바로 작성된 메소드가 하나인 인터페이스를 구현할때 대.. 2022. 6. 2.
코틀린 기본 문법 3 코틀린 기본 문법 3 //******************************* 컬렉션 //컬렉션은 개발에 유용한 자료구조를 말함 //******************************* 리스트 //읽기 전용 리스트는 listOf()메서드로 작성할수있다 val foods : List = listOf("라면","갈비","밥") println(foods.get(1)) //바꿀수없는 리스트값 val foods1 = listOf("라면","갈비","밥") //바꿀수없는 리스트값 println(foods1.get(1)) //바꿀수 있는 리스트값 val foods2 = mutableListOf("라면","갈비","밥") foods2.add("초밥") //초밥을 맨 뒤에 추가 foods2.removeAt(0) .. 2022. 5. 26.