Android 앱개발 공부/TIL(Today I Learned) 44

[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") ..

[Android] TIL 17일차

심화 과제 : 키오스크 문제 : 실행 시 메뉴판을 보여주고 메뉴 번호를 입력 시 해당 메뉴의 세부 종류들을 보여주는 키오스크를 만들 것 * main 메소드 코드fun main(){ var mainmenu = Menu() var burger = Burgers() var ice = IceCream() var beverage = Drink() println("${mainmenu.menu()}") while (true) { print("원하는 종류를 선택하세요 : ") var number1 = readLine()!! if(number1=="0") { println("프로그램을 종료합니다.") break ..

[Android] TIL 16일차

유용한 기능 * 일반 자료형간의 변환숫자 자료형끼리는 to자료형() 메소드를 활용문자열을 숫자로 변경할때에는 별도의 메소드가 필요ㄴ 정수 형태의 문자열을 정수로 변경할때는 Integer.parseInt(변수명), 실수 형태의 문자열을 실수로 변경할때는 변수명.toDouble() * 일반 자료형 예제 var num1 = 20 var num2 = 30.2 var num3 = num2.toInt() var num4 = num1.toDouble() var strNum5 = "10" var strNum6 = "10.21" var num5 = Integer.parseInt(strNum5) var num6 = strNum6.toDouble() println("num3:..

[Android] TIL 15일차

컬렉션 * 컬렉션 : 리스트, 맵, 집합 자료구조 세 가지 종류가 있음 * List리스트는 읽기 전용과 수정 가능한 종류로 구분 배열과 달리 크기가 정해져있지 않아 동적으로 값 추가 가능읽기 전용은 listOf 키워드를 활용수정 가능한 종류는 mutablelistOf(값1, 값2, 값3)와 ArrayList(값1, 값2, 값3) 키워드를 활용  수정 가능한 종류 중 배열 형태로 차곡차곡 저장하는 ArrayList 키워드 활용을 더 많이함 * List 구조var scores1 = listOf(값1, 값2, 값3)var scores2 = mutableListOf(값1, 값2, 값3)scores2.set(인덱스, 값)// 저장할 데이터의 자료형을 안에 지정해야 사용할 수 있어요var scores3 = Arr..