본문 바로가기

앱 개발

(32)
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 04. 기본 데이터 타입 04. 기본 데이터 타입 기본 데이터 타입 Swift에는 다음과 같은 데이터 타입이 있다. - Bool - Int - UInt - Float - Double - Character - String Bool var someBool: Bool = true someBool = false Bool 타입에서는 true와 false를 가지는데, C언어와는 다르게 0과 1을 넣으면 Bool 에 Int를 넣은 것으로 인식하여 타입이 안 맞다고 판단한다. Int var someInt: Int = -300 마찬가지로 Int 형에 Float를 넣으면 에러가 발생한다. UInt var someUInt: UInt = 100 부호가 없는(unsigned) 정수형이다. ★ Swift는 자료형에 매우 엄격한 언어이다. Float va..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 03. 상수와 변수 03. 상수와 변수 Swift는 함수형 프로그래밍 패러다임을 적용한 만큼 불변 객체를 굉장히 중요하게 여기고 있다. 그래서 상수 표현이 굉장히 많이 등장하게 된다. 상수, 변수의 선언 상수의 선언 - 키워드: let - 양식: let 이름: 타입 = 값 ★ Swift는 띄어쓰기도 중요하기 때문에 신경써야 한다. 변수의 선언 - 키워드: var - 양식: var 이름: 타입 = 값 이때, 타입이 명확하다면 타입을 생략할 수 있다. let 이름 = 값 var 이름 = 값 다만, 타입의 유추가 어렵다면 타입을 생략할 수 없다. 상수와 변수의 활용 let constant: String = "차후에 변경이 불가능한 상수 let" var variable: String = "차후에 변경이 가능한 변수 var" var..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 02. 명명법 / 콘솔로그 / 문자열 보간법 02. 명명법 / 콘솔로그 / 문자열 보간법 이름짓기 규칙 - Lower Camel Case: function, method, variable, constant ex) someVariableName - Upper Camel Case: type(class, struct, enum, extension ...) ex) Person, Point, Week - 대소문자를 구분한다. 콘솔로그 남기기 print: 단순 문자열을 출력한다. dump: 인스턴스의 자세한 설명(description 프로퍼티)까지 출력한다. 문자열 보간법 - String Interpolation - 프로그램 실행 중 문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용한다. - \() import Swift let age: Int..
[IOS 프로그래밍을 위한 스위프트 기초] 1단원 01. 강좌소개 ★ 본 포스트는 네이버 부스트코스의 "IOS 프로그래밍을 위한 스위프트 기초" 강의에 기반하여 작성되었습니다. 1단원 01. 강좌소개 코스 수강 대상 - 프로그래밍에 대한 기초지식이 있는 컴퓨터관련 전공생 - 다른 언어를 사용해 본 프로그래머 - (객체지향) 프로그래밍 경험자 Swift 사용환경 - macOS - Ubuntu Swift - Apple - Open Source - macOS, Ubuntu Expressive Swift라는 언어는 표현력이 매우 좋은 언어다. 즉, 문법 표현이 다양하다. → 전부 배울 순 없다. Reference - Swift Programming Language Guide [Apple Developer / iBooks] - Swift API Design Guidelines ..
07_Activity 활용-2 이번에는 Activity 활용편 2(EditText활용, 입력 이벤트 리스너)에 대해 알아보겠습니다. 시작하기에 앞서 이 글은 공부하면서 작성하는 것이기 때문에 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 댓글로 알려주시면 감사하겠습니다. 저번 글에서는 단순히 입력한 것으로 끝났다면 이번에는 목표값과 입력값이 달랐을 때 로그인이 되지 않도록 하는 기능을 구현해보겠습니다. 먼저 저번 글에서 없애야 할 코드가 2가지 있습니다. MainActivity.xml에서 onCreate안의 RelativeLayout_login.setClickable(true); 와 activity_login.xml에서 버튼으로 구현한 Relativelayout 안의 android:clickable="true" 입니다. 이제 코드..
06_Activity 활용-1 이번 글에서는 안드로이드 Activity 활용편 1 (Activity 이동, 값 넘기기, 클릭 이벤트)에 대해 알아보겠습니다. 지난 시간의 파일에 이어서 만듭니다. 1. 버튼으로 동작하기 위해 진정한 버튼의 기능을 구현하기 위해서 Activity창(예; MainActivity.java)에서 인식할 수 있도록 각각의 레이아웃에 이름이 필요합니다. 레이아웃에 이름을 준다는 것은 레이아웃에 id를 부여한다는 것과 같은 말입니다. 코드는 아래와 같습니다. android:id="@+id/TextInputEditText_email" 양식은 android:id="@+id/정하고 싶은 아이디" 입니다. 아이디를 정할 때 함수이름_기능 형식으로 하는 것이 코드 전체를 보았을 때 매우 직관적입니다. 여기에 더해 이제 Ma..
05_앱 레이아웃 따라하기 실전-3 이번에 볼 것은 저번 글에 이어서 앱 레이아웃 따라하기 실전편 3입니다. 시작하기에 앞서, 공부하면서 정리하는 글이기에 잘못된 내용이 있을 수도 있습니다. 잘못된 내용이 있다면 댓글로 지적해주시면 감사하겠습니다. 1. 버튼 배경 필수 아이템 3가지 지난 번에 이어서 버튼의 배경색상을 구성하는 것을 알아보겠습니다. 버튼의 배경을 구성할 때는 필수적으로 구성해야 할 것은 크게 3가지가 있습니다. 버튼을 누를 때 / 버튼 평상시 상태 / 버튼을 비활성화했을 때 밑의 예시를 통해 알아보겠습니다. selector와 item, shape, solid, corners의 의미는 이 앞 글을 확인하시면 됩니다. 중요한 것은 item 바로 오른쪽에 있는 값의 의미입니다. 순서대로 보면, state_pressed = "tr..
04_앱 레이아웃 따라하기 실전-2 이번에는 "앱 레이아웃 따라하기 실전편 2"에 대해 다뤄보겠다. 시작하기에 앞서 공부하면서 작성하는 내용이기에 잘못된 내용이 있을 수 있다. 이번에는 구체적인 레이아웃 수정인데, 먼저 살펴볼 것은 유용한 사이트 및 Gradle 값 변경을 살펴볼 것이다. 1. Gradle Gradle에서 build.Gradle(Module)에서도 dependencies를 볼 것이다. 기본적으로 설정은 이런 식으로 되어있다. dependencies { implementation 'androidx.appcompat:appcompat:1.4.0' implementation 'com.google.android.material:material:1.4.0' implementation 'com.android.support:design..
03_앱 레이아웃 따라하기 실전-1 이번 글에서는 앱 레이아웃 따라하기 실전편 1을 다루도록 하겠다. 시작하기에 앞서 공부한 내용을 정리하는 것이기 때문에 내용이 잘못되었을 수도 있다. 레이아웃 구성은 기존에 계속해 다루었던, .XML파일이 아닌 MainActivity.java에서 다루게 된다. 레이아웃에서 TextView는 기존에 설명을 했기 때문에, 여기서는 ImageView와 EditText, Button에 대해 설명하겠다. 1. ImageView ImageView는 기본적으로 그림을 넣고자 할 때 사용하는 것이라고 인지하고 있으면 된다. ImageView는 구현하는 방식이 크게 2가지가 있다. 1) android:background 기존에도 배웠던 함수이지만, 이 방식으로 구현하면 이미지가 칸에 맞춰 채워지기 때문에 온전한 이미지를..
02_화면그리기, 레이아웃 이번에는 화면그리기 및 레이아웃을 살펴보도록 하겠다. Andriod Studio에서 많이 사용하는 레이아웃은 크게 5가지가 있다. ConstriantLayout, LinearLayout, TableLayout, GirdLayout, RelativeLayout 이 중에서도 맨 바깥쪽 레이아웃(화면 출력용)은 LinearLayout과 RelativeLayout을 주로 사용한다. 그럼, 이 둘의 차이를 알아보자. 1. LinearLayout LinearLayout은 가로, 세로 배치로 TextView를 넣었을 때 겹쳐지지 않는다. 다만 TextView 정렬을 위해 정렬 방법을 결정해야 한다. 만약, 가로 배치를 하고 싶다면, LinearLayout 구역에 andriod:orentation="horizontal..