Git을 공부하게 되면 다들 만나게 되는 감사한 책!  Pro Git

   - http://progit.org/

책 내용을 무료로 제공해주고 있다.
거기에다가 Git의 업데이트에 따라 내용 업데이트도 비교적 빠르게 반영이 된다.


몇 몇 아름다운 분들이 번역을 일부 진행하셨었다.

   - http://www.aesop.or.kr/Board_Documents_Linux_Applications/35568



그러던 중 최근 또 아름다운 분들이 이번에는 완벽히 번역을 마무리를 지어서 화제가 되고 있다.

   - https://github.com/dogfeet/progit


Github를 이용하여 공동 번역 작업을 해서 더욱 더 아름답다.
번역 작업을 하면서 사용한 Work-flow도 공개를 했다.

   - http://dogfeet.github.com/articles/2012/git-translate-flow.html 



그래서 조금 더 관련된 자료를 찾아보던 중 Git과 관련한 좋은 자료들을 조금 더 찾아보았다.

Git에 대해서 가르치는 선생님용 자료
   - http://cbx33.github.com/gitt/index.html 

Git 구조(?)를 보기 좋게 설명해준 자료
   - http://marklodato.github.com/visual-git-guide/index-ko.html 

반응형

세입자의 설움으로 전셋집 옮기고 체력고갈,
더불어 진급자 회식 및 결혼 예비 후배들과의 회식들로 인한 추가 체력고갈...
그리고 마지막으로 안또라이들 학습.... 그리고 결정적인 귀차니즘으로 또 다시 오랜만에 찾아온 Git... ^^

조금 더 공부하고 조금 더 분석해야하는데, 그게 말처럼 쉽지가 않다.... 월급쟁이의 비애라고하면 변명이겠지!? ^^


오늘은 remote repository에 대해서 조금 더 알아보고자 한다.


$ git clone /srv/repository/BareRepo.git
$ cd ./BareRepo
$ git remote
$ git remote -v

[ git remote ]라는 명령어는 어떨 때 사용하는걸까!?
어떤 repository의 어떤 branch를 사용하고 있는지 알기 위해서 또는 관리를 위해서 사용하는 명령어이다.

만약 여러 repository를 사용할 경우 그 리스트도 주르륵 보여준다.


여기에서 당연히 의문을 가져야 한다!!!
"여러 repository를 사용"한다고?!

 

$ git remote add other /srv/repository/otherRepo.git
$ git remote
$ git remote -v

이미 "BareRepo.git"을 가져온 상태에서, 그 안에서 [ git remote add ]를 통해서 다른 repository를 가져온 것이다.
'other'라는 것은 임의로 해당 repository를 지칭하는 별명을 지어준 것이다.

본래 있던 것은 'original'이라는 이름이고, 새로 추가한 것은 'other'라는 이름이다.


그러면, 여기에서 또 하나의 의문이 생겨야 한다.

하나의 공간에 2가지의 것이 같이 있으면, 지금 작업하고 있는 것이 어떤 것에 속하는지 어떻게 알려줄까?


$ git fetch other

아직 branch에 대해서 알아보지 않았으므로 이에 대한 설명은 뒤로 넘기겠다.

여하튼, [ git fetch ]라는 명령어를 이용하여 두 가지를 오락가락 할 수 있다!
그런데, 지금 "otherRepo.git"이라는 repository를 넣었다고 했는데 그 파일들은 어디에 있을까?!

지금 사용하고 있는 "otherRepo.git" repository에 들어있는 파일은 "readme.txt"이다.
그런데, "BareRepo.git" repository에도 같은 이름의 파일이 있다.
"혹시 그래서 뭔가 충돌이 난 것은 아닐까?!"라는 생각이 들었다.

그래서, 응급으로 "otherRepo.git"에 "other.txt" 파일을 push해 넣었다.
그런 후 다시 fetch를 해보았다.


다시 fetch를 했음에도 파일 내용은 바뀐 것이 없다.


이 즈음해서 아! 내가 변경 사항을 받아오는 것에 대해서 살펴보지 않았구나~!!!라는 생각이 번뜩!
그래서 바로 직전 글 [ git pull ]에 대해서 블로깅을 했다!!!!


$ git pull
$ git pull other master

그냥 [ git pull ]을 하게 되면 뭔가 받아오는데, 우리가 새로 추가한 repository, otherRepo의 자료는 보이질 않는다.
그러면 어떻게 해야 otherRepo의 내용을 받아올 수 있을까?!

[ git pull other master ]라고 하면 된다.
그런데, 위의 스크린샷을 보면 알겠지만 'CONFLICT'가 발생을 했다.

앞에서도 말했지만, 두 개의 repository에 'readme.txt' 파일이 똑같은 이름으로 존재하고있다.
그래서 충돌이 난 것이다.
보통은 git이 똑똑하게 자동으로 merge를 해주기도 하는데, 위의 경우엔 그것도 실패한 경우이다.



이번 블로그에서는 뭘 배우는 것이 아니라,
앞으로 무엇을 봐야할 지에 대해서 확인하고자 하는 블로깅이다.

[ git pull other master ]라는 명령어에서 'master'라는 것이 무엇인고 하니, 바로 branch 이름이다.
앞으로 branch에 대해서 살펴보도록 하겠다.

그 다음엔 위의 경우처럼 merge를 하는 경우에 대한 것이다.
repository를 여러개를 사용할 경우도 있지만, 주로 서로 다른 branch에서 하나로 merge하는 경우가 더 많을 것이다.


앞으로 하나씩 더 알아가 보도록 하자.

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Git Branch (브랜치) - Local Ⅰ (branch 생성, HEAD)  (1) 2012.04.12
Pro Git 번역본  (0) 2012.03.22
업데이트 - git pull, 중간 정리  (0) 2012.03.17
Remote Repository - git push  (2) 2012.03.04
Git Server - push + 한글  (2) 2012.02.26

색다른 드라큘라 영화라해서 찾아본 영화다.



판타지 드라큘라가 아니라, SF 드라큘라다!!!


흥행 성적도 괜찮은 영화다.

누가 저예산 영화라 평하던데, 사실 2천만 달러가 적은 돈은 아니지만
헐리우드 대작들과 비교하면 정말 적은 돈이긴 하다.
하지만 그래도 들일만큼은 들인 살짝 블록버스터급 영화다.
CG나 특수효과도 괜찮다.
뭐 사실 좀 저렴해보이는 설정(?), 배경도 있긴 하지만...^^


감독은 2명이다.
마이클 스피어리그(Michael Spierig), 피터 스피어리그(Peter Spierig)
둘은 이름에서 힌트를 얻으셨겠지만 1972년생 쌍둥이 형제다.

CF와 뮤직비디오 등을 함께 연출을 했었고,
언데드(2003)의 연출, 제작, 특수효과, 각본 등을 했었다.

그 외 특별한 작품은 없다.


언데드를 통해서 이러한 좀비, 드라큘라에 대한 연습을 충분히 해서인지,
부족한 경력에 비해서 '데이브레이커스'는 비교적 괜찮은 품질(?)을 보여준다.



주인공 '에단 호크(Ethan Hawke)'는 1970년생 아저씨로
그 유명한 '죽은 시인의 사회'에 출연했던 경력도 있고,
배우, 감독, 작가, 소설가, 연극 등의 다방면으로 활동을 하고 있다.
외모도 괜찮고 괜찮은 학벌에 다재다능하지만, 그닥 히트작은 없다.

그런데, 뱀파이어이지만 인간피 마시는 것을 거부하고 혈액대체제를 찾기 위해 애쓰는
인간이 되고 싶어하고 결국은 ... (스포일러라 참겠다 ^^)
그런 인물이지만 주인공으로 카리스마는 좀 없다.
이야기를 끌고 가고 갈등 해결의 키를 찾긴 하지만 왠지 주인공이 아닌 것 같은?!



정작 주인공 역할을 하는 것 같은 조연은 '윌렘 데포(Willem Dafoe)'는 1955년생으로 좀 늙었다 ^^
지금 2012년 개봉을 한 '존 카터'라는 블록버스터에도 주연급으로 출연을 했다.

정말 많은 영화에 주연, 조연으로 출연을 했으며 B급 영화에도 막 출연을 해주고 계신다.

우리 아가가 좋아하는 '니모를 찾아서'에서도 길의 목소리 출연을 하고...


그 외 여주인공 '이사벨 루카스(Isabel Lucas)'라는 1985년생 아가씨도 있는데,
'트랜스포머 2'로 유명해졌다고는 하지만,
모델 출신이어서 그런지 최근 그녀의 독특한 히피 패션으로 더 유명하다.

쥬라기 공원으로 우리에게 얼굴을 알린 '샘 닐(Sam Neill)'이라는 1947년생 아저씨도 있다.



배우들을 정리하자면, 유명한 대박 스타들은 없지만,
그래도 탄탄한 배우들을 잘 모아서 만든 것 같다.


영화의 설정은 살짝 독특하다.
2019년 세상은 뱀파이어가 지배하고 있다.
뱀파이어들이 정치도 하고 회사도 다니고 커피샵도 하고....
인간들은 피를 제공하기 위해서만.... ^^
그러던 중, 인간들이 씨가 말라서 피 공급이 힘든 상황이 되고...
뭐 그런 스토리다.


영화에서 살짝 거실리는 부분은 바로 PPL ^^
크라이슬러에서 많은 돈을 지원받았는지 너무 대놓고 계속...^^
그런데, 크라이슬러에서 정말 맘먹고 광고를 하기로 했는지,
많은 고민의 흔적은 보인다.
뱀파이어들이 낮에 차를 타고 돌아다니기 위해서는 어떻게 했을지...에 대한 고민!



엄청난 블록버스터는 아니지만,
살짝 독특한 설정과 배우들의 탄탄한 연기력,
어색하지 않은 특수효과들과 CG,
그다지 지루하지 않은 스토리 진행,

시간날 때 한 번쯤 보기에 추천도 할 수 있을만한 영화다.



IMDb   평점 : 6.50
네이버 평점 : 7.13
나만의 평점 : 6.98


Naver
http://movie.naver.com/movie/bi/mi/basic.nhn?code=67059
Wikipedia
http://en.wikipedia.org/wiki/Daybreakers
IMDb - Internet Movie Database
http://www.imdb.com/title/tt0433362/

[출처]
* 포스터 및 스크린샷은 위키피디아에서 퍼왔음을 밝힙니다.
(영화 관련 저작권 괴담은 무서워요~)
[ 주의 사항 ]
어디까지나 개인적인 영화평을 적는 공간이니만큼,
개인의 취향은 존중해주시면 감사하겠습니다.
건전한 비판이나 조언은 언제든 환영입니다!!!

반응형

앞에서 먼저 설명을 했었어야 했는데,
아무 생각없이 건너뛴 부분이 생각나서 급하게 블로깅을 한다.


우선 기존의 repository들이 정리가 안된 느낌이라서 이번에 새로 repository를 생성해보겠다.


$ mkdir ./bare1repo.git
$ cd ./bare1repo.git
$ git --bare init

이제는 생성한 repository를 clone하여 보자.


$ git clone chani@localhost:/srv/repository/bare1repo.git
$ cd ./bare1repo.git
$ git status

잘 clone 받아온 것을 확인할 수 있다.

지금은 파일이 하나도 없으니, 일단 파일 하나를 추가하고 commit 해보자.


$ nano ./readme.txt
$ git add ./readme.txt
$ git commit -m "create readme.txt"

Remote repository로 변경 사항을 보내보자.


$ git status
$ git push

보내기 위해서 'git push'를 했는데,
error가 발생을 했다.

push를 하기 위해서는 git에게 어떠한 방식으로 push를 할 것인지에 대해서 꼭 알려줘야 한다.
이전에도 한 번 언급을 했지만, 여기에서 다시 한 번 해보자.


$ git config push.default tracking
$ git push

이번에는 잘 되었다!


테스트를 위해서 clone을 하나 더 해보자.


$ mkdir 2nd
$ cd ./2nd
$ git clone chani@localhost:/srv/repository/bare1repo.git

여기 repository에서 파일 하나를 더 추가해보자.


$ nano ./readme1.txt
$ git add ./readme1.txt
$ git commit -m "create readme1.txt"
$ git push


여기에서 새로운 내용을 Remote repository에 넣었으나
이전에 내려 받은 repository에는 당연히 새로 변경된 내용이 반영이 되지 않았다.

그러면 이전에 내려 받은 repository에서 내용을 업데이트 하기 위해서는 어떻게 해야할까?


$ git pull

위 스크린샷을 보면 알겠지만 'git pull'을 하면 만사 OK다.

흐름을 살펴보면 아래와 같다.




여기에서는 바로 'git pull' 하나만 언급하지만, 실제로는 여러가지 작업이 복합되어 있다.

'git fetch'를 통해서 변경 사항을 내려받고, 지금 작업하고 있는 내용에 merge를 하는 과정을
한 방에 처리해주는 것이 바로 'git pull'이다.


나중에 'branch'와 'merge'에 대해서 학습을 하고선 다시 한 번 이 부분을 분석해보도록 하자!!!

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Pro Git 번역본  (0) 2012.03.22
Remote - remote, fetch, pull  (0) 2012.03.19
Remote Repository - git push  (2) 2012.03.04
Git Server - push + 한글  (2) 2012.02.26
Git Server - Remote Connect  (0) 2012.02.25

개인적으로 좋아하는 외계인, 음모론 주제이기에 그냥 봤던 그런 영화


하지만,사실 내가 이것을 왜 봤는지 살짝 후회가 되었다.


이 영화에서는 CG 보다 특수분장이 더 많이 보인다.

물론 특수분장이 CG보다 떨어진다고 말하는 것은 아니지만,
좀 부족한 특수분장은 영화에 대한 몰입도를 많이 떨어뜨린다.



영화의 줄거리는 전형적이다.

군지역 51구역에선 외계인이 있지만 비밀로 하고 있다.
하지만, 기자들이 그 사실을 파고들고자 한다.
반면, 해당 군사기지에선 외계인이 함께 연구도 하고 있고 뭐 그런다.
그러나 모든 외계인이 다 호의적이진 않다.
좀 억세고 거친 외계인도 있고 그런다...
더욱 문제인 것은 지구인들이 외계인을 함부로....

뭐 그런 저런 이야기라는...


이 영화는 본래 TV용 영화로 만들어졌다고 한다.
그래서 그런지 정말 딱 그 수준이다.



감독 '제이슨 코너리(Jason Connery)'는 1963년생 영국 런던 출신이다.
연출도 꽤 했지만, 주연도 하고 조연도 하는 배우이다.

'스몰빌'이라는 TV시리즈의 조연도 했고, '어론 인 더 다크 2'에서도 조연을 했다.
여기서 놀라운 점은 아버지가 그 유명한 '숀 코네리'이다.


감독도 살펴보았으니 이제는 주연을 살펴봐야하는데...
이 영화는 마땅히 주연이라고 할만한 사람이 없다.

그래서 별도로 살펴보지 않으려 한다.


IMDb의 평점... 10점 만점에 3.5
네이버 네티즌 평점... 2.69


정말 말도 안되는 C급의 엉망진창인 영화라고 말하긴 좀 그렇다.
하지만, 만약 이 영화를 비싼 돈을 내고 영화관에서 봤다면... 재앙이다.


케이블 TV에서 그냥 심심풀이로 보면 딱 알맞을 그런 영화다!



네이버 평점 : 2.69
나만의 평점 : 3.11



Naver
http://movie.naver.com/movie/bi/mi/basic.nhn?code=83511
IMDb - Internet Movie Database
http://www.imdb.com/title/tt1629439/

[출처]
* 포스터 및 스크린샷은 IMDb에서 퍼왔음을 밝힙니다.
(영화 관련 저작권 괴담은 무서워요~)
[ 주의 사항 ]
어디까지나 개인적인 영화평을 적는 공간이니만큼,
개인의 취향은 존중해주시면 감사하겠습니다.
건전한 비판이나 조언은 언제든 환영입니다!!!

반응형

오랫만에 ... 약 2개월만에 새로운 버전이 나왔다.
작년에 신나게 업데이트를 해주던 것에 비해서 올해엔 업그레이드가 좀 오래걸리는 것 같아서 살짝 불안하다.

Oracle 이라는 회사가 말이지... 음... 흠... ^^


Changelog는 아래와 같다.

VirtualBox 4.1.10 (released 2012-03-13)

This is a maintenance release. The following items were fixed and/or added:

GUI: if 3D support on the host is not available for some reason, do not only disable this VM setting but also uncheck the checkbox
VMM: fixed a potential problem causing to schedule interrupts during SYSEXIT right after STI
VMM: fixed a potential guest memory corruption issue with page fusion
VMM: adjusted the module matching algorithm for page fusion a little, generally resulting in slightly more shared pages
Main: host interfaces no longer have "defaults" for IP address and network mask attributes
Main: don't depend on a password for certain guest control operations (bug #10030)
3D Support: fixed Windows XP hosts support (4.1.8 regression; bugs #10071 and #10088)
3D Support: rendering fixes for Linux hosts with NVIDIA graphics
3D Support: fixed saved state issues (4.1.8 regression; bug #10126)
3D Support: WDDM driver: fixed powershell_ise crashes (bug #10167), make WPF-based apps work with Aero enabled, fixed additional possible WinSAT crashes
VRDP: fixed remote clipboard compatibility issues with some clients
Storage: fixed a possible data corruption when compacting VDI or VHD images with snapshots (32-bit hosts only)
iSCSI: fixed crash when using incorrect credentials when authenticating with a LIO target (bug #10173)
Serial: don't abort in host mode under rare error conditions (non-Windows hosts only)
SDK: actually ship current C bindings
SDK: fixed the Java glue code for JDK 1.7.0 (bug #9848)
SDK: added Python example
Metrics: make metrics collection more robust regarding blocked VMs
Web service: added SSL/TLS support
VBoxShell: fixed Guest Additions information lookup
Solaris installer: fixed dependency checking while installing VirtualBox in a zone
Linux hosts/guests: Linux 3.3-rc1 compile fixes
Solaris hosts: fixed debug kernel panics while opening module CTF data (bug #9651)
Mac OS X hosts: fixed Python support on Lion
Linux Additions: make 3D passthrough work on OL/RHEL 6.2 (bug #10010)
Linux Additions: fixed missing implementation when copying shared folder data through kernel high memory (bug #9878)
Linux Additions: make sure all data is written when closing a memory mapped file on a shared folder
Linux Additions: added support for X.Org Server 1.12
Solaris Additions: fixed guest kernel driver to load properly on guest reboot (4.1.8 regression; bug #10113)
Solaris Additions: fixed missing 64-bit OpenGL library VBoxOGL.so (bug #10151)
Solaris Additions: fixed VBoxService import and start for Solaris 11 guests.
Windows Additions: some Windows 8 adaptions
Windows Additions: several fixes for shared folders (bug #9753)
Guest control: miscellaneous bugfixes

어디까지나 개인적으로 관심있는 부분만 조금 살펴보면...

VRDP: fixed remote clipboard compatibility issues with some clients
   - 일부 클라이언트에서 원격 클립보드 호환성 개선

Storage: fixed a possible data corruption when compacting VDI or VHD images with snapshots (32-bit hosts only)
   - (32-bit 호스트에서만) 스냅샷의 VDI 또는 VHD 이미지를 최적화할 때 발생할 수 있는 데이터 충돌 개선

Linux hosts/guests: Linux 3.3-rc1 compile fixes
   - Linux 3.3-rc1 컴파일 개선

Linux Additions: fixed missing implementation when copying shared folder data through kernel high memory (bug #9878)
   - 커널의 높은 메모리 때문에 공유폴더의 데이터를 복사할 때 실행을 하지 않는 현상 개선

Linux Additions: make sure all data is written when closing a memory mapped file on a shared folder
   - 공유폴더에서 메모리 맵을 닫을 때 모든 데이터가 확실히 써지도록 수정

Linux Additions: added support for X.Org Server 1.12
   - X.Org Server 1.12 지원 추가

Windows Additions: several fixes for shared folders (bug #9753)
   - 공유폴더에 대한 몇 몇 개선



전체적으로 공유폴더와 관련한 많은 사항들에 대한 개선이 있는 것으로 보인다.

VirtualBox 를 사용하면서 공유폴더 때문에 발생했던 충돌들이 많이 없어질 것 같아서 기분이 좋다~!!!
 
반응형

개인적으로 음모론, 미스터리, 외계인, 판타지, 몽환적인 것들을 좋아한다.
그런 이유로 숫자 23에 대한 미스터리를 보여준다는 이 영화에 기대를 엄청 많이 했다.
더군다나 주인공이 '짐 캐리'인 영화이니...


왠지 메멘토가 떠오르는 포스터다.


흥행도 괜찮았나 보다.
그래서 3분을 추가한 확장판까지 나왔겠지!?



감독은 '조엘 슈마허(Joel Schumacher)'라는 39년생 할아버지다.
많은 작품의 연출을 했는데, 내가 아는 것도 꽤 된다.

연출과 각본을 모두 한 '오페라의 유령(2004)'과
공중전화 부스라는 공간을 멋지게 표현한 '폰 부스(2002)',
'배트맨 4 - 배트맨과 로빈(1997)',
'배트맨 3 - 포에버 (1995)'
등등등... 많다!

디자인을 전공한 감독은 '우디 앨런'으로부터 많은 영향을 받았다고 한다.



주연을 맡은 '짐 캐리'는 뭐 두 말 할 나위가 없을테고...
주로 코미디 역할을 많이 해서 이번과 같이 심각한(?) 분위기가 조금 어색하지만,
연기는 정말 잘하는 배우다!!!



여주인공 '버지니아 매드슨(Virginia Madsen)'은 1961년생의 멋진 금발 아줌마로,
많은 영화에 조연이나 주연으로 출연했다.
하지만, 개인적으로 내가 아는 영화는 없네.... ㅜㅜ

그런데, 이 영화에서는 멋진 1인 2역을 했다.
평범한 정말 아줌마 같은 아내 역할,
상상속(?)에서 섹시하고 멋진 '파브리지아' 역할!

아! 물론 주인공인 '짐 캐리' 역시 1인 2역이다.
평범한 동물 보호소 직원 역할,
상상속(?)에선 멋진 형사 '핑거링' 역할!



이 영화로 인해서 '23'이라는 숫자가 많은 음모론에서 인용된다는 것을 알게 되었다.



영화에서는 '23'에 대한 음모론....을 '편집증(paranoia)'로 몰고가지만,
이러한 것을 지칭하는 용어는 별도로 있다.

'아포페니아(Apophenia)'
서로 연관성이 없는 현상이나 정보에서 규칙성이나 연관성을 추출하려는 인식 작용을 나타내는 심리학 용어



이러한 아포페니아를 스토리로 한 유명한 영화가 떠오른다.
2001년도 작품인 '뷰티풀 마인드(A Beautiful Mind)'

작품의 진행 방식도 왠지 조금 비슷하다는 느낌이 든다.



이 영화가 '조엘 슈마허' 감독의 23번째 작품이라고 한다!
감독과 '짐 캐리'의 이름을 더하면 23이라고 한다.
여주인공과 '짐 캐리'의 이름을 더하면 마찬가지로 23이라고 한다.





특별히 익사이팅하지도 뭔가 템포 빠르게 뭔가가 흘러가지도 않는
어떻게 보면 잔잔하게 이야기하듯이 진행되는 영화다.

소름 돋게 연기를 감동있게 하는 것도 아니고,
주인공들이 특별히 멋지거나 예쁘지도 않다.

그냥 잔잔히 살짝 으시시한(?) 이야기를 듣는 느낌으로
영화를 본다면 꽤 괜찮게 시간을 보낼 수 있는 영화다.


중반 이후로 아내와 아들이 갑자기 주인공을 도와주는 설정은 조금 어색하지만,
전체적으로 억지스러운 느낌은 아니다.




네이버 평점 : 6.66
나만의 평점 : 6.91



Naver
http://movie.naver.com/movie/bi/mi/basic.nhn?code=65723
Wikipedia
http://en.wikipedia.org/wiki/The_Number_23
Internet Movie Database
http://www.imdb.com/title/tt0481369/

[출처]
* 포스터 및 스크린샷은 위키피디아에서 퍼왔음을 밝힙니다.
(영화 관련 저작권 괴담은 무서워요~)
[ 주의 사항 ]
어디까지나 개인적인 영화평을 적는 공간이니만큼,
개인의 취향은 존중해주시면 감사하겠습니다.
건전한 비판이나 조언은 언제든 환영입니다!!!

반응형

Git 관련 내용을 최근 너무 블로깅을 하지 않아서 진도를 빼려고 했는데,
프린트를 해놓은 것을 잃어버려서... 요즘 진도를 빼고 있는 안드로이드 앱 개발 내용으로 블로깅을 하겠다.


앞에서 버튼을 여러개를 만들어서 웹 페이지도 보여주고 전화거는 것도 보여주고 했다.
그런데, 앞에서 다른 내용을 보여준 것은 내가 직접 만든 것이 아니라 안드로이드가 보여주는 것이었다.



이번에는 내가 새로 도화지를 하나 더 만들어서 그 곳에 그림을 그리는 것을 해보자.

안드로이드 용어를 사용해서 다시 말을 해보면,
이전에는 Activity 하나만 만들어서 작업을 했는데, 이번에는 Activity를 추가로 하나 더 만들어보자!



안드로이드에서 하나의 단위를 Activity라고 생각하면 된다.
Avtivity 단위로 별도의 소스파일을 사용하고 별도의 레이아웃을 사용한다.

완전히 새로만들면 귀찮으니 기존의 파일을 가지고 복사해서 사용해보자.


'HelloAndroidActivity.java' 파일 위에서 오른쪽 버튼을 누르고 'Copy'를 한 이후에
바로 [Ctrl]+[v]를 눌러서 붙여넣기를 하면 아래와 같은 화면이 나온다.


이름을 바꿔주자.


이번에는 레이아웃 파일을 복사하자.


'main.xml' 파일 위에서 오른쪽 버튼을 누르고 'Copy'를 선택하고,
[Ctrl]+[v]를 눌러서 붙여넣기를 하면 아래와 같은 화면이 나온다.


일단 파일이름을 아래와 같이 적어보자.


입력은 되는데, 오른쪽 밑의 창을 보면 아래와 같은 붉은 글씨가 보인다.
대문자를 사용하면 안되나보다.


파일 이름에서 [F2] 버튼을 누르고는 아래와 같이 소문자로만 파일이름을 변경하자.


레이아웃을 바꿔보자.


이번에 만든 Activity로 전환이 되었을 경우에
mainActivity로 되돌아가는 기능을 하는 버튼 하나만 만들어보자.


버튼 하나만 남기면 된다.

주의할 것은 아래와 같다.
   - R.layout.otheractivity
   - R.id.backBtn
   - finish();


그런데, 이렇게 만든 Activity는 바로 사용할 수 없다.
등록을 해야하는 것이다.


'Package Explorer'의 밑부분에 위치한 'AndroidManifest.xml' 파일을 선택해보자.


밑의 탭에서 "AndroidManifest.xml"을 선택하면 나오는 화면에서 아래의 내용을 추가하자.

<activity android:name=".OtherActivity">
</activity>


이제 새로 만든 Activity를 사용할 준비는 모두 끝났다.

마지막으로 새로 만든 Activity를 호출하는 부분을 추가하자.


기존에 만든 첫 번째 버튼에 새로 만든 Activity로 넘어가는 코드를 추가하자.

Intent myIntent = new Intent(getApplicationContext(), OtherActivity.class);
startActivity(myIntent);


이제 다 되었다.
에뮬레이터로 결과를 확인해보자.


기본적인 앱에 대해서 충분히 살펴보았다.


지금까지의 내용에 대해서는 '이지스퍼블리싱'에서 출판한 '안드로이드 앱 프로그래밍'이라는 책을 참조하였다.

반응형

+ Recent posts