본문 바로가기

Git의 기초 Git 저장소 만들기 기존 디렉터리를 Git 저장소로 만들기 이 명령은 저장소가 필요한 뼈대 파일이 있는 .git 디렉터리를 만든다. $ git init Git이 파일을 관리하게 하려면 저장소에 파일을 추가하고 커밋해야한다. $ git add *.c $ git add README $ git commit -m 'initial project version' 기존 저장소를 Clone하기 서브버젼에서는 checkout 이라는 명령어를 쓰지만 Git에서는 clone 이라는 명령어를 사용한다. Git은 서브버젼과 다르게 서버의 프로젝트 히스토리 데이터를 전부 복사해 온다. 이는 서버에서 디스크가 망가져도 클라이언트에서 복구할 수 있다는 장점이 된다. Ruby 용 Git 라이브러리인 grit을 Clone 하는 예이다.. 더보기
Git의 시작 Git 기초 델타가 아니라 스넵샷 대부분의 VCS(Version Control System)은 각 파일의 변화를 시간순으로 관리하는데 반해 Git은 시간순으로 프로젝트의 스냅샷을 저장한다. Git의 데이터는 파일 시스템의 스냅샷으로 크기가 아주 작다. 거의 모든 명령을 로컬에서 실행 거의 모든 명령이 로컬 파일과 데이터만 사용하기 때문에 네트워크에 있는 컴퓨터는 필요없다. 프로젝트 히스토리를 조회할 때 서버없이 조회한다. 오프라인 상태에서도 비교할 수 있고, 커밋도 가능하다. Git의 무결성 Git은 모든 데이터를 저장하기 전에 체크섬(또는 해시)을 구하고 체크섬으로 데이터를 관리한다. 체크섬 없이 어떠한 파일이나 디렉터리도 변경할 수 없다. Git은 SHA-1 해시를 사용하여 체크섬을 만든다. 체크섬은.. 더보기
15. 별도의 이야기(앱아이콘준비, 자동완성다른함수인자명) 앱 아이콘 준비 준비한 앱 PNG 아이콘 파일을 변경하려면 res/mipmap 리소스 디렉토리에 있는 기본 아이콘 ic_launcher.png와 교체를 해야 한다. 가로 512px 세로 512px 크기의 PNG 형식 아이콘 필요 File -> New -> Image Asset 을 클릭 Asset Studio 실행 Path를 선택하고 Next를 누르면 자동으로 리사이징된 아이콘으로 교체 된다. 오버라이드 인자 이름이 다르게 나올 경우 자동완성 시 인자 값이 의미있는 이름 (예: event) 이 아닌 의미 없는 이름(예: p0) 이 나올경우 모듈수준의 build.gradle 파일 compileSdkVersion 과 맞는 SDK의 소스를 내려받아야 한다. build.gradle android { compile.. 더보기
13. Todo 리스트 프로젝트명 Todo 리스트 기능 할일 목록을 표시한다. 할 일을 데이터페이스에 추가, 수정, 삭제한다. 핵심구성요소 ListView : 목록을 표현하는 리스트형 뷰이다. Realm : 모바일용 데이터 베이스이다. 라이브러리 설정 Anko : 인텐트, 다이얼로그, 로그 등을 구현하는 데 도움이 되는 라이브러리 Realm : 객체 중심 저 메모리 모바일 데이터 베이스 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 레이아웃 작성 스텝2 : Realm 데이터 베이스 스텝3 : 리스트 뷰와 데이터베이스 연동 준비하기 Anko라이브러리 추가 참조 : https://abstractask.tistory.com/21 5. 비만도 계산기 프로젝트명 BmiCalculator 기능 키와 몸무게를 임력 하고 결과 버.. 더보기
12. 실로폰 프로젝트명 Xylophgone 기능 음 판을 누르면 소리가 재생된다. 핵심구성요소 SoundPool : 음원을 관리하고 재생하는 클래스이다. 라이브러리 설정 없음 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 레이아웃 작성 스텝2 : 소리 재생하기 스텝1 레이아웃 작성 가로 모드로 고정하기 액티비티에서 프로그래밍 방식이로 가로모드 고정 이외에 매니페스트 파일에서 가로 모드 고정이 가능하다. .... activity_main.xml 레이아웃 파일에서는 가로모드로 디자인 할 수 있도록 다음과 같이 설정한다. 텍스트 뷰로 음판 만들기 다음 배치할 TextView의 공통 속성을 정의 한다. 배치 Autoconnect 비활성화 모드로 TextView를 레이아웃의 좌측에 배치 layout_width 50.. 더보기
11. 손전등 프로젝트명 Flashlight 기능 앱에서 스위치로 플래시를 끈다. 위젯을 제공해 앱을 실행하지 않고도 플래시를 켜고 끌 수 있다. 핵심구성요소 CameraManager : 플래시를 켜는 기능을 제공하는 클래스 Service : 화면이 없고 백그라운드에서 실행되는 컴포넌트 App Widget : 런처에 배치하여 빠르게 앱 기능을 쓸 수 있게 하는 컴포넌트 라이브러리 설정 Anko : 인텐트, 다이얼로그, 로그 등을 구현하는 데 도움이 되는 라이브러리 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 손전등 기능 구현 스텝2 : 액티비티에서 손전등 기능 사용 스텝3 : 서비스에서 손전등 기능 사용 스텝4 : 앱 위젯 작성 준비하기 플래시를 켜는 방법은 안드로이드 6.0 (minSdkVersion :.. 더보기
10. 지도와 GPS 프로젝트명 GpsMap 기능 GPS로 현재 위치 정보를 얻어 지도를 표시한다. 주기적으로 현재 위치를 갱신하며 선을 그린다. 핵심 구성요소 Google Maps Activity : 지도를 표시하는 기본 템플릿 FusedLocationProviderClient : 현재 위치 정보를 얻는 클래스 라이브러리 설정 Anko : 인텐트, 다이얼로그, 로그 등을 구현하는데 도움이 되는 라이브러리 play-services-maps : 구글 지도 라이브러리 play-services-location : 위치 정보 라이브러리 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 구글 지도 표시하기 스텝2 : 현재 위치 정보 얻기 스텝3 : 주기적으로 현재 위치 정보 업데이트하기 스텝4 : 이동 자취를 선으로 그리기 준.. 더보기
8. 수평 측정기 프로젝트명 TiltSensor 기능 기기를 기울이면 수평을 측정할 수 있다. 화면이 표시되는 원이 가운데로 이동하면 수평이다. 핵심 구성요소 SensorManager : 센서 관리자 SensorEventListener : 센서 이벤트를 수신하는 리스너 커스텀 뷰 : 나만의 새로운 뷰를 만드는 방법 준비하기 : 프로젝트 생성 및 안드로이드 설정 스텝1 : 액티비티의 생명주기 알아보기 스텝2 : 센서 사용하기 스텝3 : 커스텀 뷰 작성하기 스텝1 액티비티의 생명주기 알아보기 액티비티 생명주기 출처 : https://developer.android.com/guide/components/activities/activity-lifecycle Activity 수명 주기에 대한 이해 | Android 개발자 | An.. 더보기