분류 전체보기 501

랜덤함수 (feat. seed값이란?, set, apply)

다음은 random함수를 만들고 실행하는 간단한 프로그램을 만들었습니다. Seed값이란? Seed 즉, 난수 값을 설정하는 이유는 컴퓨터는 원래 복잡한 연산을 수행하는 것 보다 난수를 만드는 것을 더 어려워 합니다. 컴퓨터는 기본적으로 난수를 만들수 없기 때문인데요, 컴퓨터는 기본적으로 정해진 입력에 따라 정해진 값을 낼 뿐입니다. 따라서 이를 해결하기 위해 컴퓨터는 아래 나오는 난수 생성 알고리즘을 사용해 난수를 생성합니다. 이때 이 난수 알고리즘을 실행하기 위해 쓰는 수를 Seed라고 합니다. 따라서, 만약 계속 같은 seed를 사용한다면 컴퓨터는 계속 같은 패턴의 난수를 생성하게 됩니다. 다음은 for문을 이용하여 난수들을 출력해 보았습니다. 하지만 이것의 문제점이 있습니다. 다음과 같이 동일한 값..

Android/Kotlin 2021.07.20

다른 엑티비티에 데이터가 넘어갈때 알아야하는 사항들

https://developer.android.com/guide/components/intents-filters?hl=ko 인텐트 및 인텐트 필터 | Android 개발자 | Android Developers An Intent is a messaging object you can use to request an action from another app component . Although intents facilitate communication between components in several ways, there are three fundamental use cases: An Activity represents a single screen in… developer.android.com 새로운 엑..

Android/Kotlin 2021.07.11

새로운 엑티비티를 만들어, 계산된 값을 전달해보기

자바 밑에 패키지에서 새로운 코틀린 클래스/파일을 선택해줍니다. setContentView에서 표시할 화면이 없기 때문에 새로운 Layout Resource file을 만들어야 합니다. 새로운 엑티비티를 만든후에 다음과 같이 선언하면 할당이 되어서 activity_result라는 새로운 레이아웃을 설정 할 수 있게 되었습니다. MainActivity에서 ResultActivity로 넘어가려면 2가지 과정이 있어야 합니다. 1. MainActivity에서 intent를 사용하는 것입니다. 2. Manifest에서 activity를 추가해 주어야 합니다.

Action 이벤트를 할 때, null값이 입력되었을때 if문을 사용해봅시다.

다음과 같이 함수를 입력할 수 있습니다. 만약이 null 값이면 true를 반환할 것이고, null값이 아니면 false를 반환하게 됩니다. Toast메세지를 이용하여 경고창을 띄울 건데요, Toast.LENGTH_SHORT를 이용하여 짧게 경고창을 띄우게 합니다. return값을 사용하지 않으면 함수가 어디로 반환되어야하는지 알 수 없기 때문에 명시해주어야 합니다. 이로서 두개의 값중 하나만 입력하지 않아도 경고창이 나오게 만들었습니다.

Action 이벤트 (onClickListener) log 찍는방법으로 확인

listener가 잘 발생되었는지 확인하기 위해서 log를 찍는 방법을 많이 사용합니다. 버튼을 클릭을 하였을때, 로그를 찍는데, MainActivity가 활성화가 될때 메세지로 "ResultButton이 출력이 되었습니다"가 나오게 합니다. 다행히, 에뮬레이터의 확인하기 버튼을 눌렀을때, 로그가 원하는데로 잘 찍히는 모습을 확인 할 수 있었습니다. 잘찍혔으니, 이번에는 EditText에 코드를 가져오는 방법을 해봅니다. 만약이 height변수에 Int값을 바로 가져온다고 선언하면 오류가 나옵니다. 그래서 toString()으로 스트링값으로 변환해주고, toInt()로 정수값으로 변환을 해주어야 오류없이 정수값으로 받아 올 수 있게 됩니다. 나머지도 마찬가지로 입력해주고, Log값을 출력해봅니다. 만약에..

MainActivity 사용법 (feat. 포멧코드 단축키-->Ctrl+Alt+L)

MainActivity는 AppCompatActivity를 상속받고 있는것을 알 수 있습니다. 여기서 이벤트 처리를 해야하는데, 문제점은 MainActivity는 안드로이드에 레이아웃에 있는 컴포넌트들의 값을 알 수 없기 때문에 값을 인식할 수 있게 만들어야 합니다. 또한 onCreate라는 함수에서 이벤트 처리가 이루어집니다. R.layout.activity_main의 뜻은 activity_main의 레이아웃을 가져와서 ContentView로 사용하겠다는 뜻입니다. 여기서 R은 굉장히 중요한 뜻인데, 컴퓨터는 Resource값을 주소 값으로 저장해야하는데, 사람들은 주소값을 외울 수 없기 때문에 대신해서 R이라는 값을 이용하는 것입니다. 그래서 마우스 커서를 대면 할당되어 있는 값을 알 수 있게 됩니다..

margin & padding (feat. dp, sp)

padding 이란? 레이아웃 안쪽에 간격을 만드는것입니다. magin 이란? 레이아웃 바깥쪽에 간격을 만드는것입니다. cf. dp를 사용하는 이유 안드로이드 핸드폰이 각각 사이즈가 다르고 해상도가 다를 수 있기 때문에 이것을 좀더 통합을 해서 알맞게 계산해서 나온것이 dp입니다. px과 비슷하게 사용한다고 하면 됩니다. sp를 사용하는 이유 안드로이드폰에서 글씨를 크게 보게 설정도 가능하고 작게 보게도 설정이 가능합니다. 만약, dp를 사용하게 되면 고정이 됩니다.