본문 바로가기

개발

(38)
[ios개발] 아웃렛 변수와 액션 함수 추가하기 스토리보드란? 예전에는 Xcode에서 화면을 구성할 때 인터페이스 빌더를 사용했습니다. 그런데 인터페이스 빌더는 각 화면 간의 연계성 및 흐름을 파악하기가 어려웠기 때문에 Xcode 4.2 버전부터 스토리보드(Storyboard)라는 시각적인 기능을 제공하기 시작했습니다. 스토리보드란 앱의 화면 구성을 시각적이고 직관적으로 구성할 수 있게 지원하는 기능입니다. 즉, 스토리보드라는 이름에서 알 수 있듯이 Xcode에서 만들고자 하는 앱이 어떤 모양으로 화면에 구성되어 있고, 버튼을 누르거나 화면을 스와이프하는 등의 특정 액션을 취했을 때 어떤 방식으로 화면 간 전환이 이루어지는지를 보여 줍니다. 그리고 이처럼 화면 간의 흐름 및 전체적인 모양을 시각적인 방식으로 연결하고 표현해 줌으로써 직관적으로 앱의 흐..
[ios개발] Xcode10 프로젝트의 파일 및 화면 구성 살펴보기 프로젝트의 파일들 살펴보기 1. AppDelegate.swift 앱의 실행 주기(Life Cycle)를 관리하는 내용의 스위프트 소스 코드가 들어 있는 클래스 파일입니다. 앱을 실행하거나 종료 또는 백그라운드를 실행할 때 하는 일들을 관리합니다. 일반적으로 초보 단계일 때는 프로그래머가 직접 코딩하지 않아도 됩니다. [추가] 이 클래스는 앱 전체의 실행 흐름을 컨트롤하는 객체로서 앱이 처음 실행되거나 종료될 때, 혹은 백그라운드 상태로 들어가거나 포그라운드 상태로 활성화될 때 호출되는 메소드들로 구성되어 있습니다. 2.ViewController.swift 화면에 보이는 뷰에서 처리하는 내용의 스위프트 소스 코드를 담고 있는 클래스 파일입니다. 일반적으로 프로그래머는 이 파일에서 코딩을 하게 되며 뷰 하나..
[ios개발] Xcode 10 프로젝트 생성하기 1. Xcode 실행하기 1. Get started with a playgrouned 스위프트 언어를 간단하게 연습할 수 있는 플레이그라운드를 실행합니다. 플레이그라운드는 코딩하는 즉시 해당 코드에 대한 결과를 오른쪽 결과 창에 표시해 주므로 결과를 바로바로 확인하면서 코딩할 수 있습니다. 2.Create a new Xcode project 아이폰, 아이패드, 맥 앱을 만들기 위한 새로운 Xcode 프로젝트를 생성할 수 있습니다. 일반적으로 가장 많이 사용합니다. 3. Clone an existing project SVN이나 git과 같은 버전 관리 도구로 연결하여 기존 소스를 가져올 수 있습니다. 4.Recent Projects 최근에 사용한 프로젝트 중에서 선택해 불러올 수 있습니다. 5.Open a..
[Android] 단위 테스트 테스트의 목적 ∙필요한 조건을 만족하는지 확인한다. ∙오류를 발견한다. ∙앱의 사용성을 확인한다. 자동 테스트와 수동 테스트 수동 테스트는 코디 작업이 끝난 상태에서 apk를 만들고, 체크리스트로 작성한 테스트 케이스를 차례대로 실행하는 형태로 이뤄지는 경우가 많습니다. 반면, 자동 테스트는 단위 테스트나 UI 테스트로 불리는 테스트 코드를 만들어 테스트 코드를 실행함으로써 앱이 바르게 동작하는지 확인합니다. 자동 테스트 특성 ∙ 반복 실행이 가능하다. ∙ 테스트 실행 상황을 시각화할 수 있다. ∙ 클래스와 메서드 등 사용자 조작으로 확인하기 어려운 단위의 동작을 확인할 수 있다. 수동 테스트 특성 ∙ 최종 사용자와 완전히 똑같이 동작을 확인할 수 있다. ∙ 사용성이나 쾌적함 등 정성적인 면에서 평가할 ..
[Android] MVP와 MVVM 설계 기법 액티비티에 계속해서 처리 내용을 기술하다가 액티비티가 너무 커지면 다음과 같은 문제가 발생합니다. ● 역할별로 처리가 나뉘지 않아 코드를 읽기가 어렵다 ● 다양한 구현이 저마다 멤버 변수를 수정하면 수정했을 때의 영향을 예측하기 어렵다. 이러한 문제점에 대처할 수 있는 MVP나 MVVM 등과 같은 설계 기법이 주목 받고 있습니다. MVP MVP(Model View Presenter)는 사용자 인터페이스를 구축할 때 이용하는 설계 기법입니다. MVP는 Model View Presente의 머리글자로, 이 구현에 따라 모델(Model)과 뷰(View) 프리젠터(Presenter)라는 세 가지 역할로 처리를 나눌 수 있습니다. 모델(Model) 모델에는 데이터와 비즈니스 로직이 들어 있고, 이곳에서는 UI에 ..
[Android] 지원 라이브러리란? 지원 라이브러리의 기본 지원 라이브러리는 라이브러리 형태로 제공되는 하위 호환성을 가진 안드로이드 프레임워크 API입니다. 안드로이드는 API 레벨(안드로이드 3.0이나 안드로이드 5.0) 별로 이용할 수 있는 클래스와 메서드가 다릅니다. 기본적으로 새로 추가된 클래스나 메서드는 낮은 API 레벨의 안드로이드 OS에서 이용할 수 없습니다. 하지만 지원 라이브러리를 이용하면 오래된 안드로이드 OS라도 일부에서 같은 메서드와 클래스를 이용할 수 있습니다. 예를 들어, Fragment 클래스는 API 레벨 11, 즉 안드로이드 3.0 이상에서만 이용할 수 있습니다. 또한 안드로이드 3.0이상만 지원하는 경우라도 Fragment 클래스의 requestPermissions 메서드 같은 안드로이드 6.0(API 레..
[Android] 컴포넌트(component) - ContentProvider, Service, BroadcastReciver ContentProvider ContentProvider는 앱 사이에서 각종 데이터를 공유할 수 있게 해주는 컴포넌트입니다. 안드로이드 표준 시스템에서는 연락처인 Contacts난 이미지나 동영상 등의 데이터를 보관하는 MediaStore 등이 ContentProvider로 공개돼 있습니다. 데이터를 검색, 추가, 갱신, 삭제할 수 있으며, 주로 SQLite 등의 관계형 데이터베이스 이용을 염두에 두고 설계됐습니다. ContentProvider로부터 데이터 읽기 ContentProvider로부터 데이터를 읽어오려면 해당 ContentProvider가 어디에 있는지 알아야 합니다. 경로는 'content://스키마'를 가진 URI(Universal Resource Identifier) 지정되고, 일반적으로..
[Android] 프래그먼트(Fragment)와 생명주기(Life Cycle) 프래그먼트란? 프래그먼트는 안드로이드 3.0부터 도입된 컴포넌트입니다. 뷰를 가질 수 있어 UI를 가진 컴포넌트로서 통합할 수 있습니다. 또한 액티비티와 마찬가지로 생명주기를 가지며, 개개의 생명주기에 따라 처리를 구현할 수 있다는 특징도 있습니다. 그러므로 액티비티와 유사한 형태로 이용할 수 있습니다. 액티비티는 한 화면당 1개씩 있는 형태였지만 프래그먼트는 액티비티 1개당 여러 개 존재할 수 있습니다. 그러므로 액티비티 1개로 구현했던 것을 기능 단위로 프래그먼트로 나누어 구현할 수 있습니다. 프래그먼트는 안드로이드 의 프레임워크에서 구현된 것과 지원 라이브러리에서 구현된 것으로 2가지가 있습니다. 안드로이드 2.3 이상을 지원하는 경우 지원 라이브러리를 이용할 수밖에 없지만 안드로이드 4.1 이상을..