전체 글 59

[Android] TIL 27일차

람다 * 람다- 람다는 이름을 가질 필요 없는 익명 함수 * 람다 구조 예시val sum2 : (Int, Int) -> (Int) = { x, y -> print("x + y =") x + y } * 람다 구조 설명//변수 sum 선언 옆1. (Int, Int) : 람다의 입력 변수 자료형2. -> (Int) : 람다의 출력 변수 자료형//중괄호 내부3. x, y : 입력 변수4. print문과 x+y는 본문 (x+y : 반환값)-> 입, 출력 변수  부분은 생략이 가능함 * 람다 구조 예시2(입출력 변수 타입 생략)val sum2 = { x:Int, y:Int -> print("x + y =") x + y }-> x와 y 변수 옆에 자료형 ..

[Android] TIL 26일차

숨어있는 숫자의 덧셈(1)문제 : 문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요. 조건 : my_string 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다. 문제 풀이class Solution { fun solution(my_string: String): Int { var answer = 0 //배열형태로 변경 var input = my_string.toCharArray() for(i in input){ //isLowerCase와 isUpperCase를 이용하여 대, 소문자를 제외한 숫자 형식의 문자들만 출력 ..

[Android] TIL 25일차

배열 자르기 문제 : 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요 * 초기 코드class Solution { fun solution(numbers: IntArray, num1: Int, num2: Int): IntArray { var answer: IntArray = intArrayOf() return answer }}  배열 및 리스트 자르기 방법은 총 3가지 * slice, sliceArray()Array나 List를 원하는 구간만 잘라서 새로운 List를 만들고 싶을 때 사용원본 객체는 변경되지 ..

[Android] TIL 24일차

Lv 4 : 회원가입 입력한 내용 로그인 페이지로 바로 불러오기(--> registerForActivityResult() 사용)  * 코드 작성 순서1. ActivityResultLauncher 자료형의 변수를 선언한다--> lateinit var resultLauncher: ActivityResultLauncher2. SignUpActivity에서 putExtra를 이용해서 아이디와 비밀번호 데이터를 저장한다(setResult도 활용)* setResult 구조 예시--> setResult(RESULT_OK(결과코드, 조건), intent(값))3. SignInActivity는 getStringExtra를 이용해서 아이디와 비밀번호 데이터를 받아온다 * resultLauncher 구조resultLaunc..

[Android] TIL 23일차

과제 : 로그인 페이지 만들기Lv 1. 로그인 페이지(SignInActivity) * 코드 작성 순서1. ImageView를 통해 이미지를 삽입(Image 자체는 다른 곳에서 다운 받은 후 drawable에 Paste하여 삽입) 2. EditText를 이용하여 아이디와 비밀번호 입력하는 텍스트 작성(hint를 이용하여 미리보기 문구를 삽입, inputType도 활용)3. intent.putExtra를 이용하여 로그인 버튼 클릭 시 자기소개 페이지(HomeActivity)로 이동할 수 있도록 설정4. setOnclickListener와 if 조건문을 사용하여 아이디와 비밀번호 모두 입력 시 로그인 버튼이 눌리도록 설정5. Toast.makeText를 통해 만약 비어있다면 아이디/비밀번호 확인 문구가 뜨도록..

[Android] TIL 22일차

* 액티비티액티비티(Activity)는 안드로이드 애플리케이션의 핵심 구성 요소로서 사용자가 직접 상호 작용하는 창(window)을 의미 View -> Activity -> 사용자 창(windows) 액티비티와 사용자 인터페이스 연결 : setContentView()를 이용하여 액티비티에 사용자 인터페이스를 정의한 View를 설정  * 인텐트메세지 객체, 이를 통하여 다른 앱 구성요소(액티비티, 서비스, 브로드캐스트 리시버) 를 호출할 수 있음 * 인텐트 유형1. 명시적 인텐트특정 컴포넌트를 직접적으로 호출하는 것startActivity() 또는 startService() 메소드를 통해 해당 컴포넌트를 실행 2. 암시적 인텐트특정 컴포넌트를 직접 명시하지 않고 수행하고자 하는 작업을 인텐트 객체에 생성하..

[Android] TIL 21일차

1-1. UI(UserInteface)설계 개요 뷰(View) : 안드로이드 앱의 UI를 구성하는 기본 구성단위  * 뷰의 구성1. 위젯(Widget) : View의 서브 클래스, 앱 화면을 구성하는 시각적인 모양을 지닌 UI 요소ex) 버튼, 메뉴, 리스트2. 레이아웃(Layout) : ViewGroup의 서브 클래스, 다른 뷰(위젯 or 레이아웃)를 포함하면서 이들을 정렬하는 기능을 지닌 UI 요소 * 뷰와 뷰 그룹의 차이뷰(view) -> 화면에 보이는 모든 요소뷰그룹(viewgroup) -> view를 담아 화면에 적절히 배치하기 위한 일종의 컨테이너 일반적으로 뷰 객체는 위젯, 뷰그룹 객체는 레이아웃   1-2. UI 설계 방법방법은 Layout Editor, xml 파일을 직접 편집 두 가지 ..

[Android] TIL 20일차

앱개발 입문 - 1안드로이드란? 모바일 운영 체제이자 모바일 플랫폼* 안드로이드 주요 특징1. 오픈소스(누구나 개발에 참여 가능, 무료로 사용 가능, 상업적으로 이용이 가능)2. 자바 개발 언어(java or kotlin)3. 스마트폰을 위한 완벽한 컴포넌트(구성요소) 제공4. 쉬운 앱 간 연동5. 다양한 기능 지원 모바일 앱 실행을 쉽게 해주는 모바일 운영체제 + 모바일 앱 개발을 쉽게 해주는 애플리케이션 프레임워크 = 안드로이드 모바일 플랫폼   앱개발 입문 - 2* 매니페스트 파일이란?-> 앱의 기본 특징을 설명하고, 앱의 구성요소인 컴포넌트 (예: 액티비티, 서비스등)를 정의한 XML파일-> 앱 아이콘, 앱 이름, Application을 구성하는 컴포넌트(요소), 앱을 시작할 때 처음 나타나는 액..

[Android] TIL 19일차

조건문 & 반복문 문제 풀기 1. 짝수와 홀수 판별fun main(){ var number1 = readLine()!!.toInt() if(number1%2==0) println("짝수입니다.") else println("홀수입니다.")}-> 2로 나눴을 때 짝수는 나머지가 0, 홀수는 나머지가 1로 떨어지니 number1%2==0을 if 조건에 작성  2. 최댓값과 최솟값 찾기fun main(){ var number1 = readLine()!!.toInt() var number2 = readLine()!!.toInt() var number3 = readLine()!!.toInt() var max = if(number1>=number2 && ..

[Android] TIL 18일차

과제 : 키오스크문제 : 클래스 간의 상속 관계를 추가하고 리스트 변수를 만들어 리스트로 모든 메뉴를 관리하고 수정해라 (메인 함수 코드 내용은 어제와 같은 내용이라 작성 생략) * 클래스 코드(상속 관계)open class MainMenu(){ fun menu() { println("[SHAKESHACK MENU]") println("1.Burgers") println("2.Ice Cream") println("3.Drinks") println("0.종료") } open fun burgers(){ println("[Burgers MENU]") println("1.ShackBurger") ..