목록Coding (34)
Olive Study Room
안드로이드 프로젝트를 끝내고 오랜만에 다시 iOS프로젝트에 대해 공부하면서 얼레벌레 남 코드 활용이 아닌 내 코드를 작성하기 위해 기초부터 다시 잡아보려고 한다. 이제는 CS에 대해 조금 공부를 한 상태이기 때문에 하나하나 이해하는데 어려움이 없을 것이라고 예상한다. 여러 자료들과 학교 수업 자료를 이용하여 공부한다. 더보기 * 학교 수업 자료 목표 - Swift 언어를 이해한다 - 애플의 개발 도구들과 친숙해진다 - 앱을 개발하기 위한 디자인 패턴을 이해하고 적용한다 - 최신 모바일 기기를 이해하고 활용한다 - iOS에서 제공하는 코어 프레임워크를 사용한다 Swift 개요 2014년 9월 iOS 8이 발표되며 apple이 개발한 Swift1.0이 발표 2015년 Swift 2 발표, 오픈소스화 발표 2..

협업을 하다가 내 brach와 master branch의 버전이 일치하지 않는 오류를 겪었다. 오류라기 보다는 내가 해결을 못했던 것... 이전에 내 브런치에 commit, fetch하고 master에 merge하지 않고 바로 master에 push해서 이렇게 됐는데 내 branch와 main branch를 오가도 각자의 버전은 다른 것이 그대로니 프로젝트의 내용이 바뀔 뿐 pull을 해도 변화가 없었다. 새 브랜치를 만들어도 같은 이슈가 발생했는데 결국! GitHub desktop 기준 내 브랜치에서 Branch -> update from main 을 클릭해서 해결했다. 정확히 pull과의 차이가 뭔지는 모르겠다. 추후 Git 사용법을 GitHub desktop, terminal 버전으로 나누어 기록하..

recyclerview는 view 재사용을 통해 메모리를 아낄 수 있는 view! 이전 메모리, 현재 메모리, 이후 메모리만 저장한다. adapter를 통해 작동한다. viewholder는 cell 내의 항목을 채운다. 구현 방법은 간단히 세 단계로 정리할 수 있다. 1. recyclerview 위젯이 있는 레이아웃과 recyclerview를 채울 cell의 레이아웃을 만들고, 2. RecyclerView.Adapter와 RecyclerView.ViewHolder를 생성하고 3. mainActivity에서 데이터를 만들고 adapter를 설정해주면 끝! 1. 하나의 작은 view를 구성할 cell의 레이아웃과 메인 레이아웃 생성 // activity_main.xml // custom_list.xml 2...

앱을 만들 때 페이지(뷰)의 역할을 하는 것엔 Activity와 Fragment가 있는데, 한 레이아웃 내에 특정 부분에 fragment를 넣어 사용할 수 있다. 그리고 Fragment는 Activity내에서 호출되어야 사용할 수 있다. 1. Fragment 클래스와 레이아웃 생성 Fragment()를 상속받는 클래스를 만들어 onCreateView를 통해 layout과 연결한다. // frag_a.xml // FragAFragment package testproject.practice import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewG..
recyclerView를 만들어보다가 처음에 생성되는 MainActivity에서는 실행이 되는데 SubActivity를 첫 엑티비티로 하면 보여지지 않는 이슈가 났다. 아래 두 코드의 주요 코드는 같다. MainActivity package fastcampus.part2.recyclerviewpractice import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.widget.LinearLayout import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.R..

안드로이드 스튜디오에서는 layout xml을 통해 주로 layout을 만든다. xml 각 컴포넌트에 id를 추가해서 코드에서 연결한다. LinearLayout 큰 컴포넌트를 LinearLayout으로 설정하고 orientation을 vertical 또는 Horizon으로 구분한다. padding, margin padding은 컴포넌트 안에, margin은 컴포넌트 밖에 여백을 추가한다. sp, dp, px sp는 폰트 크기에 사용하는데, 사용자가 휴대폰 내에 폰트 사이즈를 설정한 대로 유동적으로 움직이고 dp는 고정값임.(photoshop에서 px을 쓰는 것처럼) px은 각 휴대폰마다 픽셀이 다르기 때문에 다 다르게 보인다. 하지만 dp는 다 같게 보임! 폰트는 sp, 레이아웃은 dp를 사용해야한다. ..

xcode의 simulator처럼 안드로이드 스튜디오에는 AVD 에뮬레이터가 있다. configure에서 AVD Manager를 클릭한다. 왼쪽에서 간단하게 추가하고 실행할 수 있다. 다만 이 에뮬레이터는 아직 개발자 모드가 불가한데! 이는 에뮬레이터 내 setting에서 About emulated device를 여러 번 클릭하면 팝업창이 뜨고 개발자모드가 활성화된다. 세 번째 사진처럼 system에 가 보면 advanced에 Developer options가 추가된 것을 확인할 수 있다. [ 프로젝트 세팅 ] package name : 플레이스토어에 올렸을 때 다른 어플과 구분하기 위함. Minimum SDK : 지원할 안드로이드 버전을 정함. 누르면 몇 퍼센트의 사용자가 해당 버전을 이용할 수 있는지..

Jet Brains 회사에서 만든 IJ(통합개발환경 툴)를 기반으로 만든 게 Android Studio kotlin은 자바를 보완하기 위한 언어 2017년에 공식 언어로 지정. -> 구글이 kolin으로 하는 안드로이드 개발에 지원하겠다! 현 최신 버전은 4.1.2 Kotlin은 거의 Swift와 비슷하지만 다른 부분들도 있다. 주로 다른 부분을 비교해서 정리했다. [ 함수 선언 ] Swift Kotlin 함수 표현 func fun 반환 -> : 변수 표현 var var 타입 선언 타입추론 가능 타입추론 가능 String 초기화하지 않아도 됨 초기화 필요 다른 타입과 + 연산 가능(string으로 반환) null null을 가질 수 없는 타입도 있음 null을 가질 수 없는 타입도 있음 상수 표현 let..