<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-955469058843897825</id><updated>2012-02-17T03:13:24.745+09:00</updated><category term='suspension bridge'/><category term='가사'/><category term='카필라노'/><category term='setflag'/><category term='리스트뷰'/><category term='심비안'/><category term='투명'/><category term='SKT'/><category term='잠수'/><category term='UI'/><category term='Torch relay'/><category term='droiddraw'/><category term='스티브잡스'/><category term='Apple'/><category term='Hello Android'/><category term='Trip to somewhere'/><category term='요금'/><category term='Vancouver'/><category term='KT'/><category term='ini'/><category term='전파인증'/><category term='스펙'/><category term='afxbeginthread'/><category term='MD5'/><category term='설치'/><category term='getprivateprofileint'/><category term='IT NEws?'/><category term='블랙베리'/><category term='넥서스원'/><category term='폴더경로'/><category term='Nexus One'/><category term='API Key'/><category term='그랜빌'/><category term='motoroi'/><category term='olympic'/><category term='C++?'/><category term='예약판매'/><category term='개발'/><category term='안드로이드'/><category term='타임어택'/><category term='횃불'/><category term='view'/><category term='모토로라'/><category term='성화'/><category term='Eclipse'/><category term='공모전'/><category term='findfirstchangenotification'/><category term='테이블'/><category term='요금제'/><category term='개발환경'/><category term='아이폰'/><category term='xperia x10'/><category term='윈도우 모바일'/><category term='레이아웃'/><category term='Skin'/><category term='writeprivateprofilestring'/><category term='안드로이드폰'/><category term='Activity'/><category term='capilano'/><category term='벤쿠버'/><category term='환경설정'/><category term='서스펜션 브릿지'/><category term='back key'/><category term='개스타운'/><category term='char*'/><category term='카트'/><category term='구글맵'/><category term='부산'/><category term='Report'/><category term='Gas town'/><category term='카트라이더'/><category term='C++'/><category term='Steve Jobs'/><category term='Gridview'/><category term='sdk'/><category term='Android?'/><category term='폴더감시'/><category term='md5 fingerprint'/><category term='개통'/><category term='드로이드드로우'/><category term='쓰레드'/><category term='xt720'/><category term='단축키'/><category term='iPod Touch'/><category term='엑스페리아 x10'/><category term='TAC'/><category term='writeprivateprofileint'/><category term='Hello World!!'/><category term='클릭'/><category term='Granville'/><category term='파싱'/><category term='shgetpathfromidlist'/><category term='전역변수'/><category term='캐나다'/><category term='context'/><category term='Java'/><category term='Shortcut'/><category term='올림픽'/><category term='애플'/><category term='C++ / MFC'/><category term='스킨'/><category term='TStore'/><category term='LinearLayout'/><category term='xmlpullparser'/><category term='자바'/><category term='Lyric'/><category term='아이패드'/><category term='getprivateprofilestring'/><category term='What r u doing?'/><category term='알송'/><category term='모토로이'/><category term='ID3'/><category term='CString'/><category term='iPad'/><category term='findnextchangenotification'/><category term='액티비티'/><category term='백키'/><category term='프로그래밍'/><category term='이클립스'/><title type='text'>Darkroid`s Diary??</title><subtitle type='html'>안녕하세요 다크로이 입니다. 현재 안드로이드를 공부하고 있네요. 많은 정보 공유했으면 합니다.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>52</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6821627931348156618</id><published>2010-07-08T16:31:00.000+09:00</published><updated>2011-01-29T22:24:58.537+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++?'/><category scheme='http://www.blogger.com/atom/ns#' term='폴더경로'/><category scheme='http://www.blogger.com/atom/ns#' term='shgetpathfromidlist'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ / MFC'/><title type='text'>선택한 폴더의 경로 가져오기</title><content type='html'>&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&lt;span style="color:blue"&gt;void&lt;/span&gt; CTestDlg::OnBnClickedButton1()&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color:green"&gt;// TODO: 여기에컨트롤알림처리기코드를추가합니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; ITEMIDLIST *pBrowse;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color:blue"&gt;char&lt;/span&gt; pathName[260];&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color:blue"&gt;int&lt;/span&gt; count = 0;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; CString title = (CString)&lt;span style="color:#a31515"&gt;"폴더를선택하세요"&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; BROWSEINFO brInfo;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; brInfo.hwndOwner = GetSafeHwnd();&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; brInfo.pidlRoot = NULL;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; brInfo.pszDisplayName = (LPWSTR)pathName;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; brInfo.lpszTitle = title;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; brInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; brInfo.lpfn = NULL;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; brInfo.lParam = 0;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; ::ZeroMemory(pathName, 260);&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; pBrowse = SHBrowseForFolder(&amp;amp;brInfo);&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color:blue"&gt;if&lt;/span&gt;(pBrowse != NULL)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ::SHGetPathFromIDList(pBrowse, (LPWSTR)pathName);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; UpdateData(TRUE);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; m_Path.SetWindowText((LPCTSTR)pathName);&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; strPath.Format((CString)&lt;span style="color:#a31515"&gt;"%s\\*.*"&lt;/span&gt;, pathName);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; CFileFind find;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; CString fName;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; find.FindFile((LPCTSTR)strPath);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color:blue"&gt;while&lt;/span&gt;(find.FindNextFile())&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fName = find.GetFileName();&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color:blue"&gt;if&lt;/span&gt;(find.IsDirectory() != TRUE)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileList.Add(fName);&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:돋움체; font-size:10pt"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;선택한 폴더내에 있는 모든파일들을 파일리스트에 저장&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6821627931348156618?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6821627931348156618/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%84%A0%ED%83%9D%ED%95%9C-%ED%8F%B4%EB%8D%94%EC%9D%98-%EA%B2%BD%EB%A1%9C-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6821627931348156618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6821627931348156618'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%84%A0%ED%83%9D%ED%95%9C-%ED%8F%B4%EB%8D%94%EC%9D%98-%EA%B2%BD%EB%A1%9C-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0.html' title='선택한 폴더의 경로 가져오기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-8709921849651042306</id><published>2010-07-08T16:28:00.000+09:00</published><updated>2011-01-29T22:24:58.500+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='환경설정'/><category scheme='http://www.blogger.com/atom/ns#' term='getprivateprofileint'/><category scheme='http://www.blogger.com/atom/ns#' term='writeprivateprofilestring'/><category scheme='http://www.blogger.com/atom/ns#' term='C++?'/><category scheme='http://www.blogger.com/atom/ns#' term='writeprivateprofileint'/><category scheme='http://www.blogger.com/atom/ns#' term='ini'/><category scheme='http://www.blogger.com/atom/ns#' term='getprivateprofilestring'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ / MFC'/><title type='text'>환경설정 파일(ini) 사용</title><content type='html'>&lt;p&gt;INI 파일의 구성은 크게 3부분으로 구성된다.&lt;/p&gt;&lt;p&gt;Section, Key, Value 이다.&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:97px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="height: 36px"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt"&gt;&lt;p&gt;[Section]&lt;/p&gt;&lt;p&gt;Key = value &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;이런 형태라고 볼 수 있다.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;정보가져오기&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;GetPrivateProfileString, GetPrivateProfileInt 함수를 사용.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;정보쓰기&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;WritePrivateProfileString, WritePrivateProfileInt 함수를 사용.&lt;/p&gt;&lt;p&gt;이미 파일이 생성되어 있지 않더라도 위의 쓰기 함수들을 이용하면 자동으로 생성이 되는 것을&lt;/p&gt;&lt;p&gt;확인 할 수 있다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-8709921849651042306?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/8709921849651042306/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BCini-%EC%82%AC%EC%9A%A9.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8709921849651042306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8709921849651042306'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BCini-%EC%82%AC%EC%9A%A9.html' title='환경설정 파일(ini) 사용'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-698832935116520008</id><published>2010-07-08T16:19:00.000+09:00</published><updated>2011-01-29T22:24:58.149+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CString'/><category scheme='http://www.blogger.com/atom/ns#' term='C++?'/><category scheme='http://www.blogger.com/atom/ns#' term='char*'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ / MFC'/><title type='text'>CString and char*</title><content type='html'>&lt;p&gt;CString 형을 char문자열로 변환해서 사용하고 싶으시면&lt;/p&gt;&lt;p&gt;CString str = "abcdef";&lt;/p&gt;&lt;p&gt;Char* ch = (char *)(LPCTSTR)str;&lt;/p&gt;&lt;p&gt;이런 식으로 사용하셔도 됩니다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-698832935116520008?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/698832935116520008/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/cstring-and-char.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/698832935116520008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/698832935116520008'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/cstring-and-char.html' title='CString and char*'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-8727121722788435127</id><published>2010-07-08T15:54:00.000+09:00</published><updated>2011-01-29T22:24:56.037+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='쓰레드'/><category scheme='http://www.blogger.com/atom/ns#' term='afxbeginthread'/><category scheme='http://www.blogger.com/atom/ns#' term='C++?'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ / MFC'/><title type='text'>AfxBeginThread 함수사용</title><content type='html'>&lt;p&gt;전역변수로 CWinThread 변수 선언&lt;/p&gt;&lt;p&gt;&lt;strong&gt;CwinThread *pThread;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;원하는 코드내에 다음과 같이 사용&lt;/p&gt;&lt;p&gt;&lt;strong&gt;pThread = AfxBeginThread(ThreadChangedMonitor, NULL);&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Thread 구현부&lt;/p&gt;&lt;p&gt;&lt;b&gt;UINT ThreadChangedMonitor(LPVOID lParam)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;{&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; 구현&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;}&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-8727121722788435127?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/8727121722788435127/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/afxbeginthread-%ED%95%A8%EC%88%98%EC%82%AC%EC%9A%A9.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8727121722788435127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8727121722788435127'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/afxbeginthread-%ED%95%A8%EC%88%98%EC%82%AC%EC%9A%A9.html' title='AfxBeginThread 함수사용'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-8700603992051090284</id><published>2010-07-08T15:45:00.000+09:00</published><updated>2011-01-29T22:24:56.008+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++?'/><category scheme='http://www.blogger.com/atom/ns#' term='폴더감시'/><category scheme='http://www.blogger.com/atom/ns#' term='findnextchangenotification'/><category scheme='http://www.blogger.com/atom/ns#' term='findfirstchangenotification'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ / MFC'/><title type='text'>지정폴더 변화 감시 함수</title><content type='html'>&lt;p&gt;자신이 원하는 폴더에서의 변화를 감지하고 싶을때가 있을 것이다.&lt;/p&gt;&lt;p&gt;이러한 변화 감지를 위해서 WIN32 API 는 FindFirstChangeNotification 과 FindNextChangeNotification 함수를 제공한다.&lt;/p&gt;&lt;p&gt;다음은 MSDN에 정의되어 있는 내용이다.&lt;/p&gt;&lt;p style="background: #dddddd"&gt;&lt;span style="color:black; font-family:Consolas; font-size:8pt"&gt;HANDLE WINAPI FindFirstChangeNotification(&lt;/span&gt;&lt;/p&gt;&lt;p style="background: #dddddd"&gt;&lt;span style="color:black; font-family:Consolas; font-size:8pt"&gt;  __in          LPCTSTR &lt;a&gt;&lt;span style="color:#0040ff"&gt;&lt;em&gt;lpPathName&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p style="background: #dddddd"&gt;&lt;span style="color:black; font-family:Consolas; font-size:8pt"&gt;  __in          BOOL &lt;a&gt;&lt;span style="color:#0040ff"&gt;&lt;em&gt;bWatchSubtree&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p style="background: #dddddd"&gt;&lt;span style="color:black; font-family:Consolas; font-size:8pt"&gt;  __in          DWORD &lt;a&gt;&lt;span style="color:#0040ff"&gt;&lt;em&gt;dwNotifyFilter&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: #dddddd"&gt;&lt;span style="color:black; font-family:Consolas; font-size:8pt"&gt;);&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;LpPathName 은 경로, bWatchSubtree 는 하위폴더까지 감시할 것인지를 dwNotifyFilter 는 변화알림에 대한 상태필터이다.&lt;/p&gt;&lt;p&gt;dwNotifyFilter 에 들어갈 값들에 대한 정의이다.&lt;/p&gt;&lt;div style="margin-left: 36pt"&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:228px"&gt;&lt;col style="width:342px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="background: #cccccc"&gt;&lt;td valign="bottom" style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-bottom:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td valign="bottom" style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-bottom:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;&lt;strong&gt;Meaning&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background: #f7f7ff"&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  solid #e0dfe3 0.75pt; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;FILE_NOTIFY_CHANGE_FILE_NAME&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;Any file name change in the watched directory or subtree causes a change notification wait operation to return. Changes include renaming, creating, or deleting a file name.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background: #f7f7ff"&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  solid #e0dfe3 0.75pt; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;FILE_NOTIFY_CHANGE_DIR_NAME&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;Any directory-name change in the watched directory or subtree causes a change notification wait operation to return. Changes include creating or deleting a directory.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background: #f7f7ff"&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  solid #e0dfe3 0.75pt; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;FILE_NOTIFY_CHANGE_ATTRIBUTES&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;Any attribute change in the watched directory or subtree causes a change notification wait operation to return.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background: #f7f7ff"&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  solid #e0dfe3 0.75pt; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;FILE_NOTIFY_CHANGE_SIZE&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;Any file-size change in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change in file size only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background: #f7f7ff"&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  solid #e0dfe3 0.75pt; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;FILE_NOTIFY_CHANGE_LAST_WRITE&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;Any change to the last write-time of files in the watched directory or subtree causes a change notification wait operation to return. The operating system detects a change to the last write-time only when the file is written to the disk. For operating systems that use extensive caching, detection occurs only when the cache is sufficiently flushed.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background: #f7f7ff"&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  solid #e0dfe3 0.75pt; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;FILE_NOTIFY_CHANGE_SECURITY&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px; border-top:  none; border-left:  none; border-bottom:  solid #d5d5d3 0.75pt; border-right:  solid #e0dfe3 0.75pt"&gt;&lt;p&gt;Any security-descriptor change in the watched directory or subtree causes a change notification wait operation to return.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-8700603992051090284?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/8700603992051090284/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%A7%80%EC%A0%95%ED%8F%B4%EB%8D%94-%EB%B3%80%ED%99%94-%EA%B0%90%EC%8B%9C-%ED%95%A8%EC%88%98.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8700603992051090284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8700603992051090284'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%A7%80%EC%A0%95%ED%8F%B4%EB%8D%94-%EB%B3%80%ED%99%94-%EA%B0%90%EC%8B%9C-%ED%95%A8%EC%88%98.html' title='지정폴더 변화 감시 함수'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-980510521611202171</id><published>2010-07-08T15:37:00.000+09:00</published><updated>2011-01-29T22:24:55.979+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++?'/><category scheme='http://www.blogger.com/atom/ns#' term='전역변수'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ / MFC'/><title type='text'>전역변수 선언하기</title><content type='html'>&lt;p&gt;MFC 프로그래밍을 하다가 전역변수 선언을 해야 할 때가 있다.&lt;/p&gt;&lt;p&gt;전역변수 선언은 다음과 같이 하면 되겠다.&lt;/p&gt;&lt;p&gt;[Stdafx.h]&lt;/p&gt;&lt;p&gt;extern 자료형 변수명;&lt;/p&gt;&lt;p&gt;[stdafx.cpp]&lt;/p&gt;&lt;p&gt;자료형 변수명;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;이렇게 선언을 해주면 프로젝트 내에서라면 어디서든 사용 할 수 있게 된다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-980510521611202171?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/980510521611202171/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%A0%84%EC%97%AD%EB%B3%80%EC%88%98-%EC%84%A0%EC%96%B8%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/980510521611202171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/980510521611202171'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%A0%84%EC%97%AD%EB%B3%80%EC%88%98-%EC%84%A0%EC%96%B8%ED%95%98%EA%B8%B0.html' title='전역변수 선언하기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-3111274625176904760</id><published>2010-07-06T15:05:00.000+09:00</published><updated>2011-01-29T22:24:55.951+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='C++ / MFC'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>또 다시 C++의 세계로.....</title><content type='html'>또 다시 C++의 세계로 돌아갑니다.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;인턴에서 지금 하는 일이 C++ 기반으로 해야하는 거라서 다시 돌아가게 되었네요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;근데 몇년전이라서 제대로 기억이 안나는 ㅠ.ㅠ&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;서적도 다 집에 있거나 학교에 있고......&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;틈나는 대로 서점에서 서적좀 구해서 좀 봐야되겠습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;새로 입문하는 기분으로 다시 돌파해야겠네요. 쯔~~~업&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-3111274625176904760?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/3111274625176904760/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EB%98%90-%EB%8B%A4%EC%8B%9C-c%EC%9D%98-%EC%84%B8%EA%B3%84%EB%A1%9C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3111274625176904760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3111274625176904760'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EB%98%90-%EB%8B%A4%EC%8B%9C-c%EC%9D%98-%EC%84%B8%EA%B3%84%EB%A1%9C.html' title='또 다시 C++의 세계로.....'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-8277333880220270749</id><published>2010-07-02T17:22:00.000+09:00</published><updated>2011-01-29T22:24:55.871+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='알송'/><category scheme='http://www.blogger.com/atom/ns#' term='모토로이'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='가사'/><category scheme='http://www.blogger.com/atom/ns#' term='Lyric'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><title type='text'>안드로이드 가사지원 음악 플레이어</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;완성이라고 하기에는 너무 미흡한 나의 첫 안드로이드 어플리케이션이 완성됐다?? 아니 됐었다.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;사실 이 포스팅은 제작을 완료한지 좀 지난시점에서야 올리게 됐다 ㅡ,ㅡ;;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;머 이래저래 정신이 없었던 것도 있고 귀차니즘도 좀 있고 해서..... ㅋㅋ&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;어플에 대해서 잠시 소개를??&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;아직은 부족한 어플이다. 좀 더 보완해야 할 점도 있고........&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;먼저 제목그대로 가사를 가져오는 어플이다. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;프로그램을 실행시켜 보면 음악을 듣고 그 음악에 대한 가사정보를 가져온다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;순전히 나를 위한 어플이다 ㅡ,ㅡ;;;;;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;배포를 해 볼까도 했지만 저작권의 문제때문에 배포는 불가!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;또한 UI가 문제가 많을 것 같기도 하다. 내 모토로이에 최적화된 UI이고 촌스럽기까지 하다 ㅋㅋ&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그래도 한 번 써보고 싶으신 분은 개인적으로 연락을 ㅋㅋㅋㅋㅋ&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XEAc6siTI6.png" style="width:193px;height:343px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XEAc6siTI6.png')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XW8GgHQHcs.png" style="width:193px;height:343px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XW8GgHQHcs.png')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xa97hjEIaI.png" style="width:193px;height:343px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/Xa97hjEIaI.png')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;촌스러운 UI 공개 ㅋㅋㅋㅋ 이런쪽은 너무 약하다. ㅋㅋ 천상남자라서 일까....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;마지막 사진은 가사정보를 텍스트파일로 저장한 것이다. 그래서 한 번 가사를 봤던 곡은 &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;다시 인터넷 접속 필요없이 로컬로 볼 수 있다. 적은 데이터도 아껴 사용하자?? 이런거?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;몰랐었는데 멜론 플레이어도 이런식으로 되어 있더라.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;dcf 파일은 모토로이 내부로 돌아가는 drm 서비스 때문에 재생은 가능하나 가사정보는 받아오지 못했다. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;결국은 mp3 파일만 가능하다는 결론.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;아무튼 허접한 안드로이드 프로젝트는 잠시 접어두어야........&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-8277333880220270749?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/8277333880220270749/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EA%B0%80%EC%82%AC%EC%A7%80%EC%9B%90-%EC%9D%8C%EC%95%85-%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8277333880220270749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8277333880220270749'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/07/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EA%B0%80%EC%82%AC%EC%A7%80%EC%9B%90-%EC%9D%8C%EC%95%85-%ED%94%8C%EB%A0%88%EC%9D%B4%EC%96%B4.html' title='안드로이드 가사지원 음악 플레이어'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-5495424548776038337</id><published>2010-06-19T17:20:00.000+09:00</published><updated>2011-01-29T22:24:55.842+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='백키'/><category scheme='http://www.blogger.com/atom/ns#' term='back key'/><title type='text'>Back Key Intercept</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;p&gt;기본적으로 안드로이드 에서는 Back Key 를 누르게 되면 Activity Destroy() 함수를 호출하게 된다.&lt;/p&gt;&lt;p&gt;그렇다면 Back Key 에 어떠한 기능을 넣고자 할 때에는 어떻게 해야 할 것인가?&lt;/p&gt;&lt;p&gt;소스에 다음의 코드를 삽입하면 된다.&lt;/p&gt;&lt;p&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XNnHt1x9bb.png" style="width:580px;height:172px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XNnHt1x9bb.png')" /&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;위의 if 코드에 원하는 코드를 삽입하면 Back Key 를 인터셉트하여 처리할 수 있다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-5495424548776038337?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/5495424548776038337/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/back-key-intercept.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5495424548776038337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5495424548776038337'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/back-key-intercept.html' title='Back Key Intercept'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-4067945382699310571</id><published>2010-06-19T03:47:00.000+09:00</published><updated>2011-01-29T22:24:55.806+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='xmlpullparser'/><category scheme='http://www.blogger.com/atom/ns#' term='파싱'/><title type='text'>안드로이드 XmlPullParser</title><content type='html'>&lt;p&gt;파서의 종류는 여러 개가 있다. 특히 자바에서 많이 쓰이는 DOM 파서와 SAX 파서가 그것인데&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;안드로이드 에서는 주로 많이 쓰이고 있는 파서가 XmlPullParser 이다. 사용법도 간단하다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;다음과 같은 방법으로 사용하면 된다&lt;/p&gt;&lt;p&gt;.&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XRXwkgHd8Y.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;프로젝트 진행용으로 만든 코드기 때문에 태그부분도 파싱해야 할 경우에는&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Case XmlPullParser.START_TAG 부분을 추가해서 코드를 짜면 된다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-4067945382699310571?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/4067945382699310571/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-xmlpullparser.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4067945382699310571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4067945382699310571'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-xmlpullparser.html' title='안드로이드 XmlPullParser'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-2702694286893393487</id><published>2010-06-19T03:26:00.000+09:00</published><updated>2011-01-29T22:24:55.767+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='투명'/><category scheme='http://www.blogger.com/atom/ns#' term='액티비티'/><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='setflag'/><title type='text'>액티비티를 투명하게</title><content type='html'>&lt;p&gt;프로그램을 디자인하다 보면 뒤에 배경을 투명하게 처리하고 싶을 때가 있다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;그럴 경우 onCreate 메소드에 다음과 같은 코드를 추가해주면 된다.&lt;/p&gt;&lt;p&gt;&lt;span style="color:black; font-family:Courier New; font-size:10pt"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="text-decoration:underline"&gt;&lt;strong&gt;				&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:637px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;strong&gt;&lt;span style="text-decoration:underline"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;getWindow&lt;/font&gt;&lt;/span&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;().setFlags(WindowManager.LayoutParams.&lt;/font&gt;&lt;em&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;FLAG_BLUR_BEHIND&lt;/font&gt;&lt;/em&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;, WindowManager.LayoutParams.&lt;/font&gt;&lt;em&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;FLAG_BLUR_BEHIND&lt;/font&gt;&lt;/em&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;);&lt;/font&gt;								&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;이렇게 추가해주면 다음과 같은 결과를 볼 수 있다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XYQSoZjn8J.png" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-2702694286893393487?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/2702694286893393487/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EC%95%A1%ED%8B%B0%EB%B9%84%ED%8B%B0%EB%A5%BC-%ED%88%AC%EB%AA%85%ED%95%98%EA%B2%8C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2702694286893393487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2702694286893393487'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EC%95%A1%ED%8B%B0%EB%B9%84%ED%8B%B0%EB%A5%BC-%ED%88%AC%EB%AA%85%ED%95%98%EA%B2%8C.html' title='액티비티를 투명하게'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-2605578113063395073</id><published>2010-06-19T03:17:00.000+09:00</published><updated>2011-01-29T22:24:55.735+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='클릭'/><category scheme='http://www.blogger.com/atom/ns#' term='리스트뷰'/><title type='text'>리스트뷰 활용</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XNF2CuCHxe.png" style="width:580px;height:117px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XNF2CuCHxe.png')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;리스트뷰 를 사용을 하게 되면 리스트뷰에 나와있는 리스트들을 클릭하면 어떤 반응을 할 지 정해야 한다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;그런 코드를 짜고자 할 때에는 위와 같이 OnListItemClick 메소드를 오버라이드 시켜주면 된다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-2605578113063395073?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/2605578113063395073/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EB%A6%AC%EC%8A%A4%ED%8A%B8%EB%B7%B0-%ED%99%9C%EC%9A%A9.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2605578113063395073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2605578113063395073'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EB%A6%AC%EC%8A%A4%ED%8A%B8%EB%B7%B0-%ED%99%9C%EC%9A%A9.html' title='리스트뷰 활용'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6443161724214883318</id><published>2010-06-19T00:44:00.000+09:00</published><updated>2011-01-29T22:24:55.695+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='알송'/><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><category scheme='http://www.blogger.com/atom/ns#' term='MD5'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='ID3'/><title type='text'>알송가사 서버?</title><content type='html'>&lt;p&gt;진행중인 프로젝트가 알송가사 서버를 사용해야 하기 때문에 어떻게 가사를 정확하게 받아와야 하는지 알아야만 했다.&lt;/p&gt;&lt;p&gt;&lt;a href="http://dialup.egloos.com/152001"&gt;그린세상님&lt;/a&gt;의 BLOG 에서 많은 정보를 얻어 올 수 있었다.&lt;/p&gt;&lt;p&gt;먼저 MP3파일의 구조부터 확인해보자.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XWekE2BAe8.jpg" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;MP3 파일의 기본적인 구조는 이러하며 ID3 TAG는 버전이 V1.0, V1.1, V2.0 3가지가 있다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XG6wnDyGgH.gif" /&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XZj0CQ3JQZ.gif" /&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XOR9hnTOWr.gif" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;가사 요청 PACKET 내용&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV='http://www.w3.org/2003/05/soap-envelope' xmlns:SOAP-ENC='http://www.w3.org/2003/05/soap-encoding' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:ns2='ALSongWebServer/Service1Soap' xmlns:ns1='ALSongWebServer' xmlns:ns3='ALSongWebServer/Service1Soap12'&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;SOAP-ENV:Body&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;ns1:GetLyric5&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;ns1:stQuery&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;ns1:strChecksum&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:red; font-family:Courier New; font-size:10pt; text-decoration:underline"&gt;&lt;strong&gt;MD5&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;/ns1:strChecksum&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;ns1:strVersion&amp;gt;1.93&amp;lt;/ns1:strVersion&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;ns1:strMACAddress&amp;gt;&amp;lt;/ns1:strMACAddress&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;ns1:strIPAddress&amp;gt;&amp;lt;/ns1:strIPAddress&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;/ns1:stQuery&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;/ns1:GetLyric5&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:#2a00ff"&gt;&amp;lt;/SOAP-ENV:Body&amp;gt;&lt;/span&gt;		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#2a00ff; font-family:Courier New; font-size:10pt"&gt;&amp;lt;/SOAP-ENV:Envelope&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;MD5 값에 들어갈 내용은 MP3파일에서 ID태그 부분을 제외한 순수 음악 데이터부터 163840 바이트를 읽어서 MD5 HASH 처리한 값이 들어가게 된다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6443161724214883318?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6443161724214883318/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EC%95%8C%EC%86%A1%EA%B0%80%EC%82%AC-%EC%84%9C%EB%B2%84.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6443161724214883318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6443161724214883318'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/06/%EC%95%8C%EC%86%A1%EA%B0%80%EC%82%AC-%EC%84%9C%EB%B2%84.html' title='알송가사 서버?'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-3177492273306070941</id><published>2010-04-11T05:49:00.000+09:00</published><updated>2011-01-29T22:24:55.669+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><title type='text'>안드로이드 Application Fundamentals part 3/3</title><content type='html'>&lt;p&gt;안드로이드의 각 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버)들은 자신들만의 LifeCycle, 즉 생애주기를 가지고 있다. &lt;/p&gt;&lt;p&gt;여기서는 각각의 생애주기들에 대해서 설명해보려고 한다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:22pt"&gt;&lt;strong&gt;1. Activity Lifecycle&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;액티비티의 상태&lt;/p&gt;&lt;ol style="margin-left: 38pt"&gt;&lt;li&gt;활성(Active)&lt;/li&gt;&lt;/ol&gt;&lt;ul style="margin-left: 56pt"&gt;&lt;li&gt;현재 화면에 액티비티가 표시되는 상태&lt;/li&gt;&lt;li&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XdKUpkmcM5.png" /&gt;		&lt;/li&gt;&lt;/ul&gt;&lt;ol style="margin-left: 38pt"&gt;&lt;li&gt;일시정지(Paused)&lt;/li&gt;&lt;/ol&gt;&lt;ul style="margin-left: 56pt"&gt;&lt;li&gt;&lt;div&gt;화면에서 액티비티가 보이지만 사용자와 상호작용 할 수 없는 상태, 즉 화면에는 보이지만&lt;/div&gt;&lt;p&gt;포커스가 없이 흐려진 상태를 말하기도 합니다. &lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XPYlUJiOVS.png" /&gt;			&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol style="margin-left: 38pt"&gt;&lt;li&gt;정지(Stopped)&lt;/li&gt;&lt;/ol&gt;&lt;ul style="margin-left: 56pt"&gt;&lt;li&gt;&lt;div&gt;다른 액티비티에 의해서 화면이 완전히 가려진 상태를 말합니다.&lt;/div&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XWbW38GTz5.png" /&gt;			&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;액티비티 상태변화에 따른 메소드 호출&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:24px"&gt;&lt;col style="width:24px"&gt;&lt;col style="width:112px"&gt;&lt;col style="width:112px"&gt;&lt;col style="width:76px"&gt;&lt;col style="width:130px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="height: 5px; background: #dee8f1"&gt;&lt;td colspan="3" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  solid #cccccc 0.75pt; border-left:  solid #cccccc 0.75pt; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;strong&gt;Method&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  solid #cccccc 0.75pt; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  solid #cccccc 0.75pt; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;strong&gt;Killable?&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  solid #cccccc 0.75pt; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;strong&gt;다음 호출자&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 5px"&gt;&lt;td colspan="3" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  solid #cccccc 0.75pt; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;a href="http://www.kandroid.org/reference/android/app/Activity.html"&gt;&lt;span style="color:#006699; font-family:Courier New"&gt;onCreate()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;액티비티가 생성될 시에 호출&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;No&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onStart()&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 40px"&gt;&lt;td rowspan="5" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&amp;nbsp;&lt;/td&gt;&lt;td colspan="2" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;a href="http://www.kandroid.org/reference/android/app/Activity.html"&gt;&lt;span style="color:#006699; font-family:Courier New"&gt;onRestart()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;액티비티가 정지하였다가 다시 시작하게 될 때 호출&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;No&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onStart()&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 5px"&gt;&lt;td colspan="2" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  solid #cccccc 0.75pt; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;a href="http://www.kandroid.org/reference/android/app/Activity.html"&gt;&lt;span style="color:#006699; font-family:Courier New"&gt;onStart()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;액티비티가 사용이 가능하게 되기전에 호출&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;No&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onResume()&lt;/span&gt;&amp;nbsp;&lt;br /&gt;or&lt;br /&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onStop()&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 5px"&gt;&lt;td rowspan="2" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&amp;nbsp;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;a href="http://www.kandroid.org/reference/android/app/Activity.html"&gt;&lt;span style="color:#006699; font-family:Courier New"&gt;onResume()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;액티비티가 사용자와 상호작용하기 전에 호출&lt;/p&gt;&lt;p&gt;유의할점은 액티비티 스택의 제일 위에 있어야 함.&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;No&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onPause()&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 5px"&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  solid #cccccc 0.75pt; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;a href="http://www.kandroid.org/reference/android/app/Activity.html"&gt;&lt;span style="color:#006699; font-family:Courier New"&gt;onPause()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;액티비티가 사용자와 상호작용을 중단할 때 호출&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:maroon"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onResume()&lt;/span&gt;&amp;nbsp;&lt;br /&gt;or&lt;br /&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onStop()&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 5px"&gt;&lt;td colspan="2" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  solid #cccccc 0.75pt; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;a href="http://www.kandroid.org/reference/android/app/Activity.html"&gt;&lt;span style="color:#006699; font-family:Courier New"&gt;onStop()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;액티비티가 완전히 화면에서 사라질 때 호출&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:maroon"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onRestart()&lt;/span&gt;&lt;br /&gt;or&lt;br /&gt;&lt;span style="color:#007000; font-family:Courier New; font-size:12pt"&gt;onDestroy()&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 36px"&gt;&lt;td colspan="3" style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  solid #cccccc 0.75pt; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;a href="http://www.kandroid.org/reference/android/app/Activity.html"&gt;&lt;span style="color:#006699; font-family:Courier New"&gt;onDestroy()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;액티비티가 완전종료될 때 호출&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;span style="color:maroon"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-top: 6px; padding-left: 12px; padding-bottom: 6px; padding-right: 12px; border-top:  none; border-left:  none; border-bottom:  solid #cccccc 0.75pt; border-right:  solid #cccccc 0.75pt"&gt;&lt;p&gt;&lt;em&gt;nothing&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;액티비티 생애주기 다이어그램&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XIFdqLWqym.png" /&gt;	&lt;/p&gt;&lt;p&gt;Saving Activity State&lt;/p&gt;&lt;p&gt;안드로이드는 메모리절약을 위해 액티비티를 강제 종료 시킬수 있다. 하지만 사용자는 그 액티비티의 이전 상태를 원할수도 있는데 &lt;br /&gt;강제종료되기 전의 상태를 보관하기 위해 onSaveInstanceState 메소드를 구현할 수 있다. 이 메소드는 onPause 메소드가 호출되기전에 호출한다.&lt;/p&gt;&lt;p&gt;Cordinating Activites&lt;/p&gt;&lt;p&gt;하나의 액티비티가 다른 액티비티를 호출할 때 이 2개 이상의 액티비티들은 생명주기를 경험하게 된다.&lt;/p&gt;&lt;ol style="margin-left: 38pt"&gt;&lt;li&gt;현 액티비티의 onPause() 호출&lt;/li&gt;&lt;li&gt;다음 액티비티의 onCreate() -&amp;gt; onStart() -&amp;gt; onResume() 호출&lt;/li&gt;&lt;li&gt;다음 액티비티가 멈추게 될경우 onStop() 호출후 이전 액티비티에서 onResume() 호출&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:22pt"&gt;&lt;strong&gt;2. Service  Lifecycle&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;서비스의 생명주기 메소드들은 액티비티 메소드들이 Protected 인데 반해 Public 이다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XdeavdleR1.png" /&gt;	&lt;/p&gt;&lt;p&gt;위의 오른쪽 그림과 같이 서비스가 다른것들에 의해 바인드 되어 지는 것을 허용한다면 onBind(), onUnbind(), onRebind() 메소드들이 호출된다.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:22pt"&gt;&lt;strong&gt;3. Broadcast Receiver Lifecycle&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;브로드캐스트 리시버는 하나의 콜백 메소드만을 가진다.&lt;/p&gt;&lt;ul style="margin-left: 56pt"&gt;&lt;li&gt;void onReceive(Context curContext, Intent broadcastMsg)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;리시버에 브로드캐스트 메시지가 도착하면 onReceive() 메소드가 호출해 메시지 포함하는 인텐트 오브젝트를 전다한다. &lt;br /&gt;브로드캐스트 리시버는 위 메소드가 실행하는 동안만 활성화가 이루어진다.&lt;br /&gt;활성화된 브로드캐스트 리시버를 가진 프로세스는 강제종료 되는 것으로부터 보호된다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:22pt"&gt;&lt;strong&gt;4. Processes and Lifecycle&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;안드로이드는 메모리 부족사태가 오면 오래된 프로세스를 죽일 수 밖에 없는데, 어떤 프로세스를 유지하고 어떤 프로세스를 죽일 것인지 결정하기 위해&lt;br /&gt;중요성 계층구조(importance hierarchy)를 이용한다. 이 중요성 계층구조를 통해서 어떤 것이 더 중요한지 결정을 내릴 수 있다. 중요성의 순서는 다음과 같다.&lt;/p&gt;&lt;ol style="margin-left: 38pt"&gt;&lt;li&gt;&lt;div&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;포어그라운드 프로세스는 사용자가 현재 수행하고 있는 것을 위해 요구되는 프로세스이다. 만약 하나의 프로세스가 아래와 같은 조건을 보유하고 있다면&lt;br /&gt;그것은 포어그라운드 프로세스로 간주된다.&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;프로세스가 사용자와 상호작용하는 액티비트를 실행하고 있다.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;프로세스가 사용자와 상호작용하고 있는 액티비티에 연결되어진 서비스를 포함하고 있다.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;프로세스가 생명주기 콜백메소드중 하나를 실행하고 있는 서비스 오브젝트를 가지고 있다.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;프로세스가 onReceive() 메소드를 실행하고 있는 브로드캐스트 리시버 오브젝트를 가지고 있다.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;비저블(visible) 프로세스는 어떤 포어그라우든 컴포넌트도 보유하지 않은 프로세스이다. 그러나 그것은 여전히 스크린 상에서 사용자가 보는 것에 영향을&lt;br /&gt;미칠 수 있다. 만약 아래와 같은 조건을 보유하고 있다면 이 프로세스는 비쥬얼한 것으로 간주된다.&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;프로세스가 포어그라운드가 아니지만 여전히 사용자에게 보이는 액티비트를 보유하고 있다.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;프로세스가 비저블 액티비티에 연결된 서비스를 포함하고 있다.&lt;span style="color:#333333"&gt;						&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:맑은 고딕; font-size:10pt"&gt;서비스 프로세스는 startService() 메소드를 사용해서 시작된 서비스를 실행하고 있으면서, 위의 2개의 카테고리에 속하지 않는 프로세스이다. 비록 서비스&lt;br /&gt;프로세스는 사용자가 보는 어떤 것과도 직접 결부되지는 않지만 그것들은 일반적으로 사용자가 신경쓰는 것들을 하고있다. 그래서 시스템은 모든 포어그라운드 &lt;br /&gt;프로세스와 비저블 프로세스를 계속 유지할 정도로 메모리가 충분치 않는 경우를 제외하고는 서비스 프로세스를 유지한다&lt;span style="color:#333333"&gt;				&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: '맑은 고딕'; font-size: 10pt; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;백그라운드프로세스는 현재 사용자의 눈에 보이지 않는 액티비티를 보유하고 있는 프로세스이다. 이들 프로세스는 직접적으로 사용자의 행위에 영향을 주지 않으며, 포어그라운드, 비저블, &lt;br /&gt;서비스 프로세스를 위한 메모리 재요청을 위해 언제든 강제 종료될 수 있다. 통상적으로 많은 백그라운드 프로세스가 존재하고 있으며, 그러므로 그것들은 가장 최근에 사용자에게 보여진 &lt;br /&gt;액티비티를 가진 프로세스가 가장 최후에 강제 종료될 수 있도록 하기 위한 LRU(Least Recently Used, 최근에 가장 적게 사용된) 목록으로 관리된다. 만약 액티비티가 정확한 생명주기 &lt;br /&gt;메쏘드들을 구현하고 있고 그것들의 현재 상태를 정확하게 포착하고 있다면, 그것이 속한 프로세스가 강제종료되는 것은 사용자에게 유해한 영향을 끼치지 않을 것이다.&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: '맑은 고딕'; font-size: 10pt; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;엠프티(empty) 프로세스는 어떤 형태의 활성화된 컴포넌트도 보유하고 있지 않는 프로세스이다. 이러한 프로세스를 유지하는 유일한 이유는, 그 안에서 다음 번에 실행되어야 하는 컴포넌트의 구동시간을 개선하기 위한 캐쉬cache로써의 역할 때문이다. 시스템은 프로세스 캐쉬와 하단에 놓여있는 커널 캐쉬 간의 시스템 전역에 걸친 리소스들에 대한 균형을 유지하기 위해 가끔 이런 프로세스를 강제 종료시킨다.&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-3177492273306070941?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/3177492273306070941/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-application-fundamentals-part-33.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3177492273306070941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3177492273306070941'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-application-fundamentals-part-33.html' title='안드로이드 Application Fundamentals part 3/3'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-3402753667677239388</id><published>2010-04-10T21:32:00.000+09:00</published><updated>2011-01-29T22:24:55.626+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><title type='text'>안드로이드 Application Fundamentals part 2/3</title><content type='html'>&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Activities and Tasks&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;하나의 액티비티는 또 다른 액티비티를 시작시킬 수 있다. 그렇게 시작시킬 수 있는 액티비티에는 다른 애플리케이션이 정의한 액티비티도 포함된다. 안드로이드에는 그 위치를 보여줄 수 있는 액티비티가 존재한다. 그러므로 여러분의 액티비티에 필요한 모든 것은, 인텐트 오브젝트에 필요한 정보들을 추가한 후 그것을 startActivity()의 파라미터로 전달하는 것이다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;맵 뷰어는 다른 애플리케이션 내에 정의되어 있고 다른 애플리케이션 프로세스 상에서 실행되고 있음에도 불구하고, 사용자에게 맵 뷰어는 여러분의 액티비티처럼 동일한 애플리케이션의 일부분처럼 비춰질 것이다. 안드로이드는 두 개의 액티비티를 같은 태스크내에 유지함으로써 이런 사용자 경험user experience을 유지시킨다. 그것은 하나의 스택 내에 정렬된 관련 액티비티들의 그룹이다. 일반적으로, 그것은 사용자가 애플리케이션 런처에서 선택했던 액티비티이다. 스택의 최상위 액티비티는 현재 실행중인 액티비티이다. 그것은 사용자 액션을 위해 포커스 된 액티비티이다. 하나의 액티비티가 다른 것을 시작할 때 새로운 액티비티는 스택에 푸쉬(push)되며, 실행중인 상태의 액티비티가 된다. 이전 액티비티는 여전히 스택에 남아있다. 사용자가 BACK 키를 누를 때 현재의 액티비티는 스택으로부터 팝(pop)되며, 이전의 액티비티는 실행중인 액티비티로 재개resume된다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;태스크 안에서 모든 액티비티는 하나의 단위로 함께 움직인다. 전체 태스크(전체 액티비티 스택)는 포어그라운드foreground로 가져와 질 수 있으며, 또한 백그라운드background로 보내질 수도 있다. 사용자가 HOME 키를 누르고 애플리케이션 런처로 간다. 그리고 새로운 애플리케이션(실제로 새로운 태스크)을 선택한다. 현재 태스크는 백그라운드로 가고, 새로운 태스크에 대한 루트 액티비티가 보여진다. 그런 다음 잠시 후, 사용자가 홈 스크린으로 돌아가서 이전 애플리케이션(이전 태스크)을 다시 선택한다. 스택에 모두 네개의 액티비티를 가지고 있는 그 태스크가 앞으로 온다. 그곳에서 사용자가 BACK 키를 누르면, 스크린에는 사용자가 조금 전에 떠났던 이전 태스크의 루트 액티비티가 보여지지는 않는다. 대신에 스택의 최상위의 액티비티가 제거되고 같은 태스크 내의 이전 액티비티가 보여진다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Affinities and new tasks&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;디폴트로 애플리케이션 내의 모든 액티비티는 서로에 대해 하나의 어피니티affinity를 갖는다. 즉, 동일 태스크에 속하는 그것들 모두에 대해 하나의 설정preference이 존재한다. 하지만 각각의 액티비티에 대한 개별적인 어피니티affinity가 &amp;lt;activity&amp;gt; 엘리먼트의 task Affinity 애트리뷰트를 통해 설정될 수 있다. 다른 애플리케이션들내에 정의된 액티비티들이 하나의 어피니티affinity를 공유할 수도 있으며, 또한 같은 애플리케이션 내에 정의된 액티비티들에게 다른 어피니티affinity가 지정될 수도 있다. 어피니티affinity는 두 가지의 조건하에서 동작하게 된다. 액티비티를 런치하는 인텐트 오브젝트가 FLAG_ ACTIVITY_ NEW_ TASK 플래그를 포함하고 있고, 그리고 액티비티에 allowTaskReparenting 애트리뷰트 값이 “true”로 설정되어 있을 때이다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Launch modes&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;네 개의 다른 런치 모드가 &amp;lt;activity&amp;gt; 엘리먼트의 launchMode 애트리뷰트에 지정될 수 있다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;"standard" (the default mode) &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;"singleTop" &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;"singleTask" &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;"singleInstance"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;어떤 태스크가 인텐트에 응답하는 액티비티를 보유할 것인가? “standard” 와 “singleTop” 모드에 대해서 인텐트 오브젝트가 FLAG_ACTIVITY_NEW_TASK 플래그를 가지지 않았다면, 그것은 인텐트를 만들었던(그리고 startActivity()를 호출했던) 액티비티가 있는 태스크이다. FLAG_ACTIVITY_NEW_TASK 플래그를 인텐트 오브젝트가 포함하고 있는 경우라면, 이전 섹션의 “어피니티와 신규 태스크”에서 설명된 것처럼 다른 태스크가 선택된다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;새로운 클래스 인스턴스가 새로운 인텐트를 처리하기 위해 런치될 것인가? 디폴트 “standard” 모드에 대해서는, 새로운 인스턴스가 모든 신규 인텐트에 응답하도록 생성된다. 각각의 인스턴스는 단지 하나의 인텐트를 처리한다. “singleTop” 모드에 대해서는, 만약 그것이 타겟target 태스크의 최상위 액티비티 스택에 존재한다면, 이미 존재하는 클래스 인스턴스가 신규 인텐트 처리를 위해 재사용된다. 만약 그것이 최상위에 존재하지 않다면 재사용되지 않는다. 대신 신규 인텐트를 위한 새 인스턴스가 생성되고, 스택에 푸쉬push된다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;그러나 D의 런치 모드가 “singleTop” 이라면, (그것이 스택의 최상위에 있기 때문에) 기존에 있는 인스턴스가 새로운 인텐트를 처리하게 될 것이고 스택은 A-B-C-D로 남는다. 반면 도착한 인텐트가 타입 B 액티비티에 대한 것이라면, B가 “standard”든 “singleTop”이든 상관없이 (B가 스택의 최상위에 없기 때문에) 새로운 B 인스턴스가 런치될 것이다. 그러므로 결과적으로 스택은 A-B-C-D-B가 될 것이다 &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;Clearing the stack&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;사용자가 오랫동안 하나의 태스크를 떠나 있다면, 시스템은 루트 액티비티를 제외한 모든 액티비티를 태스크에서 제거한다. 사용자가 다시 그 태스크로 돌아왔을 때, 오직 최초의 액티비티만이 존재한다는 것 이외에 그것은 사용자가 그것을 떠났을 때와 같다. 이 아이디어는, 어느정도 시간이 지난 후 사용자는 그들이 이전에 하던 것을 포기했을 것이라는 것이고 뭔가 새로운 것을 시작하기 위해 그 태스크로 돌아왔을 거라고 생각하는 것이다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;alwaysRetainTaskState 애트리뷰트&lt;/STRONG&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;만약 태스크의 루트 액티비티에 이 애트리뷰트가 “true”로 설정된다면, 앞서 언급된 디폴트 동작은 발생하지 않는다. 태스크는 긴 시간 지난 이후에도 스택 내의 모든 액티비티들을 유지한다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;clearTaskOnLaunch 애트리뷰트&lt;/STRONG&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;만약 태스크의 루트 액티비티에 이 애트리뷰트가 “true”로 설정된다면, 사용자가 태스크를 떠났다가 다시 돌아올 때마다, 스택은 루트 액티비티를 제외하고 모두 제거된다. 바꾸어 말하면 그것은 alwaysRetainTaskState와 정반대이다. 일시적으로 떠났다고 하더라도, 사용자는 항상 그것의 최초 상태로 태스크에 돌아오게 된다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;finishOnTaskLaunch 애트리뷰트&lt;/STRONG&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;이 애트리뷰트는 clearTaskOnLaunch와 비슷하다. 그러나 그것은 전체 태스크가 아닌, 하나의 액티비티에서 동작한다. 그리고 그것은 루트 액티비티를 포함한 모든 액티비티를 제거할 수 있다. 이것이 “true”로 설정되면, 액티비티는 현재 세션에 대한 태스크의 부분으로만 남게된다. 만약 사용자가 떠났다가 태스크에 돌아오면 그것은 더 이상 존재하지 않는다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;스택에서 액티비티가 제거되도록 하는 다른 방법이 있다. 만약 인텐트 오브젝트가 FLAG_ACTIVITY_CLEAR_TOP 플래그를 가지고 있고, 타겟target 태스크가 그것의 스택에 해당 인텐트를 처리해야 하는 타입의 액티비티 인스턴스를 이미 가지고 있다면, 그것이 스택의 최상위 존재해서 그 인텐트에 응답할 수 있도록 하기 위해 그 위의 모든 액티비티들은 제거된다. 만약 지정된 액티비티의 런치 모드가 “standard”라면, 그것 또한 스택에서 제거될 것이고, 새로운 인스턴스는 도착한 인텐트를 처리하기 위해 시작될 것이다. 왜냐하면 런치 모드가 “standard” 일 때 새로운 인스턴스는 새로운 인텐트를 위해 항상 생성되기 때문이다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Starting tasks&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;액티비티는 그것의 인텐트 필터에 액션을 “android.intent.action.MAIN”으로 지정하고 카테고리를 “android.intent.category.LAUNCHER”로 지정함으로써, 태스크에 대한 시작점으로 설정된다(이 필터 타입의 예제가 이전의 인텐트 필터 섹션에 있다). 이런 종류의 필터는 액티비티에 대한 아이콘과 라벨이 애플리케이션 런처에서 보여지도록 하며, 사용자에게 태스크를 런치하고 태스크가 런치된 이후 언제든 그 태스크로 다시 돌아갈 수 있는 두 가지 방법 모두를 제공한다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="FONT-FAMILY: 바탕"&gt;이 두 번째 능력은 중요하다. 사용자는 태스크를 떠날 수도 있어야 하고, 나중에 그것으로 돌아갈 수도 있어야 한다. 이런 이유로, 액티비티가 태스크를 항상 시작시키는 두 개의 런치 모드, 즉 “singleTask”와 “singleInstance”는 액티비티가 MAIN 과 LAUNCHER 필터를 가지고 있을 때만 사용되어야 한다. 예를 들어 만약 이 필터가 없다면 무슨 일이 발생할까? 상상해 보라. 인텐트는 새로운 태스크를 시작하는 “singleTask” 액티비티를 런치하고, 사용자는 그 태스크에서 일을 하면서 약간의 시간을 보낸다. 사용자는 그런 다음 HOME 키를 누른다. 태스크는 이제 뒤에 놓이고, 홈스크린에 의해 가려진다. 그리고 그것은 애플리케이션 런처에서 나타나지 않기 때문에, 사용자는 그곳에 다시 돌아갈 방법이 없게 된다. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN lang=EN-US style="mso-fareast-font-family: 바탕"&gt;FLAG_ACTIVITY_NEW_TASK 플래그에도 비슷한 어려움이 수반된다. 만약 이 플래그가 새로운 태스크를 시작하는 액티비티를 만들고, 사용자가 그곳을 떠나기 위해 HOME 키를 누른다면, 사용자가 그곳으로 다시 돌아갈 수 있는 몇 가지 방법이 있어야 한다. 노티피케이션Notification 매니저와 같은 어떤 엔티티entity들은, 결코 그것들의 소유 영역이 아닌, 외부 태스크에서 액티비티를 시작시킨다. 그러므로 그들은 startActivity()에 파라미터로 전달하는 인텐트에 항상 FLAG_ACTIVITY_NEW_TASK를 놓는다. 만약 여러분이 이 플래그를 사용할 수도 있는 외부 엔티티에 의해 호출될 수 있는 액티비티를 가지고 있다면, 사용자가 그것이 시작된 태스크로 다시 돌아갈 수 있는 독자적인 방법을 갖게 하도록 주의하라. &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;/P&gt;&lt;P class=1 style="MARGIN: 1em 0px; TEXT-INDENT: 5pt; mso-char-indent-count: .5"&gt;&lt;FONT face=굴림&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;참고 문서 : &lt;/FONT&gt;&lt;A href="http://developer.android.com/guide/topics/fundamentals.html"&gt;&lt;FONT size=2&gt;http://developer.android.com/guide/topics/fundamentals.html&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-3402753667677239388?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/3402753667677239388/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-application-fundamentals-part-23.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3402753667677239388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3402753667677239388'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-application-fundamentals-part-23.html' title='안드로이드 Application Fundamentals part 2/3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-751396738099786896</id><published>2010-04-10T15:23:00.000+09:00</published><updated>2011-01-29T22:24:55.571+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><title type='text'>안드로이드 Application Fundamentals part 1/3</title><content type='html'>&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; COLOR: #333333; FONT-SIZE: 18pt; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Arial" lang=EN-US&gt;&lt;FONT color=#9142eb&gt;Application Fundamentals&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; COLOR: #333333; FONT-SIZE: 9pt; mso-bidi-font-family: Arial" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;안드로이드&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;은&lt;SPAN lang=EN-US&gt; Java &lt;/SPAN&gt;프로그래밍 언어로 작성된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;컴파일된&lt;SPAN lang=EN-US&gt; Java &lt;/SPAN&gt;코드는&lt;SPAN lang=EN-US&gt; SDK&lt;/SPAN&gt;에 존재하는&lt;SPAN lang=EN-US&gt; aapt &lt;/SPAN&gt;유틸리티에 의해 안드로이드 패키지로 묶여지며&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;이렇게 하나로 압축된 아카이브&lt;SPAN lang=EN-US&gt;(archive) &lt;/SPAN&gt;파일에는&lt;SPAN lang=EN-US&gt; .apk &lt;/SPAN&gt;접미사가 부쳐진다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이 파일은 모바일 디바이스에 안드로이드&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;을 배포하고 설치하기 위한 수단이다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 0cm 0cm 0pt 20pt; mso-list: l2 level1 lfo1" class=MsoNoSpacing&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;기본적으로 모든&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;은 자신의 리눅스 프로세스 내에서 실행된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;안드로이드는 임의의&lt;SPAN lang=EN-US&gt;&amp;nbsp;application &lt;/SPAN&gt;코드가 실행될 필요가 있을 때 그 프로세스를 시작시키며&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;그것이 더 이상 필요치&lt;SPAN lang=EN-US&gt;&amp;nbsp; &lt;/SPAN&gt;않고 다른 &lt;SPAN lang=EN-US&gt;application&lt;/SPAN&gt;이 시스템 자원을 요구할 때 그 프로세스를 종료시킨다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 0cm 0cm 0pt 20pt; mso-list: l2 level1 lfo1" class=MsoNoSpacing&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;각각의 프로세스는 자기 자신의&lt;SPAN lang=EN-US&gt; Java &lt;/SPAN&gt;가상머신을 가진다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그러므로&lt;SPAN lang=EN-US&gt; application &lt;/SPAN&gt;코드는 다른 모든&lt;SPAN lang=EN-US&gt; application &lt;/SPAN&gt;코드와는 격리되어 실행된다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt 20pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 0cm 0cm 0pt 20pt; mso-list: l2 level1 lfo1" class=MsoNoSpacing&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;각각의&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;에는 고유한 리눅스&lt;SPAN lang=EN-US&gt; User ID&lt;/SPAN&gt;가 부여된다&lt;SPAN lang=EN-US&gt;. Application&lt;/SPAN&gt;을 구성하는 파일들은 해당 사용자와 해당&lt;SPAN lang=EN-US&gt; application &lt;/SPAN&gt;그 자신에게만 보여지도록 권한이 설정된다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;두개의&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;에 대해 동일한&lt;SPAN lang=EN-US&gt; User ID&lt;/SPAN&gt;를 공유할 수 있도록 배치하는 것이 가능하다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그런 경우에 두 개의&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;은 각자 다른&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;의 파일을 볼 수 있을 것이다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;시스템 자원을 절약하기 위해 동일한&lt;SPAN lang=EN-US&gt; ID&lt;/SPAN&gt;를 가지는&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;은 또한 동일한 리눅스 프로세스 안에서 실행되도록 배치되며&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;동일한 가상머신을 공유한다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; COLOR: #333333; FONT-SIZE: 18pt; mso-bidi-font-size: 9.0pt; mso-bidi-font-family: Arial" lang=EN-US&gt;&lt;FONT color=#ff944c&gt;Application Components&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;안드로이드의 가장 큰 특징으로는 한&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;에서 엘리먼트의 사용을 허가 할 경우 다른&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;에서의 사용이 가능하다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이런 작업을 위해서는 어떤&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;의 특정 영역이 필요할 때 시스템은&lt;SPAN lang=EN-US&gt; application &lt;/SPAN&gt;프로세스를 시작할 수 있어야 하고&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;그 영역에 대한&lt;SPAN lang=EN-US&gt; Java &lt;/SPAN&gt;오브젝트를 인스턴스화 할 수 있어야 한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그러므로 안드로이드&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;은 다른 대부분의 시스템에서의&lt;SPAN lang=EN-US&gt; application&lt;/SPAN&gt;와 달리 하나의 시작점을 가지지 않는다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;대신 시스템이 그것을 필요로 할 때 인스턴스화하고 실행할 수 있는 기본적인 컴포넌트들이 존재한다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; FONT-SIZE: 13pt" lang=EN-US&gt;&lt;FONT color=#bb80ff&gt;&lt;FONT size=2&gt;Activities&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;액티비티는 사용자가 착수할 수 있는 하나의 포커스 된 시도에 대한 비쥬얼 사용자 인터페이스를 나타낸다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;예를 들어 액티비티는 사용자들이 선택할 수 있는 메뉴 아이템 리스트를 나타내거나 사진과 함께 그것의 캡션을 나타낼 수도 있다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;하나의 application은 단지 한 개의 액티비티로 구성될 수도 있으며, 몇 개의 액티비티를 포함하고 있을 수도 있다.&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;각각의 액티비티에는 그리기&lt;SPAN lang=EN-US&gt;draw&lt;/SPAN&gt;가 가능한 하나의 디폴트 윈도우가 부여된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;하나의 액티비티는 또한 추가적인 윈도우&lt;SPAN lang=EN-US&gt;(&lt;/SPAN&gt;팝업&lt;SPAN lang=EN-US&gt; Dialog)&lt;/SPAN&gt;를 사용할 수 있다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;뷰 계층구조는&lt;SPAN lang=EN-US&gt; Activity.setContentView() &lt;/SPAN&gt;메소드에 의해 액티비티의 윈도우 내에 위치하게 된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그 컨텐트뷰는 그 계층구조의 최상위에 있는 뷰 오브젝트이다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; FONT-SIZE: 13pt" lang=EN-US&gt;&lt;FONT color=#bb80ff&gt;&lt;FONT size=2&gt;Services&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;서비스는 사용자에게 보여지는 인터페이스를 가지지 않는다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;하지만 오히려 정해지지 않은 시간동안 백그라운드에서 실행된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;예를 들어 서비스는 사용자가 다른 일에 주의를 기울이는 동안에 백그라운드 음악을 재생할 수 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;또한 그것은 네트워크 상에서 데이터를 가져오거나&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;또는 어떤 것을 계산해서 그 결과를 필요로 하는 액티비티에게 제공할 수도 있다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;&amp;nbsp;액티비티와 다른 컴포넌트처럼, 서비스도 application 프로세스의 메인 쓰레드 내에서 실행되므로 서비스가 다른 컴포넌트 또는 사용자 인터페이스에 의해 방해 받지 않도록 하기 위해서 음악 재생같이 시간을 요하는 작업들을 위해서는 종종&amp;nbsp; 또 다른 쓰레드를 만들어서 작동시킨다.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; COLOR: #333333; mso-bidi-font-family: Arial"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; FONT-SIZE: 13pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; FONT-SIZE: 13pt" lang=EN-US&gt;&lt;FONT color=#bb80ff&gt;&lt;FONT size=2&gt;Broadcast receivers&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;브로드캐스트 리시버는 아무 것도 하지 않는 컴포넌트지만&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;브로드캐스트 공지를 수신하고 응답한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;많은 브로드캐스트는 시스템 코드에서 발생된다&lt;SPAN lang=EN-US&gt;.(&lt;/SPAN&gt;시간대 변경&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;배터리 부족&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;사진 촬영&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;언어설정 변경 등에 대한&lt;SPAN lang=EN-US&gt; Message &lt;/SPAN&gt;등&lt;SPAN lang=EN-US&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;브로드캐스트 리시버는 사용자 인터페이스를 보여주지 않지만 그것이 수신한 정보에 응답하는 액티비티를 시작하거나&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;또는 사용자에게 알려주기 위해 노티피케이션 매니저를 사용할 수 있다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; FONT-SIZE: 13pt" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; FONT-SIZE: 13pt" lang=EN-US&gt;&lt;FONT color=#bb80ff&gt;&lt;FONT size=2&gt;Content providers&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;&amp;nbsp;컨텐트 프로바이더는 다른 애플리케이션에게 유용한 특정 애플리케이션의 데이터 집합을 만든다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그 데이터는 파일 시스템 내&lt;SPAN lang=EN-US&gt;, SQLite &lt;/SPAN&gt;데이터베이스 내&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;또는 의미있는 다른 어떤 방식으로 저장될 수도 있다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt; LAYOUT-GRID-MODE: char; WORD-BREAK: keep-all; mso-pagination: widow-orphan" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'; COLOR: #222222; FONT-SIZE: 14pt; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: Arial" lang=EN-US&gt;&lt;FONT color=#001ea1&gt;&lt;STRONG&gt;Activating components: intents&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;&amp;nbsp;컨텐트 프로바이더는 컨텐트 리졸버 요청의 대상이 될 때 활성화된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;하지만 다른 세 가지 컴포넌트&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;즉 액티비티&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;서비스&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;그리고 브로드캐스트 리시버는 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;라 불리는 비동기적인 메시지에 의해 활성화된다&lt;SPAN lang=EN-US&gt;. Intent&lt;/SPAN&gt;는 컨텐트 메시지를 보유하고 있는 &lt;SPAN lang=EN-US&gt;Intent &lt;/SPAN&gt;오브젝트다&lt;SPAN lang=EN-US&gt;. Intent&lt;/SPAN&gt;는 액티비티와 서비스에 대해서&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;그것에게 요청되는 액션을 가리키고 그 액션이 처리해야 하는 데이터의&lt;SPAN lang=EN-US&gt; URI&lt;/SPAN&gt;를 나머지 다른 것들과 함께 명시한다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'"&gt;&lt;FONT size=2&gt;각각의 컴포넌트 타입을 활성화하기 위한 별도의 메소드가 있다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 1em 0px 1em 20pt; mso-list: l0 level1 lfo3" class=1&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;l&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;액티비티는 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;오브젝트를&lt;SPAN lang=EN-US&gt; Context.startActivity() &lt;/SPAN&gt;또는&lt;SPAN lang=EN-US&gt; Activity.startActivityForResult()&lt;/SPAN&gt;에 파라미터로 전달함으로써 실행된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이것에 응답하는 액티비티는&lt;SPAN lang=EN-US&gt; getIntent() &lt;/SPAN&gt;메소드를 호출함으로써 그것을&lt;SPAN lang=EN-US&gt;&amp;nbsp; &lt;/SPAN&gt;실행하도록 한 초기 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;를 볼 수 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 1em 0px 1em 20pt; mso-list: l0 level1 lfo3" class=1&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=굴림&gt;하나의 액티비티는 흔히 그 다음번 액티비티를 시작시킨다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;만약 그것이 자신이 시작시킨 액티비티로부터 결과를 리턴받고자 한다면&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;그것은&lt;SPAN lang=EN-US&gt; start Activity() &lt;/SPAN&gt;대신에&lt;SPAN lang=EN-US&gt; startActivityForResult()&lt;/SPAN&gt;를 호출해야 한다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=1&gt;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=굴림&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 1em 0px 1em 20pt; mso-list: l0 level1 lfo3" class=1&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=굴림&gt;서비스는&lt;SPAN lang=EN-US&gt; Context.startService()&lt;/SPAN&gt;에 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;오브젝트를 파라미터로 전달함으로써 시작된다&lt;SPAN lang=EN-US&gt;.. &lt;/SPAN&gt;안드로이드는 서비스의&lt;SPAN lang=EN-US&gt; onStart() &lt;/SPAN&gt;메소드를 호출하고 그곳에 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;오브젝트를 전달한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=1&gt;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2 face=굴림&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 1em 0px 1em 20pt; mso-list: l0 level1 lfo3" class=1&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=굴림&gt;&lt;SPAN lang=EN-US&gt;application&lt;/SPAN&gt;은 &lt;SPAN lang=EN-US&gt;Context.sendBroadcast(), Context.sendOrderedBroadcast(), &lt;/SPAN&gt;그리고&lt;SPAN lang=EN-US&gt; Context.sendStickyBroadcast() &lt;/SPAN&gt;같이 다양하게 변형된 메소드에 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;오브젝트를 전달함으로써 브로드캐스트&lt;SPAN lang=EN-US&gt;broadcast&lt;/SPAN&gt;를 만들어낼 수 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT color=#001ea1 size=3 face=굴림&gt;&lt;STRONG&gt;Shutting down components&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: 5pt; MARGIN: 1em 0px; mso-char-indent-count: .5" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;&lt;SPAN style="mso-bidi-font-size: 9.0pt"&gt;컨텐트 프로바이더는 컨텐트 리졸버의 요청에 응답하는 동안에만 활성화되어 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그리고 브로드캐스트 리시버도 브로드캐스트 메시지에 응답하는 동안에만 활성화되어 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그러므로 이러한 컴포넌트는 명시적으로 종료시켜야 할 필요가 없다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-size: 9.0pt"&gt;반면&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;액티비티는 사용자 인터페이스를 제공한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이것은 사용자와 오랜시간 동안 대화를 하며 활성화 상태로 남아 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;심지어는 대화가 지속될 수 있는 한&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;그것이 사용되지 않는&lt;SPAN lang=EN-US&gt;idle &lt;/SPAN&gt;상태에도 활성화 상태로 남는다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 1em 0px 1em 20pt; mso-list: l1 level1 lfo2" class=1&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-font-kerning: 0pt" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=굴림&gt;&lt;SPAN style="mso-font-kerning: 0pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-font-kerning: 0pt"&gt;액티비티는&lt;SPAN lang=EN-US&gt; finish() &lt;/SPAN&gt;메소드의 호출을 통해 스스로 종료될 수 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그리고&lt;SPAN lang=EN-US&gt; finishActivity()&lt;/SPAN&gt;를 호출함으로써&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;다른 액티비티를 종료시킬 수도 있다&lt;SPAN lang=EN-US&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: -20pt; MARGIN: 1em 0px 1em 20pt; mso-list: l1 level1 lfo2" class=1&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-font-kerning: 0pt" lang=EN-US&gt;&lt;SPAN style="mso-list: Ignore"&gt;l&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=굴림&gt;&lt;SPAN style="mso-font-kerning: 0pt" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-font-kerning: 0pt"&gt;서비스는&lt;SPAN lang=EN-US&gt; stopSelf() &lt;/SPAN&gt;메소드의 호출이나&lt;SPAN lang=EN-US&gt; Context.stopService()&lt;/SPAN&gt;를 호출함으로써 종료될 수 있다&lt;SPAN lang=EN-US&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;&amp;nbsp;또한&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;컴포넌트는 그것이 더 이상 사용되지 않을 때&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;또는 안드로이드가 더 많은 활성화된 컴포넌트를 위해 메모리를 회수해야 할 때 시스템에 의해 종료될 수 있다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Perpetua', 'serif'; FONT-SIZE: 10pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: '맑은 고딕'; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: KO; mso-bidi-language: AR-SA" lang=EN-US&gt;&lt;BR style="PAGE-BREAK-BEFORE: always; mso-special-character: line-break" clear=all&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: '바탕', 'serif'" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;P style="MARGIN: 1em 0px" class=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT color=#001ea1 size=3 face=굴림&gt;&lt;STRONG&gt;The manifest file&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: 5pt; MARGIN: 1em 0px; mso-char-indent-count: .5" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;안드로이드는 애플리케이션의 컴포넌트를 시작하기 전에&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;컴포넌트의 존재를 인식해야 한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그러므로 애플리케이션은 매니페스트 파일에 그것들의 컴포넌트를 선언한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그리고 그 매니페스트 파일은 안드로이드 패키지&lt;SPAN lang=EN-US&gt;, .apk &lt;/SPAN&gt;파일 내에 포함된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이 패키지는 애플리케이션의 코드&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;파일&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;리소스 또한 보유하고 있다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;&amp;nbsp;그러나 매니페스트의 주요한 작업은 안드로이드에게 &lt;SPAN lang=EN-US&gt;application&lt;/SPAN&gt;의 컴포넌트를 알려주는 것이다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=1&gt;&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3 face=굴림&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="MARGIN: 1em 0px" class=2&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT color=#001ea1 size=3 face=굴림&gt;&lt;STRONG&gt;Intent filters&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: 5pt; MARGIN: 1em 0px; mso-char-indent-count: .5" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;&lt;SPAN lang=EN-US&gt;Intent &lt;/SPAN&gt;오브젝트는 그것의 대상이 되는 컴포넌트를 명시적으로 지정할 수 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;만약 그렇다면&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;안드로이드는&lt;SPAN lang=EN-US&gt; (&lt;/SPAN&gt;매니페스트 파일 내의 선언들에 기초해서&lt;SPAN lang=EN-US&gt;) &lt;/SPAN&gt;그 컴포넌트를 찾아 내고 그것을 활성화한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;하지만 타겟이 명시적으로 지정되지 않으면&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;안드로이드는 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;를 처리할 수 있는 최선의 컴포넌트를 찾아내야 한다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;이것은 해당 &lt;SPAN lang=EN-US&gt;Intent &lt;/SPAN&gt;오브젝트와 그 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;의 잠재적 대상이 될 수 있는 컴포넌트들의 &lt;SPAN lang=EN-US&gt;Intent &lt;/SPAN&gt;필터를 비교함으로써 이루어진다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;컴포넌트의 &lt;SPAN lang=EN-US&gt;Intent &lt;/SPAN&gt;필터는 안드로이드에게 해당 컴포넌트가 처리할 수 있는 &lt;SPAN lang=EN-US&gt;Intent&lt;/SPAN&gt;의 종류를 알려준다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;컴포넌트에 대한 다른 필수적인 정보들처럼&lt;SPAN lang=EN-US&gt;, Intent &lt;/SPAN&gt;필터도 매니페스트 파일 내에 선언된다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: 5pt; MARGIN: 1em 0px; mso-char-indent-count: .5" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;컴포넌트는 인텐트 필터를 얼마든지 가질 수 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;그리고 각각의 필터는 각기 다른 능력&lt;SPAN lang=EN-US&gt;capability&lt;/SPAN&gt;을 선언할 수 있다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;만약 컴포넌트가 어떤 필터도 가지지 않는다면&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;그것은 인텐트의 대상으로 컴포넌트를 명시적으로 지정하는 인텐트에 의해서만 활성화될 수 있다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: 5pt; MARGIN: 1em 0px; mso-char-indent-count: .5" class=1&gt;&lt;FONT face=굴림&gt;&lt;FONT size=2&gt;코드 내에서 생성되어 등록된 브로드캐스트 리시버에 있어서&lt;SPAN lang=EN-US&gt;, &lt;/SPAN&gt;인텐트 필터는&lt;SPAN lang=EN-US&gt; IntentFilter &lt;/SPAN&gt;오브젝트에 의해 직접적으로 인스턴스화 된다&lt;SPAN lang=EN-US&gt;. &lt;/SPAN&gt;나머지 모든 필터들은 매니페스트 내에서 설정된다&lt;SPAN lang=EN-US&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="TEXT-INDENT: 5pt; MARGIN: 1em 0px; mso-char-indent-count: .5" class=1&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="TEXT-INDENT: 5pt; MARGIN: 1em 0px; mso-char-indent-count: .5" class=1&gt;&lt;FONT face=굴림&gt;&lt;SPAN lang=EN-US&gt;&lt;FONT size=2&gt;참고 문서 : &lt;/FONT&gt;&lt;A href="http://developer.android.com/guide/topics/fundamentals.html"&gt;&lt;FONT size=2&gt;http://developer.android.com/guide/topics/fundamentals.html&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-751396738099786896?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/751396738099786896/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-application-fundamentals-part-13.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/751396738099786896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/751396738099786896'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-application-fundamentals-part-13.html' title='안드로이드 Application Fundamentals part 1/3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-8005173586682431392</id><published>2010-04-04T22:04:00.000+09:00</published><updated>2011-01-29T22:24:55.499+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><title type='text'>Symbian OS 설치하기</title><content type='html'>&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: xx-large;"&gt;&lt;b&gt;Symbian OS 설치하기&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Symbian OS를 지원하는 어플리케이션을 만들기 위해서는 당연히 개발환경이 구비되어 있어야 합니다. 이 페이지 에서는 Symbian 개발을 위해 쓰이는 언어중 C++를 선택해서 개발환경을 준비하는 것을 포스팅 해봅니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;먼저 설치를 위해 필요한 툴과 킷트 들을 다운로드 받아야 합니다.&lt;/p&gt;&lt;ol style="margin-left: 38pt"&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;&lt;a href="http://www.activestate.com/activeperl/downloads/"&gt;Perl&lt;/a&gt;			&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;&lt;a href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&amp;amp;cid=6&amp;amp;iid=22"&gt;ADT&lt;/a&gt;			&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;&lt;a href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&amp;amp;cid=7&amp;amp;iid=26"&gt;SDK&lt;/a&gt;			&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;먼저 Active Perl을 설치하도록 합니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XGJ84ZQbQr.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;별다른 설정값을 줄 필요없이 다음으로 넘어가시면 무난하게 설치가 됩니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;다음으로 ADT를 설치하시고&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XaYt2sTYnC.png" /&gt;	&lt;/p&gt;&lt;p&gt;후에 다운받은 SDK 압축파일을 압축을 풀어준후에 설치를 진행하시면 &lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XcCz5C39hf.png" /&gt;	&lt;/p&gt;&lt;p&gt;Symbian Os 어플리케이션을 개발하기 위한 준비는 끝나게 됩니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;C++기반으로한 Symbian OS 개발은 Carbide C++라는 툴을 통해서 개발을 하게 되는데 설치를 하셨다고해서 바탕화면에 바로가기가 생성이 안되니&lt;/p&gt;&lt;p&gt;시작-&amp;gt;모든프로그램-&amp;gt;Symbian Foundation ADT 1.4-&amp;gt;Carbide C++ 로 찾아가셔서 실행파일을 실행시키면 툴을 실행하실 수 있습니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XVojkrUCf2.png" /&gt;	&lt;/p&gt;&lt;p&gt;처음 실행을 하시게 되면 다음과 같이 workspace를 지정해줘야 하게 되는데 기본적으로 되어 있으니 바로 OK를 눌러주셔도 무방합니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XOTLaqXabn.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;실행을 하시면 다음과 같은 화면이 뜨면서 시간이 꽤 걸릴수도 있으니 차분히 기다리길 바랍니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xam04nHatW.png" /&gt;	&lt;/p&gt;&lt;p&gt;첫 화면은 어디선가 많이 본 것 같다고 생각하시는 분들이 많을 겁니다. JAVA 개발에 주로 많이 쓰이는 툴인 Eclipse와 상당히 유사한 외형을 가진 툴입니다. &lt;/p&gt;&lt;p&gt;오늘은 간단하게 HelloWorld를 찍어보는 어플을 제작해서 에뮬레이터로 실행을 해볼 것 입니다. 참고로 Symbian Emulator는 &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;먼저 File-&amp;gt;New-&amp;gt;Symbian OS C++ Project를 클릭해주시면 새로운 프로젝트를 생성하기 위한 다이얼로그가 화면에 나오게 됩니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XRIqxsQxSK.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;위의 화면에서 GUI Application with UI Designer를 선택하시고 Next를 눌러주시면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XFTfub1vgj.png" /&gt;	&lt;/p&gt;&lt;p&gt;위와 같은 화면이 나오면 Project name 란에 프로젝트 이름을 적어주시면 됩니다. HelloWorld라는 어플리케이션을 제작할 것이니 저는 HelloWorld라고 적고 진행해 나가겠습니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XM3wc8zx5a.png" /&gt;	&lt;/p&gt;&lt;p&gt;다음은 Symbian OS SDK를 정하는 화면입니다. 저희가 다운로드 받아서 설치한 것을 선택해서 진행할 수 있습니다. 나중에 다른 SDK로 개발하실 분들은 다른버전을 다운로드 받아서 설치하시고 개발해 나가시면 됩니다. 원하는 버전을 선택하고 Next를 눌러서 진행을 해줍니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XEa4bRzeCs.png" /&gt;	&lt;/p&gt;&lt;p&gt;다음은 어플리케이션 속성페이지 입니다. 별로 체크할부분은 없으니 Next로 넘어가주시면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XVrRUBVxe1.png" /&gt;	&lt;/p&gt;&lt;p&gt;다음은 UI 디자인을 선택하는 화면인데 간단하게 HelloWorld를 찍을 어플리케이션이므로 empty를 선택하시고 Next로 넘어가시면 됩니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XNZ9STSV2J.png" /&gt;	&lt;/p&gt;&lt;p&gt;Container의 타입과 이름을 설정하는 부분인데 기본값들이 이미 들어가져 있으므로 수정없이 넘어갈 수 있습니다. 그 밑의 support view switching에도 체크가 되어 있습니다. 저희가 지금 만들 HelloWorld는 하나의 View 만으로 구성되어 있지만 나중에 확장시키는데 편하게 하기 위해서 저 부분은 체크를 해주시는게 좋습니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XRy4QbT821.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;다음과 같이 프로젝트를 생성하게 되면 왼쪽의 프로젝트창에 저희가 설정해두었던 프로젝트가 나오게 되고 메인화면에는 컨테이너가 보이게 됩니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;자 프로젝트가 생성되었으니 빌드를 해보고 에뮬레이터를 실행시켜보도록 합니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Carbide C++에서 시계같이 생긴 아이콘 옆의 화살표 화면을 선택하셔서 원하는 SDK를 지정하시고 바로 옆에 있는 망치모양의 아이콘을 클릭을 해주시면 빌드 가 진행이 됩니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XCR3c33GxV.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;빌드가 완료가 되면 바로옆의 Play버튼처럼 생긴 아이콘을 클릭을 해주시면 실행마법사가 화면에 나오게 됩니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XcBteZwwPN.png" /&gt;	&lt;/p&gt;&lt;p&gt;에뮬레이터위에 바로 실행시킬 어플리케이션 여기서는 방금 만든 HelloWorld 프로젝트를 선택하시고 Finish를 눌러서 실행시키면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XOTGqGCk8W.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;먼저 위와 같은 화면이 뜨지 않고 먼저 에뮬레이터 설정하는 화면이 뜰 것입니다. 언어설정, 시간설정등과 같이 모든 설정이 끝나시면 위와 같은 화면을 만나실 수 있습니다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Symbian은 많은 사용자를 확보하고 있는 Nokia의 주력 OS입니다. 아직 한국에는 많이 정착하진 않았지만 그만큼 안정성도 높고 많은 사용자수를 확보하고 있으므로 그 활용성은 높다고 볼 수 있다고 생각됩니다. 이 블로그를 통해서 Symbian을 공부하시는 분들에게 어느정도 그 밑거름이 되었으면 하는바램입니다.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-8005173586682431392?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/8005173586682431392/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/symbian-os-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8005173586682431392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8005173586682431392'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/symbian-os-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0.html' title='Symbian OS 설치하기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1292533937357351554</id><published>2010-04-04T21:00:00.000+09:00</published><updated>2011-01-29T22:24:55.462+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><title type='text'>윈도우 모바일 개발환경 구축</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ff944c" size=5&gt;윈도우 모바일(Windows Mobile) 개발환경 구축&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;윈도우 모바일의 개발환경은 기본적으로 Visual Studio(2005 SP1 이상의 버전)에 SDK를 추가로 설치하여 구축할 수 있다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;설치하는 PC의 환경은 Windows7 운영체제와 Visual Studio 2008에 설치를 하였다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;대학생의 신분인 사람들은 Visual Studio를 간단한 인증을 통해 무료로 사용하는 방법이 있다.&lt;/P&gt;&lt;P&gt;드림스파크라는 마이크로소프트에서 대학생을 대상으로 Windows Server와 Visual Studio, SQL등 개발에 관련된 프로그램을 무료로 다운받아 설치할 수 있도록 하고 있다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;드림스파크 주소 : &lt;A href="https://www.dreamspark.com/Default.aspx"&gt;https://www.dreamspark.com/Default.aspx&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;윈도우 모바일을 설치할 때 Windows XP일 경우 ActiveSync 4.5를 반드시 설치해야 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Active Sync 4.5 설치 다운로드 : &lt;A href="http://www.microsoft.com/windowsmobile/ko-kr/downloads/microsoft/activesync-download.mspx"&gt;http://www.microsoft.com/windowsmobile/ko-kr/downloads/microsoft/activesync-download.mspx&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#ff944c size=4&gt;&lt;STRONG&gt;SDK 다운로드 주소&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#002fff&gt;&lt;STRONG&gt;Windows Mobile 6 Professional Edition SDK (윈도우 모바일 6버전)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#565656&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;TABLE id=multiFileList border=0 cellSpacing=0 cellPadding=3&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Windows Mobile 6 Professional SDK Refresh.msi&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;454.7 MB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#002fff&gt;&lt;STRONG&gt;Windows Mobile 6.5 Developer Tool Kit&amp;nbsp; (윈도우 모바일 6.5버전)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;&lt;TABLE id=multiFileList border=0 cellSpacing=0 cellPadding=3&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Windows Mobile 6.5 Professional Developer Tool Kit (USA).msi&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;225.0 MB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#ff944c&gt;&lt;FONT size=4&gt;&lt;STRONG&gt;한글 에뮬레이터 다운로드&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;FONT color=#002fff&gt;&lt;STRONG&gt;Windows Mobile 6 Emulator Localization Images (한글 에뮬레이터의 설치)&lt;br /&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=38c46aa8-1dd7-426f-a913-4f370a65a582&amp;amp;DisplayLang=en"&gt;&lt;FONT color=#565656&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=38c46aa8-1dd7-426f-a913-4f370a65a582&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;TABLE id=multiFileList border=0 cellSpacing=0 cellPadding=3&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0412/Windows Mobile 6 Professional Images (KOR).msi&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;206.9 MB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#9142eb size=4&gt;&lt;STRONG&gt;SDK 설치&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000 size=2&gt;간단하게 클릭 몇번을 통해 쉽게 설치가 가능하다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;div id="tt-gallery-37-0" class="tt-gallery-box" style="text-align: center; clear: both;"&gt;  &lt;script type="text/javascript"&gt;    //&lt;![CDATA[      var gallery37_0 = new TC$PRIV_TTGallery("tt-gallery-37-0");      gallery37_0.prevText = "이전 이미지 보기 버튼";       gallery37_0.nextText = "다음 이미지 보기 버튼";       gallery37_0.enlargeText = "원본 크기로 보기 버튼";       gallery37_0.altText = "갤러리 이미지"; gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XVPuQxnfrz.jpg", "", 383.66834170854, 300, "", "");gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XZNN5jEJJb.jpg", "", 383.66834170854, 300, "", "");gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XFye0nnG6M.jpg", "", 383.66834170854, 300, "", "");gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XTm51sAk5m.jpg", "", 392.13197969543, 300, "", "");gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XIFpKBEbj3.jpg", "", 383.66834170854, 300, "", "");gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XMBktRHeo3.jpg", "", 383.66834170854, 300, "", "");gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XPSz1cA1ff.jpg", "", 383.66834170854, 300, "", "");gallery37_0.appendImage("http://ss.textcube.com/blog/6/67465/attach/XThyERWkB7.jpg", "", 383.66834170854, 300, "", "");      gallery37_0.show();    //]]&gt;  &lt;/script&gt;  &lt;noscript&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XVPuQxnfrz.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XZNN5jEJJb.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XFye0nnG6M.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XTm51sAk5m.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XIFpKBEbj3.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XMBktRHeo3.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XPSz1cA1ff.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XThyERWkB7.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;  &lt;/noscript&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#9142eb size=4&gt;&lt;STRONG&gt;한글 에뮬레이터 설치&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#000000 size=2&gt;SDK와 거의 같은 방식으로 간단하게 설치가 된다.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;div id="tt-gallery-37-1" class="tt-gallery-box" style="text-align: center; clear: both;"&gt;  &lt;script type="text/javascript"&gt;    //&lt;![CDATA[      var gallery37_1 = new TC$PRIV_TTGallery("tt-gallery-37-1");      gallery37_1.prevText = "이전 이미지 보기 버튼";       gallery37_1.nextText = "다음 이미지 보기 버튼";       gallery37_1.enlargeText = "원본 크기로 보기 버튼";       gallery37_1.altText = "갤러리 이미지"; gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XWFeAo056s.jpg", "", 383.66834170854, 300, "", "");gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XLxHpTSI9a.jpg", "", 383.66834170854, 300, "", "");gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XedMjU0dOn.jpg", "", 383.66834170854, 300, "", "");gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XEFP8P2kp6.jpg", "", 391.37055837563, 300, "", "");gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XNFGCPG6tl.jpg", "", 383.66834170854, 300, "", "");gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XDwaC70uuJ.jpg", "", 383.66834170854, 300, "", "");gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XBovLxCBuQ.jpg", "", 383.66834170854, 300, "", "");gallery37_1.appendImage("http://ss.textcube.com/blog/6/67465/attach/XYn23iXOdu.jpg", "", 383.66834170854, 300, "", "");      gallery37_1.show();    //]]&gt;  &lt;/script&gt;  &lt;noscript&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XWFeAo056s.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XLxHpTSI9a.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XedMjU0dOn.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XEFP8P2kp6.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XNFGCPG6tl.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XDwaC70uuJ.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XBovLxCBuQ.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;  &lt;img src="http://ss.textcube.com/blog/6/67465/attach/XYn23iXOdu.jpg" alt="사용자 삽입 이미지" /&gt;&lt;/div&gt;  &lt;/noscript&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ff6600" color=#000000 size=5&gt;실행&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#9142eb size=4&gt;&lt;STRONG&gt;프로젝트 생성&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQPoKTjbKe.jpg" style="width:290px;height:195px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XQPoKTjbKe.jpg')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XaEt9LDWje.jpg" style="width:290px;height:195px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XaEt9LDWje.jpg')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;(그림은 클릭하시면 큰화면으로 보실 수 있습니다)&lt;/P&gt;&lt;P&gt;새 프로젝트 생성에 들어가면 Smart Device탭에서 프로젝트를 생성할 수 있다.&lt;/P&gt;&lt;P&gt;확인을 누르면 위 그림의 우측에 있는 화면이 보이는데 기본적으로 SDK 5.0 버전이 선택되어 있으므로 자신이 원하는 버전을 선택하여 프로젝트를 생성하면 된다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#9142eb size=4&gt;예제 프로그램&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;예제 프로그램으로 간단한 텍스트 출력과 시스템에서 배터리에 대한 정보를 받아와 프로그래스 바로 보여주는 프로그램을 만들어 보았다.&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XT64utHiA4.jpg" style="width:290px;height:343px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XT64utHiA4.jpg')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XZnxb1XFqV.jpg" style="width:284px;height:396px;" alt=""  /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;툴박스에서 Label을 선택하여 간단하게 마우스로 그려 넣을 수 있다.&lt;/P&gt;&lt;P&gt;그 다음 우측 하단 부분(오른쪽 그림)의 옵션 설정으로 쉽게 편집이 가능하다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XI7neGTknM.jpg" style="width:280px;height:264px;" alt=""  /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XVYn6uxy9R.jpg" style="width:276px;height:442px;" alt=""  /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;배터리 정보를 보여줄 ProgressBar를 같은 방식으로 그려 넣어준다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;배터리의 정보를 받아 오기 위해 References를 추가 한다.(Project - Add Reference..)&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Microsoft.WindowsMobile.Status&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Microsoft.WindowsMobile&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XX9Bt1nEfI.jpg" style="width:578px;height:383px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;다음으로 코드 부분에서 Using 선언문을 추가 해 준다.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;using Microsoft.WindowsMobile.Status;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;다음과 같이 소스 코드를 추가하여 준다.&lt;/P&gt;&lt;TABLE style="BORDER-COLLAPSE: collapse" cellSpacing=1 cellPadding=1 width=690 bgColor=#ffffff&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="BORDER-BOTTOM: #dadada 1px solid; BORDER-LEFT: #dadada 1px solid; BORDER-TOP: #dadada 1px solid; BORDER-RIGHT: #dadada 1px solid" width="100%"&gt;&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;STRONG&gt;&amp;nbsp; &lt;/STRONG&gt;&lt;!--StartFragment--&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;public partial class Form1 : Form&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; private SystemState battery;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; private void Form1_Load(object sender, EventArgs e)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; battery = new SystemState(SystemProperty.PowerBatteryStrength);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; battery.Changed += new ChangeEventHandler(batteryState_changed); &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;STRONG&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UpdateBatteryStrength(SystemState.PowerBatteryStrength);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;void batteryState_changed(object sender, ChangeEventArgs args)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; {&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UpdateBatteryStrength((BatteryLevel)args.NewValue);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; }&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;STRONG&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; void UpdateBatteryStrength(BatteryLevel Level)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; { &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;STRONG&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; switch (Level)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;{&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;case BatteryLevel.VeryHigh: &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pb1.Value = 100;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;break;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;case BatteryLevel.High:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pb1.Value = 75;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;break;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;case BatteryLevel.Medium:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pb1.Value = 50;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;break;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;case BatteryLevel.Low:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pb1.Value = 25;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;break;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;case BatteryLevel.VeryLow:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;pb1.Value = 0;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;break;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;}&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; }&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=바탕글&gt;&lt;SPAN style="mso-fareast-font-family: 바탕" lang=EN-US&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;&lt;br /&gt;&lt;P&gt;F5를 눌려 실행할 가상 장치를 선택하여 프로그램을 테스트 한다.&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XZWZQFhma8.jpg" style="width:290px;height:182px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XZWZQFhma8.jpg')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XC8tM8V3EW.jpg" style="width:290px;height:445px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XC8tM8V3EW.jpg')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;선택된 가상장치가 실행되고 작성한 프로그램을 자동으로 업데이트 시킨다.&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XcYv3zX0oG.jpg" style="width:290px;height:225px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XcYv3zX0oG.jpg')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XKrkN6hjTm.jpg" style="width:290px;height:450px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XKrkN6hjTm.jpg')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;에뮬레이터 창에서 File - Configure..로 들어가 Peripherals 탭에서 배터리의 양을 임의로 변경시킬 수 있다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;참고 블로그 : &lt;A href="http://devlog.hoyanet.pe.kr/11"&gt;http://devlog.hoyanet.pe.kr/11&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;A href="http://windowsmobile7.tistory.com/"&gt;http://windowsmobile7.tistory.com/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1292533937357351554?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1292533937357351554/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%9C%88%EB%8F%84%EC%9A%B0-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1292533937357351554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1292533937357351554'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/04/%EC%9C%88%EB%8F%84%EC%9A%B0-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95.html' title='윈도우 모바일 개발환경 구축'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6967109983598514326</id><published>2010-03-30T23:27:00.000+09:00</published><updated>2011-01-29T22:24:55.408+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><title type='text'>프로젝트 제안서(아이디어 회의)</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;&lt;SPAN class=Apple-style-span&gt;&lt;B&gt;&lt;FONT class=Apple-style-span color=#002fff size=7&gt;&lt;SPAN class=Apple-style-span&gt;Get Lyrics&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: x-large"&gt;&lt;FONT class=Apple-style-span color=#ff0000&gt;아이디어&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;안드로이드와 윈도우 &lt;SPAN class=Apple-style-span style="FONT-SIZE: small"&gt;모바일 &lt;/SPAN&gt;플랫폼(차후 플랫폼 수정가능성도 있음)을 기반으로 현재 듣고 있는 음악의 가사를 볼 수 있는 어플리케이션을 개발할 예정입니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;아이디어의 촛점은 길거리를 걷다가 음악을 들을때 순간적으로 가사를 보고싶다는 마음에서 착안하였습니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xf3L7YzvNF.jpg" style="width:580px;height:324px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/Xf3L7YzvNF.jpg')" /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: x-large"&gt;&lt;FONT class=Apple-style-span color=#ff0000&gt;같은 아이디어의 어플리케이션들&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: medium"&gt;Windows Mobile&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;티스토어에서의 검색을 통해 현재 Windows Mobile을 기반으로한 가사정보 어플리케이션은 없는 것으로 보입니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: medium"&gt;&lt;B&gt;Symbian OS&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;역시 아직까지 가사정보 어플리케이션은 없는 것으로 보여지고 있습니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: medium"&gt;&lt;B&gt;IPhone OS&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XJlDjFnX6P.bmp" style="width:193px;height:141px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XJlDjFnX6P.bmp')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XBtEyJiYSQ.bmp" style="width:193px;height:142px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XBtEyJiYSQ.bmp')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XYPbfrm5EZ.bmp" style="width:193px;height:288px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XYPbfrm5EZ.bmp')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;IPhone OS의 경우 현재 POP 위주로 지원을 하는 가사정보 어플리케이션이 존재하고 있습니다. IPhone OS의 특성상 멀티태스킹을 지원하지 않으므로 현재듣고있는 노래의 정보를 가져오는 일은 할 수 없습니다. 아쉬운 관계로 원하는 노래만 검색해서 듣는형식으로 구성되어 있습니다.&lt;/P&gt;&lt;P&gt;&lt;br /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: medium"&gt;&lt;B&gt;Android&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XJ6p5O066a.jpg" style="width:264px;height:471px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XJ6p5O066a.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock right" style="float: right; margin-left: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XAfQnozX26.jpg" style="width:272px;height:474px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XAfQnozX26.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XSh9Ncw519.jpg" style="width:262px;height:469px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XSh9Ncw519.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock right" style="float: right; margin-left: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XbMCrPkJ5B.jpg" style="width:255px;height:468px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XbMCrPkJ5B.jpg')" /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XFAHEKWb36.jpg" style="width:271px;height:472px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XFAHEKWb36.jpg')" /&gt;&lt;/div&gt;&lt;DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;DIV&gt;안드로이드의 경우는 국내에서 유료마켓이 오픈되지 않은상태라서 무료마켓만을 검색하였습니다. 무료마켓에서 가사정보에 대한 어플은 많이 있었습니다. 위의 어플은 Lyric Droid 라는 어플리케이션으로 위의 IPhone과 같이 직접적으로 가사를 검색하는 어플리케이션이었습니다. 음악을 들으면서 가사를 검색하는 어플리케이션도 있었지만 플랫폼의 차이때문인지 오류를 일으키며 강제종료되어 그 성능을 확인 할 수 없었습니다.&lt;/DIV&gt;&lt;DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: x-large"&gt;&lt;FONT class=Apple-style-span color=#ff0000&gt;기존 어플리케이션 수정방안&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;DIV&gt;1. 현재듣고 있는 음악의 가사정보를 현재창에 보여주도록 할 예정.&lt;/DIV&gt;&lt;DIV&gt;2. 다음에는 가사를 온라인 상태에서 다시한번 가져오지 않아도 되도록 mp3파일 자체에 가사를 직접 새겨넣도록 할 예정.&lt;/DIV&gt;&lt;DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;FONT class=Apple-style-span color=#ff0000&gt;&lt;SPAN class=Apple-style-span style="FONT-SIZE: x-large; LINE-HEIGHT: 34px"&gt;이점&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;1. 음악을 들으면서 가사를 볼 수 있으므로 좀 더 효율적.&lt;/P&gt;&lt;P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;2. 3G만 사용해야할 경우 데이터요금을 걱정해야 하는 수고도 덜 수 있을 것으로 예상됨.&lt;br /&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6967109983598514326?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6967109983598514326/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A0%9C%EC%95%88%EC%84%9C%EC%95%84%EC%9D%B4%EB%94%94%EC%96%B4-%ED%9A%8C%EC%9D%98.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6967109983598514326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6967109983598514326'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A0%9C%EC%95%88%EC%84%9C%EC%95%84%EC%9D%B4%EB%94%94%EC%96%B4-%ED%9A%8C%EC%9D%98.html' title='프로젝트 제안서(아이디어 회의)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-3907290117678396409</id><published>2010-03-22T11:23:00.000+09:00</published><updated>2011-01-29T22:24:55.085+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='설치'/><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>안드로이드 설치하기</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XXpuLM1NbC.jpg" style="width:205px;height:247px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XXpuLM1NbC.jpg')" /&gt;&lt;/div&gt;안드로이드를 공부하리라 결심하면서 가장 먼저 한 일은 역시 정보수집 이었습니다. 멀 알아야지 시작을 할테니까 ㅋㅋ&lt;br /&gt;&lt;br /&gt;현재 캐나다이기 때문에 서적은 구입할수 없었고(구할려고 하면 구할 수 있다. 다만 캐나다는 서적이 한국에 비해 비싸다) 도서관 홈페이지를 통해 검색해 보았으나 안드로관련 서적은 없는 상태 ㅠ.ㅠ&lt;br /&gt;&lt;br /&gt;여기저기 웹페이지, 블로그, 카페 등을 돌아다니면서 공부를 해야했습니다. ㅠ.ㅠ (여기서, 댓글은 못달았지만 많은 정보 주신 카페분들, 블로거분들에게 감사의 인사를 꾸벅 -_-)&lt;br /&gt;&lt;br /&gt;공부를 시작하면 역시 이론공부보다는 실전!! 이라고 생각하는 나이기에 ㅡ,ㅡ;;; 일단 개발환경 설치부터 들어갔습니다.&lt;br /&gt;&lt;br /&gt;안드로이드 개발환경을 구축하기 위해선 다음과 같은 과정이 필요!!&lt;br /&gt;&lt;br /&gt;&lt;ol style="list-style-type: decimal;"&gt;&lt;li&gt;이클립스 설치&lt;/li&gt;&lt;li&gt;JDK 설치&lt;/li&gt;&lt;li&gt;이클립스 플러그인 설치&lt;/li&gt;&lt;li&gt;안드로이드 SDK 설치&lt;/li&gt;&lt;li&gt;AVD 생성 (나중을 위해 Virtual SD CARD 도 생성)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;먼저 이클립스부터 설치해보도록 하죠.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xetb9TXvmY.jpg" style="width:504px;height:69px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/Xetb9TXvmY.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;안드로이드 개발은 자바를 기반으로 합니다. 그렇기에 자바용 개발툴을 그대로 사용할 수 있습니다. 개발시 유용한 기능 제공하는 플러그인을 지원하는 이클립스를 설치!!&lt;br /&gt;&lt;br /&gt;이클립스는 &lt;a target="_blank" href="http://www.eclipse.org"&gt;이클립스 홈페이지&lt;/a&gt;에서 다운가능합니다. 사이트를 들어가면 다운로드 항목에서 &lt;span class="packageTitle"&gt;Eclipse IDE for Java Developers&lt;/span&gt;를 다운받도록 하면 됩니다. 압축을 원하는 폴더에 해제하고 나면 이클립스 설치는 끝이납니다. &lt;br /&gt;&lt;br /&gt;개발툴이 있어도 컴파일을 할 수 없으면 말짱 도루묵!! 자바를 컴파일 하기 위해 JDK를 설치해보도록 하죠.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQ8dNNiyAe.jpg" style="width:95px;height:95px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XQ8dNNiyAe.jpg')" /&gt;&lt;/div&gt;JDK 역시 &lt;a title="[http://java.sun.com]로 이동합니다." href="http://java.sun.com/" target="_blank"&gt;Sun 홈페이지에서&lt;/a&gt; 다운로드 항목에서 Java SE로 들어가신 후 Java SE Development Kit (JDK)를 다운로드 하신 후에 설치를 해주시면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;다음으로 이클립스 플러그인인 ADT(Android Development Toolkit)를 설치하도록 합시다.&lt;br /&gt;&lt;br /&gt;이클립스 메뉴에서 Help 의 Install New Software를 선택하신 후, Add 를 선택하셔서 Location 에 http://dl-ssl.google.com/android/eclipse 를 Add 합니다.&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/MYHOME/LOCALS%7E1/Temp/moz-screenshot-2.png" alt=""&gt;&lt;img src="file:///C:/DOCUME%7E1/MYHOME/LOCALS%7E1/Temp/moz-screenshot-3.png" alt=""&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XY3RihSH91.jpg" style="width:550px;height:468px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XY3RihSH91.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;Developer Tools 를 펼치면 DDMS 와 ADT가 있습니다 체크하신후 Next&lt;br /&gt;이 이후부터는 Next 와 Finish 클릭만으로 설치하시면 됩니다. (뭔가 대충 ㅡ,ㅡ;;;)&lt;br /&gt;설치하신후에 이클립스를 다시 시작한다고 하니 갑자기 꺼진다고 놀라지 마세요.&lt;br /&gt;간혹 영어라서 읽어보지 않고 호들갑 떠시면 곤란합니다 ㅋ&lt;br /&gt;&lt;br /&gt;이제는 SDK를 다운받고 그 경로를 지정해주고 업데이트를 해보도록 하죠&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Android SDK 다운&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;다운을 받으신 후에 원하는 곳에 압축을 풀어주시면 됩니다. 저 같은 경우는 C:\Program Files\ 에 설치를 해두었습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;SDK 경로 지정은 이클립스 메뉴의 Window의 Preferences로 들어가셔서 보시면 왼쪽 메뉴에 Android를 클릭합니다. SDK 로케이션에 SDK가 설치된 경로를 지정해주시면 됩니다. 아래의 그림을 참고해주세요.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XYjmOXCRgC.jpg" style="width:550px;height:462px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XYjmOXCRgC.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;다음으로 SDK 를 업데이트 하기 위해 SDK and AVD Manager를 열어보도록 합시다. 이클립스의 툴바에 보시면 아래그림과 같은 핸드폰모양의 아이콘을 클릭하시면 됩니다.&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XJbSa5w8Gs.jpg" style="width:550px;height:404px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XJbSa5w8Gs.jpg')" /&gt;&lt;/div&gt; Manager 의 왼쪽에서 Available Packages를 선택하시면 업데이트 가능한 목록이 나옵니다. 체크를 하신후에 Install Selected를 클릭하셔서 진행하시면 됩니다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XGkgabgCpc.jpg" style="width:550px;height:352px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XGkgabgCpc.jpg')" /&gt;&lt;/div&gt;설치하기 까지 다소 시간이 걸릴 수 있으니 느긋하게 기다려주세요 ㅎㅎ&lt;br /&gt;&lt;br /&gt;이제 마지막으로 AVD 와 Virtual SD Card 를 생성해보도록 하죠.&lt;br /&gt;&lt;br /&gt;다시 한번 SDK and AVD Manager 를 열도록 합니다. 이번에는 Virtual Devices 항목을 선택해서 새롭게 생성하기 위해 New를 클릭!!&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XZz7dE13cv.jpg" style="width:399px;height:554px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XZz7dE13cv.jpg')" /&gt;&lt;/div&gt;Name 에는 AVD의 이름을 Target 에는 사용할 SDK의 버전을 선택하시면 됩니다.&lt;br /&gt;요즘에는 SD Card 생성을 커맨드 명령으로 내렸는데 이제는 이렇게 이클립스에서 바로 생성이 가능합니다. 원하는 사이즈의 용량을 적으시면 됩니다.&lt;br /&gt;&lt;br /&gt;Hardware 부분에는 AVD의 특성을 넣어줄 수 있습니다. SD Card 지원여부도 New 를 선택해서 지원해주시면 됩니다.&lt;br /&gt;&lt;br /&gt;모든 설정이 끝나면 Create AVD를 클릭하셔서 마무리 하시면 됩니다.&lt;br /&gt;&lt;br /&gt;여기까지가 기본적인 안드로이드 개발환경 설정하는 방법입니다.&lt;br /&gt;첫 포스팅이라서 그렇게 좋은 자료가 되지 못 할 수도 있겠지요? ㅎㅎ&lt;br /&gt;&lt;br /&gt;그래도 찾아오시는 분들이 이자료를 통해서 쉽게쉽게 배워가셨으면 합니다. 이제 실질적인 코딩에 들어가보아야죠 ㅎㅎㅎ&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-3907290117678396409?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/3907290117678396409/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3907290117678396409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3907290117678396409'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0.html' title='안드로이드 설치하기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1062249995377042231</id><published>2010-03-18T00:58:00.000+09:00</published><updated>2011-01-29T22:24:55.055+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Report'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='블랙베리'/><category scheme='http://www.blogger.com/atom/ns#' term='윈도우 모바일'/><category scheme='http://www.blogger.com/atom/ns#' term='아이폰'/><category scheme='http://www.blogger.com/atom/ns#' term='심비안'/><title type='text'>Mobile OS(심비안, 블랙베리, 안드로이드, 윈도우 모바일, 아이폰) 간단요약</title><content type='html'>&lt;p&gt;&lt;span style="font-size:20pt; text-decoration:underline"&gt;&lt;strong&gt;심비안OS&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xb8FwAmMH5.jpg" /&gt;	&lt;/p&gt;&lt;p&gt;2008년에 심비안 Software Ltd 가 노키아 로 합병이 되고 새로운 독립적인 무이익 단체인 심비안 Foundation 이 설립됐다.&lt;/p&gt;&lt;p&gt;2009년 4월 심비안 플랫폼은 심비안OS에 성공자로 지정되었다.&lt;/p&gt;&lt;p&gt;그리고 2010년 2월, 심비안 플랫폼은 공식적으로 오픈소스코드가 가능하게 만들어졌다.&lt;/p&gt;&lt;p&gt;판매된 스마트폰 46.9% 가 심비안OS를 사용하고 있으며 이 기기들은 심비안OS를 세계에서 가장 유명한 모바일OS로 만들어냈다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;심비안은 다음과 같은 3가지의 원칙과 함께 만들어졌다.&lt;/p&gt;&lt;ol style="margin-left: 38pt"&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;진실성과 사용자 데이터의 보완성은 다른 무엇보다 중요하다.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;사용자의 시간은 낭비되어져서는 안된다.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;모든 자원들은 부족하다.(자원을 아껴 쓴다는 의미)&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;2010년 2월의 통계에 따르면 2009년 스마트폰 시장에서 47.2%를 차지, RIM 은 20.8%, 애플 15.1%, 마이크로소프트 8.8%, 구글 안드로이드 4.7% 로 선두주자를 달리고 있다.&lt;/p&gt;&lt;p&gt;또한 세계 스마트폰의 주가가 2008년 52.4%에서 2009년 47.2% 로 떨어진 반면 심비안의 기기들은 7천4백9십만대에서 7천8백5십만대의 판매고를 올리며 4.8% 성장하였다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;심비안OS의 구조는 다음과 같은 계층들을 포함하고 있다.&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XdLsVXnalU.png" /&gt;	&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;사용자는 Base Services 계층까지만 접근이 가능하다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:20pt; text-decoration:underline"&gt;&lt;strong&gt;블랙베리OS&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XNJjXXDHt6.gif" /&gt;	&lt;/p&gt;&lt;p&gt;블랙베리OS는 RIM(Research In Motion)에서 만들어진 휴대용 블랙베리의 소프트웨어 플랫폼이다.&lt;/p&gt;&lt;p&gt;멀티태스킹을 제공하며 트랙볼, 트랙패드, 터치스크린과 같은 특화된 입력장치를 사용할 수 있다.&lt;/p&gt;&lt;p&gt;현재 OS4는 MIDP 2.0의 부분을 제공하고 완벽한 무선활성화와 Microsoft Exchange Server의 이메일, 달력, 작업, 메모 그리고 전화부와의 동기화를 허용한다.&lt;/p&gt;&lt;p&gt;블랙베리OS의 업데이트는 블랙베리 OTASL서비스에 의해 가능하다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;서드파티 개발자들은 블랙베리 API를 사용해서 소프트웨어를 만들 수 있다. 하지만 제한된 기능을 사용하고있는 어플리케이션들은 전자인증을 받아야만 한다. 이러한 인증절차는 어플리케이션의 저작권을 보장하지만 코드의 보안성과 질은 보장하지 않는다.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕; font-size:20pt; text-decoration:underline"&gt;&lt;strong&gt;안드로이드 &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQfXqhyoOe.png" /&gt;&lt;span style="font-family:맑은 고딕; font-size:20pt"&gt;&lt;strong&gt;			&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;안드로이드(Android)는 휴대전화기를 비롯, 모바일 디바이스를 위한 운영체제와 미들웨어 그리고 핵심 어플리케이션을 포함하고 있는 소프트웨어 스택이다. 안드로이드는 개발자들이 자바(Java) 언어로 어플리케이션을 작성 할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;2005년 안드로이드 사를 구글에서 인수한 후 2007년 11월, 안드로이드 플랫폼을 휴대전화용 OS로서 무료 공개한다고 발표한 후 48개의 하드웨어, 소프트웨어, 통신 회사가 모여 만든 OHA(Open Handset Alliance)에서 공개 표준을 위해 개발하고 있다. 구글은 안드로이드의 모든 소스 코드를 오픈 소스 라이센스인 아파치 라이센스로 배포하고 있다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;strong&gt;&lt;font class="Apple-style-span" color="#999999"&gt;Open Handset Alliance&lt;/font&gt;&lt;/strong&gt;&lt;font class="Apple-style-span" color="#999999"&gt;		&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;2007년 11월 5일, 텍사스 인스트루먼트, 브로드컴 코퍼레이션, 구글, HTC, 인텔, LG, 마벨 테크놀로지 그룹, 모토로라, 엔비디아, 퀄컴, 삼성전자, 스프린트 넥스텔, T - 모바일 의 몇몇 회사로 구성된 컨소시엄인 오픈 핸드셋 얼라이언스(OHA)가 모바일 기기의 공개 표준을 개발하는 것을 목표로 결성되었다. 또한 OHA는 리눅스 커널 2.6에서 빌드된 그들의 첫번째 모바일 기기 플랫폼 결과물인 안드로이드를 발표하였다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;2008년 12월, ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc.을 포함한 14개의 새로운 멤버가 안드로이드 프로젝트에 참여하였음을 발표하였다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font class="Apple-style-span" color="#999999"&gt; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;구성 및 특징&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:76px"&gt;&lt;col style="width:483px"&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr style="height: 38px; background: #d3dfee"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid #7ba0cd 1.0pt; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;핸드셋 &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: center"&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;레이아웃&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid #7ba0cd 1.0pt; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;플랫폼은 VGA, 2D 그래픽스 라이브러리, OpenGL ES 1.0에 기반을 둔 3D 그래픽스 라이브러리를 확장하기에 적응적이다. &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 17px; background: #a7bfde"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;저장소&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;데이터 저장 목적의 SQLite 데이터베이스 소프트웨어가 사용됨 &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 38px; background: #d3dfee"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;통신&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;안드로이드는 GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi를 포함하는 커넥션 기술을 지원한다. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 17px; background: #a7bfde"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;메시징&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;SMS와 MMS가 가능. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 38px; background: #d3dfee"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;웹 &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: center"&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;브라우저&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;오픈 소스인 WebKit application framework 기반의 브라우저 지원. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 60px; background: #a7bfde"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;자바 지원&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;자바로 작성된 소프트웨어는 달빅 가상 머신에서 실행 가능한 코드로 컴파일 된다. 달빅 가상 머신은 표준 자바 가상 머신은 아니지만 모바일 기기를 위해 설계된 가상 머신이다. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 81px; background: #d3dfee"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;미디어 &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: center"&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;지원&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;안드로이드는 다음의 오디오/비디오/이미지 포맷을 지원한다: H.263, H.264 (3GP 또는 MP4 컨테이너), MPEG-4 SP, AMR, AMR-WB (3GP container), AAC, HE-AAC (MP4 또는 3GP container), MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG, GIF, BMP. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 60px; background: #a7bfde"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;추가 하드웨어 지원&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;안드로이드는 카메라, 터치스크린, GPS, 가속도센서, 나침반센서,트렉볼 2D 그래픽 가속, 3D 그래픽 가속을 활용할 수 있다. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 38px; background: #d3dfee"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;개발 환경&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;기기 에뮬레이터, 디버깅 도구, 메모리와 성능 프로파일링을 포함하는 Eclipse IDE 플러그인. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 81px; background: #a7bfde"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;마켓&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;iPhone OS의 App Store와 유사한 안드로이드 마켓은 PC 사용 없이 무선으로 대상 하드웨어로 다운로드 와 설치가 가능한 응용프로그램 목록을 제공. 원래 프리웨어만 지원 되었으나 2009년 2월 19일 부터 유료 애플리케이션도 제공되었다. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 124px; background: #d3dfee"&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid #7ba0cd 1.0pt; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;&lt;strong&gt;멀티&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid #7ba0cd 1.0pt; border-right:  solid #7ba0cd 1.0pt"&gt;&lt;p&gt;&lt;span style="color:black; font-family:맑은 고딕"&gt;터치 안드로이드는 멀티 터치를 네이티브로 지원하지만 (애플의 터치스크린 기술 특허 침해를 피하기 위해) 커널 수준에서 비활성화 되었다. 멀티 터치를 가능하게 하는 비공식 변형이 개발되었지만 장치에 접근하기 위해 슈퍼유저가 요구된다. 미국 이외의 국가의 안드로이드 기기들은 멀티터치가 가능하다(애플 사의 멀티터치 특허권이 미국에 한정되기 떄문. 대표적인 예로써 Droid의 유렵향 버젼인 Milestone 은 핀치 줌 이 가능함) &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:20pt; text-decoration:underline"&gt;&lt;strong&gt;윈도우 모바일&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xf01NySosn.jpg" /&gt;&lt;span style="font-size:20pt"&gt;&lt;strong&gt;			&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;윈도우 모바일(Windows Mobile, WM)은 PDA 및 스마트폰에 사용하는 마이크로소프트사에서 개발된 운영 체제이다. 이전에는 포켓 PC라고 불렸다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;최근 버전으로는 'Windows Mobile 6.5' 라고 불리며 이것은 Windows CE 5.2 커널 기반으로 특징으로는 Windows API를 사용하여 개발된 프로그램들의 집합체이다. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;제3자가 Windows Mobile을 위한 소프트웨어를 개발할 수 있고 Mobile을 위한 Windows Marketplace에서 구매할 수 있다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;2010년 2월 15일 바르셀로나의 Mobile World 의회에서 Microsoft사는 완전히 새로운 휴대폰 플랫폼인 Windows Phone 7 Series를 발표하였다. 따라서 Windows Mobile 6.x을 사용한 장비를 버전 7로 업그레이드 할 수 없다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;Windows Mobile의 스마트폰 시장의 비중은 매년 하락하는 추세이다. 2009년 3분기에는 20%가 감소하였다. 이것은 세계 스마트폰 시장의 7.9%를 차지하는 4번째로 대중적인 스마트폰 운영체제이다. 미국에서는 Windows Mobile이 3번째로 대중적인 스마트폰의 업무용 운영체제로 이는 enterprise users의 24%를 차지한다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;font class="Apple-style-span" color="#999999"&gt; &lt;/font&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;공통된 특징&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;Pocket PC를 위한 Windows Mobile의 버전 대부분의 이러한 표준 기능을 수행 : &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- Today화면에 현재 날짜, 소유자 정보, 일정, e-mail, 메시지, 작업등을 보여준다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- 작업 표시줄에 현재 시간과 볼륨을 보여준다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- 오피스 모바일은 마이크로소프트 오피스 프로그램의 모바일 버전이다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;아웃룩 모바일은 Windows Mobile과 함께 제공된다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- Internet Explorer Mobile은 마이크로소프트사가 Pocket PC와 Handheld PC를 위해 개발된 인터넷 브라우저로 Windows Mobile과 Windows CE에서 기본적으로 읽어 온다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- Windows Mobile을 위한 Windows Media player.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- PPTP VPNs를 위한 클라이언트&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- Internet Connection Sharing(ICS)는 휴대전화의 USB나 Bluetooth를 통해 컴퓨터의 인터넷 연결을 공유하기 위한 것이다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- 일관된 파일 시스템은 Windows 9x/Windows NT와 유사하고 많은 같은 파일 형식을 지원합니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify"&gt;&lt;span style="font-family: '맑은 고딕'; "&gt;&lt;font class="Apple-style-span" color="#999999"&gt;- 멀티태스킹 능력&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕; font-size:20pt; text-decoration:underline"&gt;&lt;strong&gt;아이폰 OS&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XIn4SvnqhK.jpg" /&gt;&lt;span style="font-family:맑은 고딕; font-size:20pt; text-decoration:underline"&gt;&lt;strong&gt;			&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;애플의 스마트폰인 아이폰과 디지털 미디어 재생기기인 아이팟 터치에 내장되어 있는 운영체제이다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;Mac OS X 10.5를 기반으로 만들어져 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;아이폰 OS는 네 개의 추상화 계층을 가지고 있다. 코어 OS 계층, 코어 서비스 계층, 미디어 계층, 코코아 터치 계층이라는 네 개의 계층을 가지고 있다. 아이폰 OS는 플래시 메모리에 실릴 수 있으며 대략 반 기가바이트이하의 플래시 메모리 용량을 차지한다. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;처음 공개되었을 당시에는 사용자가 개발한 애플리케이션의 추가가 허용되지 않았었으나, 2008년 6월 이래 아이폰 OS 상에서 소프트웨어를 개발할 수 있는 도구인 SDK가 공개되어, 2.0 버전부터는 애플의 App Store를 통해 자유롭게 사용자 애플리케이션을 공개/판매하는 것이 가능해졌다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;유저 인터페이스  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;아이폰 OS의 사용자 인터페이스는멀티 터치 제스처에 의한 직접 조작 개념에 기반하고 있다. 인터페이스 콘트롤들은 슬라이더, 스위치, 버튼 등의 요소로 구성된다. 사용자 입력에 대한 반응은 멀티 터치 제스처를 응용한 다이렉트 매니퓰레이션 개념에 기반하고 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;홈 스크린의 이름은 스프링보드이다. 스프링보드는 응용 소프트웨어 아이콘들을 나열하여 보여주고 있으며, 또한 사용자가 가장 많이 접근하는 응용 소프트웨어 아이콘들을 나열하는 독을 화면 아래쪽에 보여주고 있다. 화면에는 또한 스테이터스 바가 상단에 보여진다. 스테이터스 바는 시간, 배터리 레벨, 신호 세기 등을 디스플레이한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;아이폰SDK  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;2007년 10월 17일 마침내 애플은 소프트웨어 개발 키트 발표 계획을 공개했다. 스티브 잡스는 "핫 뉴스" 블로그에서 공개 서한을 통해 2008년 2월SDK를 배포할 것이라고 밝혔다. SDK는 2008년 3월 6일 배포되었다. 개발자들은 이 SDK를 활용해 아이폰이나 아이팟 터치 응용 소프트웨어를 개발할 수 있게 되었다. 개발된 소프트웨어는 "아이폰 시뮬레이터" 내에서 테스트할 수 있게 되었다. 하지만 기기에 실제로 응용 소프트웨어를 올리기 위해서는 아이폰 개발자 프로그램 등록비를 내야 했다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;라이선싱&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;SDK 자체는 누구나 자유롭게 다운로드 받을 수 있다. 하지만 개발된 응용 소프트웨어를 배포하기 위해서는, 개발자는 아이폰 디벨로퍼 프로그램에 등록하여야만 한다. 개발자는 등록비를 지불해야 하며, 또한 개발자는 애플의 허가를 받아야 한다. 등록비는 99 미국 달러이다. 애플의 앱 스토어에 응용 소프트웨어를 업로드할 때 사용될 서명된 키들이 개발자에게 주어진다. 응용 소프트웨어는 세 가지 방법으로 배포될 수 있는데, 앱 스트어에서 배포되거나, 특정 기업의 직원 전용으로 기업 내에서만 배포되거나, "애드 혹"으로 100 대의 아이폰 한정으로 배포될 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;코어 로케이션&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;코어 로케이션은 맥 오에스 텐 내의 소프트웨어 프레임워크이다. 보통 아이폰 OS 2.0 상의 소프트웨어들에 의해 장치의 위치을 알아내기 위해 사용된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;코어 로케이션은 2008년 3월 6일 아이폰 소프트웨어 로드맵 이벤트 행사 때 발표되었다. 이후 아이폰 SDK에 포함되었다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;자바&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;애플 측은 자바 (프로그래밍 언어) 기반 응용 소프트웨어를 아이폰 상에서 작동시키는 것에 대해서 발표도 하지 않았고 아무런 계획도 가지고 있지 않다. 썬 마이크로시스템즈은 아이폰 OS용 자바 가상 머신 을 릴리즈할 계획이라고 발표하였다. 이것은 자바의 자바 플랫폼, 마이크로 에디션 버전에 기반한 것이 될 예정이다. 이것이 릴리즈되면 자바 ME 응용 소프트웨어가 아이폰이나 아이팟 터치에서 구동될 것으로 예상되었다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;이 부분은 운영 체제에 관한 토막글입니다. 서로 지식을 모아 알차게 문서를 완성해 갑시다. &lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;플래시&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;아이폰 OS는 플래시를 지원하지 않는다. 어도비는 어도비 플래시 라이트 소프트웨어를 서드 파티 응용 소프트웨어 형태로 아이폰 OS용으로 만들어 배포할 예정이라고 발표하였다. 한데, 플래시 라이트는 표준 플래시보다는 기능이 떨어진다. 비공식적으로는 제일 브레이킹된 아이폰 OS에서 플래시 비디오가 재생하는 응용 소프트웨어가 개발되기도 하였다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;해킹과 제일 브레이킹&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;아이폰 OS는 다양한 경로를 통해 여러 가지 핵을 가지고 해킹할 수 있다. 대개 이런 핵들은 애플이 공식적으로 지원하지 않는 기능에 초점을 두고 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:맑은 고딕"&gt;&lt;b&gt;출처: 위키피디아&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1062249995377042231?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1062249995377042231/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/mobile-os%EC%8B%AC%EB%B9%84%EC%95%88-%EB%B8%94%EB%9E%99%EB%B2%A0%EB%A6%AC-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%9C%88%EB%8F%84%EC%9A%B0-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EC%95%84%EC%9D%B4%ED%8F%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1062249995377042231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1062249995377042231'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/mobile-os%EC%8B%AC%EB%B9%84%EC%95%88-%EB%B8%94%EB%9E%99%EB%B2%A0%EB%A6%AC-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%9C%88%EB%8F%84%EC%9A%B0-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EC%95%84%EC%9D%B4%ED%8F%B0.html' title='Mobile OS(심비안, 블랙베리, 안드로이드, 윈도우 모바일, 아이폰) 간단요약'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1331601302857448624</id><published>2010-03-15T02:38:00.000+09:00</published><updated>2011-01-29T22:24:55.028+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='잠수'/><title type='text'>잠수를 탔었네요.....</title><content type='html'>한국으로 오고나서 이것저것 할 일도 있었고 귀차니즘의 압박으로 인해서&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;잠시 블로그 관리를 뒷전으로 하고 있었네요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이제 듣고싶었던 수업을 청강하면서 잠수를 풀고 블로깅을 다시 시작하게 되었습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;역시나 내용은 안드로이드 위주로 포스팅을 하게 될 것이며 간간히 레포트를 위한 &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;포스팅자료도 있게 되겠네요. ㅎㅎㅎ&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;조만간에 요번에 개통한 모토로이 개봉기도 포스팅 할까 생각중 입니다. (워낙에 개봉기 자료가 많은지라..... ㅡ,ㅡ;;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그리고 제 모토로이에 올라가 있는 어플들도 간략히 소개하며 다운로드할 수 있게 올릴까도 계획중입니다. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그 중에는 제가 짠 어플이 있는데 이 어플은 저희 학교 공대생만을 위한 어플이라고도 볼 수 있으니 ㅎㅎㅎ 별로 쓸 모는 없을 것 같네요 쩝 ㅡ,ㅡ;;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;아무튼 열 블로깅 ㄱㄱ싱&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1331601302857448624?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1331601302857448624/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/%EC%9E%A0%EC%88%98%EB%A5%BC-%ED%83%94%EC%97%88%EB%84%A4%EC%9A%94.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1331601302857448624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1331601302857448624'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/03/%EC%9E%A0%EC%88%98%EB%A5%BC-%ED%83%94%EC%97%88%EB%84%A4%EC%9A%94.html' title='잠수를 탔었네요.....'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-5407860257970469403</id><published>2010-02-13T02:58:00.000+09:00</published><updated>2011-01-29T22:24:54.998+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='벤쿠버'/><category scheme='http://www.blogger.com/atom/ns#' term='올림픽'/><category scheme='http://www.blogger.com/atom/ns#' term='Vancouver'/><category scheme='http://www.blogger.com/atom/ns#' term='Torch relay'/><category scheme='http://www.blogger.com/atom/ns#' term='개스타운'/><category scheme='http://www.blogger.com/atom/ns#' term='olympic'/><category scheme='http://www.blogger.com/atom/ns#' term='성화'/><category scheme='http://www.blogger.com/atom/ns#' term='Gas town'/><title type='text'>Torch Relay 를 보고.....</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;세계인의 축제인 올림픽......... 그 시작을 알리는 성화가 오늘 회사 앞 Gas Town을 지나갔네요 ㅎㅎ&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;사람들이 너무 많아서 괜찮은 사진은 별로 찍지 못했습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p id="more-31-0" class="moreless_fold" style="color: #000000; padding: 0 0 0 10px;"&gt;&lt;span style="cursor: pointer;" onclick="if (window.TC$PRIV_toggleMoreLessBlogger != undefined) {TC$PRIV_toggleMoreLessBlogger(this, '31-0','펼쳐두기..','접어두기..'); return false;} else {document.getElementById('content-31-0').style.display='';}"&gt;      펼쳐두기..&lt;/span&gt;&lt;/p&gt;  &lt;div id="content-31-0" class="moreless_content" style="display: none; border: 1px dashed #cccccc; background-color: #f3f3f3; margin: 0 10px padding: 5px;"&gt;&lt;div style="text-align: center; clear: both;"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lpjV7LxusrE&amp;amp;hl=ko_KR&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lpjV7LxusrE&amp;amp;hl=ko_KR&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size: 9pt; font-family: 돋움; "&gt;&lt;font class="Apple-style-span" color="#F2F2F2"&gt;성화가 오기전 코카콜라 선전을 하는 차량이 왔었네요 신나는 음악과 약간의 퍼포먼스를 ㅋㅋㅋㅋ&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:돋움;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-theme-font:minor-bidi;color:black;mso-ansi-language:EN-US;mso-fareast-language:KO;mso-bidi-language:AR-SA"&gt;&lt;font class="Apple-style-span" color="#F2F2F2"&gt;&lt;br /&gt;&lt;/font&gt;&lt;br style="mso-special-character:line-break"&gt;&lt;/span&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XAhJtZkLYb.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XAhJtZkLYb.jpg')" /&gt;&lt;/div&gt;사람들이 줄을 지어 서서 성화가 오기를 기다리는 모습입니다. 이른 아침부터 니들이 고생이 많다~&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XeDxr2BMJY.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XeDxr2BMJY.jpg')" /&gt;&lt;/div&gt;2층에서 일하시는 분들은 그 이점을 십분활용해서 창가에 걸터앉아서 기다리고 있네요. 나도 저렇게 해서 찍을걸.... 괜시리 후회....&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XDkl7132tE.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XDkl7132tE.jpg')" /&gt;&lt;/div&gt;이제 곧 성화가 온다는 걸 알려주는 차량입니다. &lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XHCZE806M9.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XHCZE806M9.jpg')" /&gt;&lt;/div&gt;교통정리 겸 사람들 질서도 정리해주기 위해 선봉에 서있는 경찰관 분들입니다. 이곳에서 경찰들이 말을 타고 다니는건 그렇게 흔하지는 않지만 특별한 행사가 있을 경우 이런 모습을 많이 접할 수 있습니다.&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XbjTvsx0M8.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XbjTvsx0M8.jpg')" /&gt;&lt;/div&gt;드디어 오셨는데........ 저 아줌마는 누규?? 그냥 일반 시민인듯 하네요 ㅎㅎ &lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XCoqqECCQF.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XCoqqECCQF.jpg')" /&gt;&lt;/div&gt;성화를 다른사람에게 전달하고 나서 주위 사람들에게 둘러싸여 기념촬영을 하는 모습입니다. 성화를 옮긴 저 봉 뺏고싶다는 ㅋㅋㅋ &lt;span class="apple-style-span"&gt;&lt;span style="font-size:9.0pt;font-family:돋움;color:black"&gt;이렇게&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:돋움;color:black"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:돋움;color:black"&gt;Torch Relay&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:9.0pt;font-family:돋움;color:black"&gt;는 다른 곳을 향해 가고 저는 회사에 들어와서 이렇게일은 안하고 포스팅 하고 있네요 ㅋㅋㅋ 인기종목뿐 아니라 비인기 종목에서도 한국선수분들 좋은 결과 내시길&lt;span lang="EN-US"&gt;......&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span lang="EN-US" style="font-size:9.0pt;font-family:돋움;color:black"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-size:9.0pt;font-family:돋움;color:black"&gt;하면서 이만&lt;span lang="EN-US"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-5407860257970469403?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/5407860257970469403/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/torch-relay-%EB%A5%BC-%EB%B3%B4%EA%B3%A0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5407860257970469403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5407860257970469403'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/torch-relay-%EB%A5%BC-%EB%B3%B4%EA%B3%A0.html' title='Torch Relay 를 보고.....'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-8155607554395078199</id><published>2010-02-12T16:40:00.000+09:00</published><updated>2011-01-29T22:24:54.972+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><title type='text'>오늘은......?</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;머리가 좀 지끈거리네요...... 할 게 많아져서 그런건가??&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;머리속으로 정리해놓은것도 있는데 또 새로운게 들이닥치면서 갑자기 급 복잡해졌습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;방대한 양의 정보를 처리할 수 있는 능력을 가진 뇌가 저는 없네요 ㅠ.ㅠ&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그래도 할 게 많아진다니까 내가 공부하고 있다는걸 앞으로 나아가고 있다는걸 느낄 수 있어서 행복할 것 같습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;오늘은 뻘 글로 하루 포스팅을 마무리.....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;조만간 안드로이드에 구글맵 살짝 띄어보는 내용을 포스팅 할려고 합니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그렇게 어려운 내용은 아닌데 바쁜것도 아닌데 그냥 이것저것 하다보니 포스팅할 시간은 그렇게 나지 않네요.(오늘도 이것저것 하다보니 저녁 11시에나 글을 쓰고 있는....)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이렇게 하루는 흘러가고 귀국의 시간은 다가오네요..... (아이 좋아 &amp;gt;.&amp;lt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;푸념글&lt;/div&gt;&lt;p id="more-30-0" class="moreless_fold" style="color: #000000; padding: 0 0 0 10px;"&gt;&lt;span style="cursor: pointer;" onclick="if (window.TC$PRIV_toggleMoreLessBlogger != undefined) {TC$PRIV_toggleMoreLessBlogger(this, '30-0','펼쳐두기..','접어두기..'); return false;} else {document.getElementById('content-30-0').style.display='';}"&gt;      펼쳐두기..&lt;/span&gt;&lt;/p&gt;  &lt;div id="content-30-0" class="moreless_content" style="display: none; border: 1px dashed #cccccc; background-color: #f3f3f3; margin: 0 10px padding: 5px;"&gt;&lt;div&gt;그냥 느끼는 건데...... 왜 한해가 흐를때마다 우리과는 클럽을 계속 이전하는 지 모르겠습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;다른곳도 그런가?? 싶은 생각도 들지만 상당히 비효율적이고 이미 가입되어 있는 사람은 또 가입하게 만들며 등업이라는 시스템때문에 새롭게 데이터베이스를 구축해야 하는....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;명색이 컴퓨터를 공부하는 사람들의 집단이 모인곳인데.... 하나의 페이지를 만들어서 그걸 물려주며 관리해야 겠다는 생각은 안드는지 모르겠습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그냥 또 새로운 클럽이 만들어져서 가입하고 등업요청하기 귀찮아서 문득 든 생각입니다.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-8155607554395078199?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/8155607554395078199/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%98%A4%EB%8A%98%EC%9D%80.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8155607554395078199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8155607554395078199'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%98%A4%EB%8A%98%EC%9D%80.html' title='오늘은......?'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-867723708014105345</id><published>2010-02-11T08:47:00.000+09:00</published><updated>2011-01-29T22:24:54.946+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='벤쿠버'/><category scheme='http://www.blogger.com/atom/ns#' term='올림픽'/><category scheme='http://www.blogger.com/atom/ns#' term='Trip to somewhere'/><title type='text'>지금 여기 벤쿠버는......</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;지금 여기 벤쿠버는 거리마다 올림픽 일색으로 거리가 장식되어 있네요...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XKu2TSnfjC.jpg" style="width:275px;height:206px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XKu2TSnfjC.jpg')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XVkwsE2lwk.jpg" style="width:275px;height:206px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XVkwsE2lwk.jpg')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Robson Street 에 설치된 CTV 중계소 인듯 합니다. 정확히 저기서 뭘 하는지는 모르겠는데 대충 올림픽 할때 거리의 모습을 중계하거나 할 듯 하네요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XfbMxvAMkZ.jpg" style="width:275px;height:206px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XfbMxvAMkZ.jpg')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XepJDahM21.jpg" style="width:275px;height:206px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XepJDahM21.jpg')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;위 사진은 벤쿠버 미술박물관(?) 이었나 명칭이 잘 생각이 안나네요. 올림픽 기간동안 갖가지 신기한 영상들을 보여주고 있습니다. 그 주위에는 겨울스포츠를 대표하는 장비들이..... 지금 가지고 있는 사진은 스노우보드 밖에 없네요.... 헐..... 바로 맞은편에 봅슬레이도 있었는데 친구사진 찍어준다고 제 사진찍는건 깜빡했네요.... 허허...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XWqQOPGUdb.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XWqQOPGUdb.jpg')" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;어떤 건물인지는 잘 모르겠는데 그 건물 벽면에 캐나다 국기를 걸어놨네요....... 이 나라는 국기를 로고로 해서 해놓은 물건들이 정말 많습니다. 옷부터 가방에 모자에.......... 사람들도 별로 촌스럽다고 안느끼고 많이 입고 다니는 모습이 흔하네요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;아무튼 올림픽은 다가오고 사진찍을 거리는 많아지고.... 괜춘하네요 ㅎㅎ&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-867723708014105345?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/867723708014105345/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%A7%80%EA%B8%88-%EC%97%AC%EA%B8%B0-%EB%B2%A4%EC%BF%A0%EB%B2%84%EB%8A%94.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/867723708014105345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/867723708014105345'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%A7%80%EA%B8%88-%EC%97%AC%EA%B8%B0-%EB%B2%A4%EC%BF%A0%EB%B2%84%EB%8A%94.html' title='지금 여기 벤쿠버는......'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6818659642347968791</id><published>2010-02-11T04:14:00.000+09:00</published><updated>2011-01-29T22:24:54.918+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><title type='text'>자축!! 1000Hit 돌파!!!</title><content type='html'>블로그를 개설한지 약 1달이 좀 되어 가는 것 같네요. ㅎㅎ&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;싸이는 만들어놔도 제가 잘 안하는 관계로다가 방문자수 크게 늘지 않는데&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;블로그를 개설한지 1달도 안되서 1000히트를 기록하니 느낌이 새롭습니다. ㅎㅎ&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;찾아와주신 모든 분들께 감사하고 미약한 정보로 도움이 되셨다고 말해주신 분들도 혼또니 아리가토&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;라고 감히 말씀드립니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;좀 더 많은 정보를 포스팅하고 좀 더 재밌는 거리를 포스팅해서 많은 블로거 분들과 친해졌으면 하네요&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5000히트를 다음 목표로 삼고 블로그 운영해 나가겠습니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;오늘은 치즈케익이라도 사서 자축이나 해볼까......... (이뭔 병신짓인가 ㅠ.ㅠ)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6818659642347968791?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6818659642347968791/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%9E%90%EC%B6%95-1000hit-%EB%8F%8C%ED%8C%8C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6818659642347968791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6818659642347968791'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%9E%90%EC%B6%95-1000hit-%EB%8F%8C%ED%8C%8C.html' title='자축!! 1000Hit 돌파!!!'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-5300217791799714055</id><published>2010-02-11T03:01:00.000+09:00</published><updated>2011-01-29T22:24:54.886+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xt720'/><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='모토로이'/><category scheme='http://www.blogger.com/atom/ns#' term='xperia x10'/><category scheme='http://www.blogger.com/atom/ns#' term='motoroi'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='엑스페리아 x10'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드폰'/><title type='text'>고민중................</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;요즘 들어서 국내 안드로이드폰 출시 소식이 심심찮게 들리고 있습니다.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;대표적으로 이번에 출시한 모토로라의 모토로이!!&lt;/div&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XFTrFaBaYS.jpg" style="width:135px;height:90px;" alt=""  /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;대충 다른 블로거님들의 글을 읽어보면 괜찮다하는 평이 나오고 있는 듯 합니다. 머 확실한 평은 좀 더 두고봐야 알겠지만요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;다음으로 기대되는 기기는 Sony Ericson 의 Xperia X10 입니다. 일본에서 4월내 출시된다는 기사를 읽은 적이 있네요. 과연 국내 출시될지 그리고 출시된다면 언제 출시될지는 모르겠지만 전체적인 기기 디자인과 UI 디자인은 홀딱 빠지게 만들만 합니다.&lt;/div&gt;&lt;div&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XMWxaI3D6O.jpg" style="width:117px;height:138px;" alt=""  /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;하지만 유튜브 영상으로본 구동기는 실망을 감출수가 없는데 출시될때에는 그 부분도 개선될 거라 믿고 싶네요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;지금은 당장 테스트용 기기가 필요하므로 모토로이를 구매할 가능성이 높을 듯 싶습니다. 하지만 괜시리 Xperia 를 기다리고 싶어지기도 하고요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;아니면 요번에 3G망 접속문제 패치를 한다는 Nexus One 도 기대됩니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;얼른 많은 기기들이 한국에 출시되어서 소비자들의 선택의 폭을 넓혀줬으면 좋겠군요. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;기업의 이익도 중요하겠지만 소비자들의 권리도 함께 쫓아간다면 최고의 기업이 되지 않을까 생각됩니다. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;한국 갈 날이 얼마 남지 않았는데 이제 여기 생활도 슬슬~ 마무리 해야 겠네요.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;오늘은 간단히 맥주나 한잔 걸쳐볼까...........&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-5300217791799714055?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/5300217791799714055/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EA%B3%A0%EB%AF%BC%EC%A4%91.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5300217791799714055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5300217791799714055'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EA%B3%A0%EB%AF%BC%EC%A4%91.html' title='고민중................'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-4139252312414082483</id><published>2010-02-09T07:22:00.000+09:00</published><updated>2011-01-29T22:24:54.861+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='md5 fingerprint'/><category scheme='http://www.blogger.com/atom/ns#' term='구글맵'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='API Key'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>안드로이드에 구글맵을 사용하기 위한 준비!!</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;앞서 포스팅한 것들은 이미 포함되어져 있는 라이브러리를 사용해왔기에 별다른 설정 없이 사용을 해왔지만 구글맵을 사용하기 위해서는 또다른 설정을 해주어야 합니다.&lt;br /&gt;&lt;br /&gt;이 설정을 해주기 위해서는 API KEY가 필요한데 이번 포스팅에서는 이 Key를 가져오는 방법을 포스팅 하겠습니다.&lt;br /&gt;&lt;br /&gt;별로 크게 어려운 점은 없으니 차근차근 따라하시면 될 듯합니다.&lt;br /&gt;&lt;br /&gt;먼저 여러분이 미리 설치해두신 JDK가 설치된 폴더의 bin폴더에 있는 keytool을 이용해야 합니다.&lt;br /&gt;&lt;br /&gt;먼저 자신이 설치한 JDK의 설치폴더를 확인해주세요&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQisWVHwoZ.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XQisWVHwoZ.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;keytool을 사용하기 위해서는 커맨드프롬프트를 이용해야 합니다. 여기서 잠깐!! 커맨드프롬프트 상에서 자바명령어를 불편하지 않게 사용하기 위해서 path가 등록되어 있어야 합니다. 등록이 되어 있지 않다면 내컴퓨터의 속성에 고급탭으로 가셔서 환경변수를 클릭하시면 시스템 변수의 PATH 항목에 jdk의 bin폴더 경로를 입력해 주시면 됩니다. 물론 각 항목의 끝을 알리는 세미콜론(;)을 앞에 붙여주시고요.&lt;br /&gt;&lt;br /&gt;이제 keytool을 이용해서 MD5 Fingerprint를 생성하겠습니다. MD5 Fingerprint는 구글맵 API Key를 얻기위해 사용되므로 꼭 필요합니다. 커맨드 프롬프트 상에서 debug.keystore 가 있는 곳으로 이용해야 하는데 주로 C:\Documents and Settings\계정이름\.android 이 경로에 있으니 찾아보시기 바랍니다. 이 경로에도 없다면 파일찾기를 통해 debug.keystore 를 찾아보시는걸 권장합니다. &lt;br /&gt;&lt;br /&gt;그러면 커맨드 프롬프트 상에서 저 경로로 들어간 후에 다음과 같은 명령어를 타이핑 하시면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XA1raDFZIo.jpg" style="width:550px;height:381px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XA1raDFZIo.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android&lt;br /&gt;&lt;br /&gt;위의 명령어를 실행하시게 되면 다음과 같은 화면을 보실수 있습니다. 빨간줄로 밑줄 지어진 부분이 MD5 Fingerprint 입니다. 복사하셔서 보관해두세요.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XPzbUi3eZy.jpg" style="width:550px;height:381px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XPzbUi3eZy.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;그렇다면 이제 API key를 발급받아볼까요?&lt;br /&gt;&lt;br /&gt; &lt;a href="http://code.google.com/android/maps-api-signup.html" target="_blank"&gt;http://code.google.com/android/maps-api-signup.html&lt;/a&gt; 로 접속하셔서 MD5 Fingerprint를 입력하시고 구글계정으로 로그인 하시면 Key를 발급받으실 수 있습니다.&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XUMnPOUwX1.jpg" style="width:550px;height:299px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XUMnPOUwX1.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;발급받은 Key는 잃어버리지 않도록 잘 보관하시기 바랍니다. 다음에는 간단하게 구글맵을 안드로이드에 띄우는 것을 포스팅 하도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-4139252312414082483?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/4139252312414082483/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EC%97%90-%EA%B5%AC%EA%B8%80%EB%A7%B5%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%EC%A4%80%EB%B9%84.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4139252312414082483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4139252312414082483'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EC%97%90-%EA%B5%AC%EA%B8%80%EB%A7%B5%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%EC%A4%80%EB%B9%84.html' title='안드로이드에 구글맵을 사용하기 위한 준비!!'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-3066357879288632101</id><published>2010-02-06T04:21:00.000+09:00</published><updated>2011-01-29T22:24:54.834+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><category scheme='http://www.blogger.com/atom/ns#' term='Gridview'/><title type='text'>Hello GridView 살펴보기</title><content type='html'>오늘은 저번에 살펴본 GridView 에 대해서 살펴볼까 합니다.&lt;br /&gt;&lt;br /&gt;이걸로 당분간은 View 에 대한 글은 미루고 다른것들을 포스팅 할까 생각중입니다. ㅎㅎ&lt;br /&gt;&lt;br /&gt;먼저 xml 코드부터 살펴보도록 할까요?&lt;br /&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(244, 244, 244); color: rgb(0, 0, 0);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="pun"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="pln"&gt;xml version&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"1.0"&lt;/span&gt;&lt;span class="pln"&gt; encoding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"utf-8"&lt;/span&gt;&lt;span class="pun"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;GridView&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="atn"&gt;xmlns:android&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span class="pln"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:id&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"@+id/gridview"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:columnWidth&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"90dp"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:numColumns&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"auto_fit"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:verticalSpacing&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"10dp"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:horizontalSpacing&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"10dp"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:stretchMode&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"columnWidth"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"center"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;머 기본적인 코드들은 어느정도 익히셨다고 생각되고 중요한 부분만 짚고 넘어가겠습니다.&lt;br /&gt;&lt;br /&gt;바로 view 에 ID를 부여하는 부분입니다. 바로 이 부분 android:id="@+id/gridview" 여기서 직접 View 에 ID를 부여하여 Java 코드에서 해당 Id를 가져와 컨트롤을 할 수 있습니다. id는 아무거나 하셔도 됩니다. ex) android:id="@+id/아이디"&lt;br /&gt;&lt;br /&gt;다음은 onCreate 메소드에 들어간 코드를 살펴보죠&lt;br /&gt;&lt;div style="border: 1px solid rgb(187, 187, 187); padding: 10px; background-color: rgb(221, 221, 221);"&gt;&lt;pre class="prettyprint"&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; onCreate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;Bundle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; savedInstanceState&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;super&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;onCreate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;savedInstanceState&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;);&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; setContentView&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;R&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;layout&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;main&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;);&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;GridView&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; gridview &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;GridView&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; findViewById&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;R&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;gridview&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;);&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; gridview&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;setAdapter&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;ImageAdapter&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;));&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; gridview&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;setOnItemClickListener&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;OnItemClickListener&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; onItemClick&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;AdapterView&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;&amp;lt;?&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; parent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;View&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; v&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; position&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;long&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;Toast&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;makeText&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;HelloGridView&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="kwd"&gt;this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="str"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; position&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="typ"&gt;Toast&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;LENGTH_SHORT&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;).&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;show&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;();&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;}&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;});&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" class="pun"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;GridView 객체를 생성해 findViewById 메서드를 통해서 해당View를 직접적으로 콘트롤 하게 됩니다. &lt;br /&gt;&lt;br /&gt;다음으로 setAdapter를 통해서 모든 이미지를 GridView 에 표현하기 위해 ImageAdapter와 연결을 합니다.&lt;br /&gt;&lt;br /&gt;ImageAdapter는 잠시 뒤로 미뤄두도록 하죠&lt;br /&gt;&lt;br /&gt;Grid에 올려져 있는 아이템을 우리가 클릭을 했을때 어떤일을 하기 위해서 setOnItemClickListner()는 AdapterView.OnItemClickListener로 전달이 됩니다. 콜백함수인 onItemClick()은 해당아이템이 위치한 포지션을 토스트 해줍니다. 토스트는 직접 실행해보셨으면 알겠지만 갑자기 토스트기계에서 나오는 빵처럼 뿅~ 하고 나왔다가 사라지는 일종의 알림말 같은 것이라고 보시면 될 것 같네요.&lt;/span&gt; 주로 우리가 만드는 프로그램은 저렇게 토스트가 나오는게 아니라 이미지가 확대되어 나오는 코드를 짜면 될 것 같습니다. ㅎㅎ&lt;br /&gt;&lt;br /&gt;자 이제 마지막으로 미뤄두었던 ImageAdapter를 보면 될 것 같네요.&lt;br /&gt;&lt;div style="border: 1px solid rgb(199, 199, 199); padding: 10px; background-color: rgb(199, 199, 199); color: rgb(0, 0, 0);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ImageAdapter&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;extends&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;BaseAdapter&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Context&lt;/span&gt;&lt;span class="pln"&gt; mContext&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ImageAdapter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Context&lt;/span&gt;&lt;span class="pln"&gt; c&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mContext &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; c&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; getCount&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; mThumbIds&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;length&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Object&lt;/span&gt;&lt;span class="pln"&gt; getItem&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;null&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;long&lt;/span&gt;&lt;span class="pln"&gt; getItemId&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;0&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// create a new ImageView for each item referenced by the Adapter&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;View&lt;/span&gt;&lt;span class="pln"&gt; getView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;View&lt;/span&gt;&lt;span class="pln"&gt; convertView&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ViewGroup&lt;/span&gt;&lt;span class="pln"&gt; parent&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pln"&gt; imageView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;if&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;convertView &lt;/span&gt;&lt;span class="pun"&gt;==&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;null&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// if it's not recycled, initialize some attributes&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;mContext&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setLayoutParams&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GridView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;LayoutParams&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;85&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;85&lt;/span&gt;&lt;span class="pun"&gt;));&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setScaleType&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;ScaleType&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;CENTER_CROP&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setPadding&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;else&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; convertView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setImageResource&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;mThumbIds&lt;/span&gt;&lt;span class="pun"&gt;[&lt;/span&gt;&lt;span class="pln"&gt;position&lt;/span&gt;&lt;span class="pun"&gt;]);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; imageView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// references to our images&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;[]&lt;/span&gt;&lt;span class="pln"&gt; mThumbIds &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_2&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_3&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_4&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_5&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_6&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_7&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_0&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_2&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_3&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_4&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_5&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_6&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_7&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_0&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_2&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_3&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_4&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_5&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_6&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_7&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;};&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;위의 ImageAdapter 는 BaseAdapter를 상속하고 있다는걸 아실 수 있습니다.&lt;br /&gt;BaseAdapter에서 상속받은 몇 몇 Implement 가 요구됩니다. 위의 코드를 보시면 아시겠지만 생성자 함수와 getCount(), getItem(int), getItemId(int) 가 그것입니다. getItem 함수는 실질적인 객체를 return 해주는게 좋고 getItemId 함수는 해당 아이템의 row Id를 return 해주는게 좋다고 나와있습니다.&lt;br /&gt;하지만 이 예제 코드에서는 필요하지 않으니 그냥 null과 0으로 처리를 했군요.&lt;br /&gt;&lt;br /&gt;자 다음은 getView 함수입니다. 이 함수는 ImageAdapter에 이미지를 추가하기 위해 새로운 ImageView를 생성하는 일을 합니다. 생성된 ImageView에 배열안에 넣어진 이미지들을 넣어주도록 설계되었습니다.&lt;br /&gt;&lt;br /&gt;보기에는 좀 까다로워 보이는 예제코드이지만 막상 분석을 해보면 그렇게 어렵지 않은 코드란걸 아실 수 있을 듯 하네요.&lt;br /&gt;&lt;br /&gt;조금더 나은 공부를 위해서 정보 공유는 필수!!! 질책 마다하지 않습니다. 댓글 남겨주시면 감사요 ㅋㅋ&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-3066357879288632101?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/3066357879288632101/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/hello-gridview-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3066357879288632101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3066357879288632101'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/hello-gridview-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0.html' title='Hello GridView 살펴보기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-8138380156378293681</id><published>2010-02-06T03:32:00.000+09:00</published><updated>2011-01-29T22:24:54.770+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='벤쿠버'/><category scheme='http://www.blogger.com/atom/ns#' term='올림픽'/><category scheme='http://www.blogger.com/atom/ns#' term='Trip to somewhere'/><category scheme='http://www.blogger.com/atom/ns#' term='횃불'/><title type='text'>Vancouver Olympics Torch Relay Route</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;오늘 출근하자마자 Kathy(인턴쉽 사장님) 에게서 뜻밖의 메일을 받았습니다.&lt;br /&gt;&lt;br /&gt;그것은 벤쿠버 올림픽이 시작하는 날인 2009.2.12 9시 즈음에(한국시간 2009.2.13 새벽2시 정도) Torch Relay 가 회사앞을 지나간다는 정보!!!&lt;br /&gt;&lt;br /&gt;사진찍을 거리 생겨서 신나네요 ㅎㅎㅎ&lt;br /&gt;&lt;br /&gt;어학연수를 위해 산 디카인데 요즘들어서 찍을게 없어가지고 아쉬워 하고 있는 찰나에 춈 기쁜 소식이 아닐 수 없네용 ㅋㅋㅋ&lt;br /&gt;&lt;br /&gt;아래는 Torch Relay 루트입니다.&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQkB2vzup6.jpg" style="width:550px;height:259px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XQkB2vzup6.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;빨간 네모 부분이 제가 다니는 회사가 위치한 곳입니다. Water Street!!!&lt;br /&gt;&lt;br /&gt;머 Gas Town으로 불리죠 세계에 몇 없는 증기시계인 Steam Clock 이 위치한 곳이기도 하지만 IT 회사들이 몰려있는 곳이기도 합니다. 하지만 관광객들은 잘 모르죠 ㅋㅋㅋ 회사 간판도 없거니와 대부분의 회사가 2층에 있기 때문이기도 하죠.( 참고로 제가 다니는 회사는 기념품 가게건물 2층)&lt;br /&gt;&lt;br /&gt;아무튼 볼 거리가 생겨서 신난 1인&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-8138380156378293681?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/8138380156378293681/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/vancouver-olympics-torch-relay-route.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8138380156378293681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/8138380156378293681'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/vancouver-olympics-torch-relay-route.html' title='Vancouver Olympics Torch Relay Route'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6999232244734566282</id><published>2010-02-05T07:26:00.000+09:00</published><updated>2011-01-29T22:24:54.745+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='스킨'/><category scheme='http://www.blogger.com/atom/ns#' term='Skin'/><title type='text'>블로그 스킨 리뉴얼</title><content type='html'>이번에 뭔가 분위기를 바꾸고 싶은데 스킨제작에 투자할 시간은 부족하고 해서&lt;br /&gt;&lt;br /&gt;다른분들이 만들어 놓은 스킨을 쓰기로 마음먹고 쭉~~ 검색해 보았습니다.&lt;br /&gt;&lt;br /&gt;여러가지 스킨들이 있었지만 결국은 제노시움님의 스킨으로 낙찰!!!!&lt;br /&gt;&lt;br /&gt;어떤가요? 좀 세련되어졌나? ㅎㅎ&lt;br /&gt;&lt;br /&gt;나름 만족감을 느끼고 있습니다. 혹시나 이 스킨을 쓰시고 싶으신 분은 아래 링크로 가셔서&lt;br /&gt;&lt;br /&gt;간단한 설치법과 함께 다운로드 하시면 될 듯 합니다.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://xenosium.com"&gt;제노시움님의 블로그&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6999232244734566282?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6999232244734566282/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8A%A4%ED%82%A8-%EB%A6%AC%EB%89%B4%EC%96%BC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6999232244734566282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6999232244734566282'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%8A%A4%ED%82%A8-%EB%A6%AC%EB%89%B4%EC%96%BC.html' title='블로그 스킨 리뉴얼'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-4688688929047007296</id><published>2010-02-04T12:13:00.000+09:00</published><updated>2011-01-29T22:24:54.697+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='타임어택'/><category scheme='http://www.blogger.com/atom/ns#' term='카트라이더'/><category scheme='http://www.blogger.com/atom/ns#' term='카트'/><title type='text'>카트하는 대딩 ㅡ,ㅡ;;</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;그렇습니다. 전 이 나이 먹어서도 카트를 하고 있습니다.&lt;br /&gt;&lt;br /&gt;시작한건 이제 2년 정도 되었을것 같네요. 그냥 간간히 하는 게임으로는 괜찮아서 아직도 하고 있습니다. &lt;br /&gt;&lt;br /&gt;최근에 개인적으로 기록을 세워서 이렇게 포스팅합니다. ㅠ.ㅠ&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XCTlmUna1b.bmp" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XCTlmUna1b.bmp')" /&gt;&lt;/div&gt;&lt;br /&gt;55초의 벽을 허문것은 이번이 처음이라서 ㅋㅋㅋ&lt;br /&gt;&lt;br /&gt;고수분들이 보기에는 별거아닌 기록이지만 저에게는 최초의 기록이네요 &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-4688688929047007296?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/4688688929047007296/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%B9%B4%ED%8A%B8%ED%95%98%EB%8A%94-%EB%8C%80%EB%94%A9-%E3%85%A1%E3%85%A1.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4688688929047007296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4688688929047007296'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/%EC%B9%B4%ED%8A%B8%ED%95%98%EB%8A%94-%EB%8C%80%EB%94%A9-%E3%85%A1%E3%85%A1.html' title='카트하는 대딩 ㅡ,ㅡ;;'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-4300500564863256814</id><published>2010-02-04T06:47:00.000+09:00</published><updated>2011-01-29T22:24:54.660+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><category scheme='http://www.blogger.com/atom/ns#' term='Gridview'/><title type='text'>Hello GridView~</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;오랜만에 포스팅을 하네요. ㅎㅎ&lt;br /&gt;&lt;br /&gt;회사서버가 갑자기 다운이 되는 바람에 이틀정도 회사를 쉬게되었었네요. 주로 회사에서 남는시간에 포스팅을 하는 저라서 집에 돌아가서는 신경도 안쓰고 있었다는 ㅋㅋㅋ&lt;br /&gt;&lt;br /&gt;오늘은 GridView 에 대해서 포스팅을 할려고 합니다. 코드에 대한 자세한 설명은 Theory 란에서 자세하게 할터이니 여기에선 간단히 코드를 보는 것으로 하죠.&lt;br /&gt;&lt;br /&gt;GridView 는 간단히 설명해서 사진첩과 비슷한 기능을 한다고 생각하시면 됩니다. 그래도 머하는건지 잘 모르시겠다면 코드를 작성해서 실행해보는게 더 빠르겠네요 ㅋㅋ&lt;br /&gt;&lt;br /&gt;이번에 할 GridView 는 앞서 포스팅한 View보다 더 까다로울 수 있으니 손으로 하나하나 제대로 하시는게 좋을 듯 합니다. ^^&lt;br /&gt;&lt;br /&gt;먼저 새로운 프로젝트를 만들어 볼까요. &lt;br /&gt;&lt;br /&gt;GridView 에서 보일 이미지들을 아래 그림과 같이 rew/drawable 폴더에 넣어주시면 됩니다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XOlnIsVOv7.jpg" style="width:249px;height:322px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XOlnIsVOv7.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;새롭게 만든 프로젝트에서 main.xml 파일을 먼저 손봐야 겠군요. 앞서 설명드린것과 같이 실질적인(눈으로 보이는) activity의 구현은 xml파일 내에서 이루어 집니다.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(244, 244, 244);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="pun"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="pln"&gt;xml version&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"1.0"&lt;/span&gt;&lt;span class="pln"&gt; encoding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"utf-8"&lt;/span&gt;&lt;span class="pun"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;GridView&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="atn"&gt;xmlns:android&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span class="pln"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:id&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"@+id/gridview"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:columnWidth&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"90dp"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:numColumns&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"auto_fit"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:verticalSpacing&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"10dp"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:horizontalSpacing&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"10dp"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:stretchMode&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"columnWidth"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"center"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;자 이제 xml 코드 수정 작업을 마쳤으면 프로젝트에 생성한 java 파일을 수정을 해야겠죠?&lt;br /&gt;&lt;br /&gt;클래스 내의 oncreate 메소드에 다음과 같이 코드를 수정해 주시면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="border: 1px solid rgb(187, 187, 187); padding: 10px; background-color: rgb(221, 221, 221);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;void&lt;/span&gt;&lt;span class="pln"&gt; onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Bundle&lt;/span&gt;&lt;span class="pln"&gt; savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;super&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; setContentView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;layout&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;main&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;GridView&lt;/span&gt;&lt;span class="pln"&gt; gridview &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;GridView&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; findViewById&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;id&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;gridview&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; gridview&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setAdapter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ImageAdapter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;this&lt;/span&gt;&lt;span class="pun"&gt;));&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; gridview&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setOnItemClickListener&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;OnItemClickListener&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;void&lt;/span&gt;&lt;span class="pln"&gt; onItemClick&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;AdapterView&lt;/span&gt;&lt;span class="pun"&gt;&amp;lt;?&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt; parent&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;View&lt;/span&gt;&lt;span class="pln"&gt; v&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;long&lt;/span&gt;&lt;span class="pln"&gt; id&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Toast&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;makeText&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;HelloGridView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="kwd"&gt;this&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="str"&gt;""&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;+&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Toast&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;LENGTH_SHORT&lt;/span&gt;&lt;span class="pun"&gt;).&lt;/span&gt;&lt;span class="pln"&gt;show&lt;/span&gt;&lt;span class="pun"&gt;();&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;});&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;안드로이드를 저와 같이 거의 초보단계로 접하신 분은 생소한 부분이 많을 것이라 생각됩니다. 자세한 설명은 다음으로 넘기고......... -_-;;;&lt;br /&gt;&lt;br /&gt;자 이제 ImageAdapter 클래스를 새로 생성하셔야 합니다. &lt;br /&gt;&lt;br /&gt;머 새롭게 자바 파일을 귀찮다 하시는 분은 그냥 생성된 java 파일내에 새롭게 클래스를 만드셔도 되고&lt;br /&gt;저처럼 하나의 자바 파일에 모든 클래스를 다 넣는게 싫으신 분은 새로운 파일을 생성해서 만드셔도 됩니다.&lt;br /&gt;이 클립스에서 패키지 내에 새로운 자바 파일을 만드실 경우에는 해당 패키지 내의 src 부분에서 오른쪽 마우스를 클릭하시고 new-&amp;gt;class 로 생성 하시면 됩니다.&lt;br /&gt;패키지 설정부분에 해당 패키지를 잡아주시는거 잊지 마시고요. ㅎㅎ&lt;br /&gt;&lt;br /&gt;그럼 새로운 클래스에 다음과 같이 코드를 추가해주세요.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(208, 255, 157); padding: 10px; background-color: rgb(208, 255, 157);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ImageAdapter&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;extends&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;BaseAdapter&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Context&lt;/span&gt;&lt;span class="pln"&gt; mContext&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ImageAdapter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Context&lt;/span&gt;&lt;span class="pln"&gt; c&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mContext &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; c&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; getCount&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; mThumbIds&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;length&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Object&lt;/span&gt;&lt;span class="pln"&gt; getItem&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;null&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;long&lt;/span&gt;&lt;span class="pln"&gt; getItemId&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;0&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// create a new ImageView for each item referenced by the Adapter&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;View&lt;/span&gt;&lt;span class="pln"&gt; getView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;int&lt;/span&gt;&lt;span class="pln"&gt; position&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;View&lt;/span&gt;&lt;span class="pln"&gt; convertView&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ViewGroup&lt;/span&gt;&lt;span class="pln"&gt; parent&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pln"&gt; imageView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;if&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;convertView &lt;/span&gt;&lt;span class="pun"&gt;==&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;null&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// if it's not recycled, initialize some attributes&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;mContext&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setLayoutParams&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GridView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;LayoutParams&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;85&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;85&lt;/span&gt;&lt;span class="pun"&gt;));&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setScaleType&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;ScaleType&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;CENTER_CROP&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setPadding&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;8&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;else&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ImageView&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; convertView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imageView&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setImageResource&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;mThumbIds&lt;/span&gt;&lt;span class="pun"&gt;[&lt;/span&gt;&lt;span class="pln"&gt;position&lt;/span&gt;&lt;span class="pun"&gt;]);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;return&lt;/span&gt;&lt;span class="pln"&gt; imageView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// references to our images&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;[]&lt;/span&gt;&lt;span class="pln"&gt; mThumbIds &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_2&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_3&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_4&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_5&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_6&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_7&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_0&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_2&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_3&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_4&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_5&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_6&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_7&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_0&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_2&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_3&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_4&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_5&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_6&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;drawable&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;sample_7&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;};&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;위의 코드중 Integer[] 배열 내에 있는 R.drawable.sample~ 의 이름들은 아까전에 rew/drawable 내에 삽입한 이미지들의 파일이름으로 대체하면 됩니다. ex)R.drawable.파일이름 확장자까지는 필요 없어요 ㅎㅎ&lt;br /&gt;&lt;br /&gt;그럼 한번 실행 해 보도록 할까요?&lt;br /&gt;&lt;br /&gt;실행할 경우 다음과 같은 결과를 보실 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XGzLhbyv70.png" style="width:320px;height:480px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;저같은 경우는 안드로이드 개발자 사이트에 올려진 이미지 샘플을 사용하였습니다. 이미지 샘플 원하시는 분은 아래 링크로 다운 가능합니다.&amp;nbsp; &lt;a target="_blank" href="http://developer.android.com/shareables/sample_images.zip"&gt;Image Samples&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;다음에는 위 코드에 대한 분석을 차근차근 해보도록 하겠습니다. 저도 아직까지 확실히 이해 안가는 부분이 많네요. &lt;br /&gt;&lt;br /&gt;더 열심히 해야겠다는 생각이 듭니다.&lt;br /&gt;&lt;br /&gt;오늘도 즐공....... 아 눈물나....&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-4300500564863256814?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/4300500564863256814/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/hello-gridview.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4300500564863256814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/4300500564863256814'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/02/hello-gridview.html' title='Hello GridView~'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6924282192307269721</id><published>2010-01-30T09:50:00.000+09:00</published><updated>2011-01-29T22:24:54.625+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='레이아웃'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='테이블'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>Hello Table Layout</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;오늘은 간단히 테이블 레이아웃에 대한 코딩을 포스팅 하겠습니다.&lt;br /&gt;&lt;br /&gt;테이블 레이아웃은 HTML 코딩을 좀 하셨던 분이라면 머 별거 아니네 하고 바로 넘어가실 수 있을거라 생각이 되네요. &lt;br /&gt;&lt;br /&gt;레이아웃은 앞선 LinearLayout의 경우처럼 main.xml 파일을 수정해주시면 됩니다.&lt;br /&gt;&lt;br /&gt;코드는 다음과 같습니다.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(244, 244, 244);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="pun"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="pln"&gt;xml version&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"1.0"&lt;/span&gt;&lt;span class="pln"&gt; encoding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"utf-8"&lt;/span&gt;&lt;span class="pun"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TableLayout&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="atn"&gt;xmlns:android&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:stretchColumns&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_column&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Open..."&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Ctrl-O"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"right"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_column&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Save..."&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Ctrl-S"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"right"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_column&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Save As..."&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Ctrl-Shift-S"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"right"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;View&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"2dip"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:background&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"#FF909090"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"X"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Import..."&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"X"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Export..."&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Ctrl-E"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"right"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;View&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"2dip"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:background&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"#FF909090"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_column&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"Quit"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:padding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"3dip"&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/TableRow&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/TableLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;앞선 글들을 보셨다면 안의 내용이 크게 힘들거나 하진 않으실 듯 하네요. 우선 크게 TableLayout 을 잡고 그 안에 HTML의 &amp;lt;tr&amp;gt;과 같은 TableRow로 테이블을 나눠주시면 됩니다. 로우안에 들어가는 내용은 View 속성을 가진 객체라면 상관없이 배치할 수 있습니다. 그 예로 위의 코드에서는 간단히 TextView 를 사용하고 있죠. 다르게는 ImageView 도 넣어볼 수 있을 것입니다.&lt;br /&gt;&lt;br /&gt;그럼 실행을 한번 해볼까요? 코딩을 실 수 없이 하셨다면 아래와 같은 실행결과를 보 실 수 있을 듯 합니다.(복사 붙여넣기 하지 마시고 직접 읽어보시면서 손으로 코딩하시는게 좋을 듯 합니다. 예제이긴 하지만 그래도 직접 쓰는거랑 붙여넣기 하는 거랑은 이해하는 부분에서 크게 차이가 생기니깐요)&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XYaf2dToBN.png" style="width:320px;height:480px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;다음에도 역시 View와 관련된 글을 마지막으로 하나더 포스팅하겠습니다.&lt;br /&gt;&lt;br /&gt;즐거운 주말 되세요. ^^&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6924282192307269721?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6924282192307269721/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-table-layout.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6924282192307269721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6924282192307269721'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-table-layout.html' title='Hello Table Layout'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1307922082410308661</id><published>2010-01-28T08:25:00.000+09:00</published><updated>2011-01-29T22:24:54.517+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아이패드'/><category scheme='http://www.blogger.com/atom/ns#' term='IT NEws?'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='Steve Jobs'/><category scheme='http://www.blogger.com/atom/ns#' term='스티브잡스'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='애플'/><title type='text'>애플 차기제품 iPad</title><content type='html'>&lt;br /&gt;드디어 애플의 새로운 차기제품에 대한 발표가 있었는데요. 제품이름이 iPad 라고 하네요.&lt;br /&gt;어떤 제품인지 한번 동영상으로 스티브잡스의 프레젠을 한번 보시죠.&lt;br /&gt;&lt;br /&gt;&lt;div style="float: left; margin-right: 10px; text-align: center;"&gt;&lt;object width="522" height="348"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cCevnzsHN20&amp;amp;hl=ko_KR&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/cCevnzsHN20&amp;amp;hl=ko_KR&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="522" height="348"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;각가지 기능들이 탑재된 타블릿인것 같은데..... 디자인은 그냥 iPhone 하고 똑같다고 볼 수 있군요.&lt;br /&gt;좀 큰 아이폰?? 디자인을 너무 오래 해먹는거 아닌가 하는 짧은 생각입니다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1307922082410308661?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1307922082410308661/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%95%A0%ED%94%8C-%EC%B0%A8%EA%B8%B0%EC%A0%9C%ED%92%88-ipad.html#comment-form' title='6개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1307922082410308661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1307922082410308661'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%95%A0%ED%94%8C-%EC%B0%A8%EA%B8%B0%EC%A0%9C%ED%92%88-ipad.html' title='애플 차기제품 iPad'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-3774426709306543547</id><published>2010-01-28T06:59:00.000+09:00</published><updated>2011-01-29T22:24:54.488+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='벤쿠버'/><category scheme='http://www.blogger.com/atom/ns#' term='카필라노'/><category scheme='http://www.blogger.com/atom/ns#' term='서스펜션 브릿지'/><category scheme='http://www.blogger.com/atom/ns#' term='capilano'/><category scheme='http://www.blogger.com/atom/ns#' term='Trip to somewhere'/><category scheme='http://www.blogger.com/atom/ns#' term='suspension bridge'/><title type='text'>Capilano Suspension Bridge</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;저번 크리스마스 시즌, 휴가기간이 자그만치 2주나 주어져서 집에서 뒹굴뒹굴 거리다가 친구의 전화로&lt;br /&gt;가게된 Capilano Suspension Bridge!!! &lt;br /&gt;&lt;br /&gt;그냥 엄청난 길이의 흔들다리가 있다는 말 밖에 못 들었습니다. 그래서 별 흥미없어서 안 가고 있다가&lt;br /&gt;그래도 한번 가보자 하는 마음으로 찾아갔었습니다. ㅎㅎ&lt;br /&gt;&lt;br /&gt;겨울의 벤쿠버는 별로 유명하지 않지만 그래도 한번 오시게 되는 기회가 생기신다면 Capilano Suspension Bridge를 찾아가보는 것도 괜찮지 않나 생각됩니다.&lt;br /&gt;&lt;br /&gt;&lt;p id="more-18-0" class="moreless_fold" style="color: #000000; padding: 0 0 0 10px;"&gt;&lt;span style="cursor: pointer;" onclick="if (window.TC$PRIV_toggleMoreLessBlogger != undefined) {TC$PRIV_toggleMoreLessBlogger(this, '18-0','열기','닫기'); return false;} else {document.getElementById('content-18-0').style.display='';}"&gt;      열기&lt;/span&gt;&lt;/p&gt;  &lt;div id="content-18-0" class="moreless_content" style="display: none; border: 1px dashed #cccccc; background-color: #f3f3f3; margin: 0 10px padding: 5px;"&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XMrLolxa54.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XMrLolxa54.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XCcG11iGaW.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XCcG11iGaW.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XZzydQl2r0.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XZzydQl2r0.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XMPq5fzvbZ.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XMPq5fzvbZ.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XbLCFcHscS.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XbLCFcHscS.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XFaumNB4Os.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XFaumNB4Os.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XXdvHkDcer.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XXdvHkDcer.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XXRERYRwre.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XXRERYRwre.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XVTmn4SyNE.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XVTmn4SyNE.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XOFLjb2wwE.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XOFLjb2wwE.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XUmtVdHMX6.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XUmtVdHMX6.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XFJaafRoDF.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XFJaafRoDF.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xa9v2azpcb.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/Xa9v2azpcb.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XU80bVmxEZ.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XU80bVmxEZ.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XD5q1RTwKu.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XD5q1RTwKu.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XONaSmkJNn.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XONaSmkJNn.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XUsSZokKYS.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XUsSZokKYS.jpg')" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-3774426709306543547?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/3774426709306543547/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/capilano-suspension-bridge.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3774426709306543547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3774426709306543547'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/capilano-suspension-bridge.html' title='Capilano Suspension Bridge'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-2634745285194503002</id><published>2010-01-28T03:56:00.000+09:00</published><updated>2011-01-29T22:24:54.456+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='레이아웃'/><category scheme='http://www.blogger.com/atom/ns#' term='드로이드드로우'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='droiddraw'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>레이아웃을 쉽게 만들어보자</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;앞선 포스팅에서 알려드린바와 같이 레이아웃을 설계할때에는 xml 코드를 사용합니다.&lt;br /&gt;&lt;br /&gt;저 역시 xml 코드를 사용한 적이 거의 없기 때문에 설계시 곤란한 점이 많은데요.&lt;br /&gt;&lt;br /&gt;저같은 분들을 위해 괜찮은 프로그램을 하나 소개합니다.&lt;br /&gt;&lt;br /&gt;DroidDraw(&lt;a href="http://www.droiddraw.org/"&gt;http://www.droiddraw.org/&lt;/a&gt;) 라는 프로그램입니다. 해당 사이트로 접속하셔서 자신의 운영체제에 맞는걸 다운로드 받으시면 됩니다.&lt;br /&gt;&lt;br /&gt;C++ 의 MFC 나 JAVA 의 JFC 같다고 할까요? ㅎㅎ&lt;br /&gt;&lt;br /&gt;이제 레이아웃 설계 손쉽게 해보세요.&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XbudwAFCCv.jpg" style="width:550px;height:323px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XbudwAFCCv.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-2634745285194503002?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/2634745285194503002/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83%EC%9D%84-%EC%89%BD%EA%B2%8C-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EC%9E%90.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2634745285194503002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2634745285194503002'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83%EC%9D%84-%EC%89%BD%EA%B2%8C-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EC%9E%90.html' title='레이아웃을 쉽게 만들어보자'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-2016001714796738949</id><published>2010-01-27T07:11:00.000+09:00</published><updated>2011-01-29T22:24:54.382+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='벤쿠버'/><category scheme='http://www.blogger.com/atom/ns#' term='올림픽'/><category scheme='http://www.blogger.com/atom/ns#' term='Vancouver'/><category scheme='http://www.blogger.com/atom/ns#' term='Trip to somewhere'/><category scheme='http://www.blogger.com/atom/ns#' term='Granville'/><category scheme='http://www.blogger.com/atom/ns#' term='그랜빌'/><title type='text'>Vancouver Olympics -Granville Street-</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;저번에 포스팅한 것처럼 오늘 점심시간에 올림픽을 위해 장식해놓은 거리인 Granville Street 를 다녀왔습니다.&lt;br /&gt;&lt;br /&gt;머 그렇게 화려하게 해놓지는 않았지만 사진찍을 거리는 생겼더군요 ㅎㅎ&lt;br /&gt;&lt;br /&gt;사진 보실 분들은 아래를 클릭!!!&lt;br /&gt;&lt;br /&gt;&lt;p id="more-16-0" class="moreless_fold" style="color: #000000; padding: 0 0 0 10px;"&gt;&lt;span style="cursor: pointer;" onclick="if (window.TC$PRIV_toggleMoreLessBlogger != undefined) {TC$PRIV_toggleMoreLessBlogger(this, '16-0','열기','닫기'); return false;} else {document.getElementById('content-16-0').style.display='';}"&gt;      열기&lt;/span&gt;&lt;/p&gt;  &lt;div id="content-16-0" class="moreless_content" style="display: none; border: 1px dashed #cccccc; background-color: #f3f3f3; margin: 0 10px padding: 5px;"&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XGJ3tmUfGx.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XGJ3tmUfGx.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XDaQ1Z1uQM.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XDaQ1Z1uQM.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XfKfxIxB5n.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XfKfxIxB5n.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XXde4uXjbb.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XXde4uXjbb.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XVmJC0B6dm.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XVmJC0B6dm.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XEXAgTCG5f.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XEXAgTCG5f.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XPf8It31f2.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XPf8It31f2.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XcjJBFwekY.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XcjJBFwekY.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XL3dUdi5zm.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XL3dUdi5zm.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XTCm5aV11M.jpg" style="width:550px;height:733px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XTCm5aV11M.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XLnxBuT0vi.jpg" style="width:550px;height:412px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XLnxBuT0vi.jpg')" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-2016001714796738949?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/2016001714796738949/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/vancouver-olympics-granville-street.html#comment-form' title='4개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2016001714796738949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2016001714796738949'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/vancouver-olympics-granville-street.html' title='Vancouver Olympics -Granville Street-'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1147746702615901952</id><published>2010-01-27T04:03:00.000+09:00</published><updated>2011-01-29T22:24:54.349+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='예약판매'/><category scheme='http://www.blogger.com/atom/ns#' term='모토로이'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='요금제'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드폰'/><category scheme='http://www.blogger.com/atom/ns#' term='요금'/><title type='text'>모토로이 예약판매 실시</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XOxqZmDrBL.jpg" style="width:554px;height:1073px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XOxqZmDrBL.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;드디어 모토로이 예약판매가 실시 되었습니다. 이번 이벤트는 T월드 홈페이지내의 T숍, 오픈마켓 11번가, G마켓, 옥션 등 온라인 쇼핑몰  과 전국 SK텔레콤 대리점 에서 가능하다고 합니다.&lt;br /&gt;&lt;br /&gt;기간은 지난 26일부터 2월 4일까지 접수를 받고 2월 5일부터 배송이 시작된다고 하네요.&lt;br /&gt;&lt;br /&gt;저는 예약판매 따위는 상관 없고 요금제가 제일 궁금했습니다. 어차피 지금바로 살 수도 없거니와&lt;br /&gt;가격을 알아야 구매여부를 알 수 있으니까요.&lt;br /&gt;&lt;br /&gt;그럼 요금제를 한번 살펴보죠.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XBOl6riJZd.gif" style="width:550px;height:245px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XBOl6riJZd.gif')" /&gt;&lt;/div&gt;&lt;br /&gt;제가 SK를 한번도 써보지 않아서 이 요금제가 어떠한지는 잘 모르겠네요. 그냥 저는 그렇게 나쁘지는&lt;br /&gt;않다고 생각이 됩니다. 여러분들 생각은 어떠신지?&lt;br /&gt;&lt;br /&gt;애기를 들어보니 이 요금제로 계속 가야 하는게 아니라고 하네요. 요금제를 1~2달 지난후에 변경이 가능하다고 하나 기기값 할인가격이 추가되어 한달요금이 청구된다고 하니 나중에 자신한테 맞고 저렴하다고 생각되는 걸로 바꾸시면 될 듯 합니다.&lt;br /&gt;&lt;br /&gt;실 사용기는 2월 5, 6일 이후에나 알 수 있을 것 같습니다.&lt;br /&gt;&lt;br /&gt;모토로이 예약구입 하신분들 실 사용기 빨리 올려주길 기대하면서 ㅠ.ㅠ&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1147746702615901952?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1147746702615901952/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EB%AA%A8%ED%86%A0%EB%A1%9C%EC%9D%B4-%EC%98%88%EC%95%BD%ED%8C%90%EB%A7%A4-%EC%8B%A4%EC%8B%9C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1147746702615901952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1147746702615901952'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EB%AA%A8%ED%86%A0%EB%A1%9C%EC%9D%B4-%EC%98%88%EC%95%BD%ED%8C%90%EB%A7%A4-%EC%8B%A4%EC%8B%9C.html' title='모토로이 예약판매 실시'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-2857010964973999592</id><published>2010-01-27T03:50:00.000+09:00</published><updated>2011-01-29T22:24:54.320+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='LinearLayout'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>Hello LinearLayout 살펴보기</title><content type='html'>자~ 오늘은 이전에 작성해보았던 LinearLayout 에 작성된 코드에 대해 알아보도록 하죠&lt;br /&gt;&lt;br /&gt;기본적으로 레이아웃은 XML 코드로 작성이 되어 있습니다.&lt;br /&gt;&lt;br /&gt;인터페이스를 구성하기 위해선 이 xml 코드를 작성할 필요가 있지요.&lt;br /&gt;&lt;br /&gt;먼저 LinearLayout 은 자식 뷰 요소들이 수평 또는 수직적으로 배치되는 GroupView 라고 합니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(187, 187, 187); padding: 10px; background-color: rgb(221, 221, 221);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="tag"&gt;&amp;lt;LinearLayout&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="atn"&gt;xmlns:android&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:orientation&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"vertical"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;LinearLayout 의 배치는 orientation 으로 vertical(수평) 또는 horizontal(수직) 로 결정해주시면 됩니다.&lt;br /&gt;&lt;br /&gt;layout_width 와 layout_height 에서 액티비티 내의 뷰의 크기를 설정해줄 수 있습니다.&lt;br /&gt;&lt;br /&gt;기본적으로 fill_parent 와 wrap_content 가 제공됩니다.&lt;br /&gt;&lt;br /&gt;fill_parent 는 화면에 꽉 차도록, wrap_content는 각 View에 필요한만큼만 화면을 차지하도록 하게 합니다.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(244, 244, 244);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"red"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"center_horizontal"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:background&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"#aa0000"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;각각의 LinearLayout에는 위에서 언급했듯이 각각의 View들을 배치할 수 있습니다. 여러View가 있지만 먼저 TextView를 보도록 하지요.(차후에 다른 View들에 대한 언급도 하도록 하겠습니다.)&lt;br /&gt;&lt;br /&gt;TextView는 이름에서 알 수 있듯이 텍스트, 즉 글을 표시하기 위한 View 입니다. 각 속성에 의해서 화면에 표시할 값을 정해줄 수 있죠.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(187, 187, 187); padding: 10px; background-color: rgb(221, 221, 221);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;void&lt;/span&gt;&lt;span class="pln"&gt; onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Bundle&lt;/span&gt;&lt;span class="pln"&gt; savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;super&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; setContentView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;layout&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;main&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Hello LinearLayout 클래스의 onCreate 메소드입니다.&lt;br /&gt;&lt;br /&gt;기본적인 코드인걸 알 수 있습니다. 이 메소드 안의 setContentView 는 xml파일을 읽어들여 화면에 &lt;br /&gt;표시해주는 역할을 하는 메소드 입니다. R.layout.main 은 main.xml 파일을 가리키고 있지요. 즉 나중에 여러개의 액티비티를 생성하실 경우 layout에 새로운 xml 을 작성하셔서 R.layout.해당파일이름 으로 연결하시면 사용이 가능합니다.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-2857010964973999592?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/2857010964973999592/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-linearlayout-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2857010964973999592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2857010964973999592'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-linearlayout-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0.html' title='Hello LinearLayout 살펴보기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1570128066450063054</id><published>2010-01-26T07:16:00.000+09:00</published><updated>2011-01-29T22:24:54.287+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='LinearLayout'/><category scheme='http://www.blogger.com/atom/ns#' term='레이아웃'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>Hello LinearLayout</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;p&gt;오래간만에 이렇게 안드로이드글을 쓰네요. 원래 약속같은거 잘 안생기는데 이번 주말은 특이하게&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;약속이 잡혀버렸네요. ㅎㅎ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;머 상관도 없는 말은 접어두고 본론으로 들어가죠.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이번에는 LinearLayout에 대해 포스팅 해보겠습니다. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;간단히 소스코드 부터 들어가보도록 하죠.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;먼저 안드로이드 프로젝트를 하나 생성해 주세요. 프로젝트 생성하는 방법을 모르신다면&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;앞서 포스팅한 &lt;a target="_blank" href="http://coreadark.textcube.com/6"&gt;Hello Android &lt;/a&gt;를 참고해 주시기 바랍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XIgZ7hha6j.jpg" style="width:235px;height:187px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XIgZ7hha6j.jpg')" /&gt;&lt;/div&gt;주로 View 화면을 구성하실 때에는 layout 파일을 수정하시면 됩니다. 그런데 이 파일의 위치를&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;모르신다면 이클립스 왼쪽 패키지 관리창에서 해당 프로젝트의 res -&amp;gt; layout -&amp;gt; main.xml 파일을 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;더블클릭으로 열어주시면 됩니다.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;파일을 여셨다면 다음과 같이 &lt;br /&gt;&lt;/p&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(244, 244, 244);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="pun"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="pln"&gt;xml version&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"1.0"&lt;/span&gt;&lt;span class="pln"&gt; encoding&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="str"&gt;"utf-8"&lt;/span&gt;&lt;span class="pun"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;LinearLayout&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="atn"&gt;xmlns:android&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:orientation&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"vertical"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;LinearLayout&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:orientation&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"horizontal"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"red"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"center_horizontal"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:background&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"#aa0000"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"green"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"center_horizontal"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:background&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"#00aa00"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"blue"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"center_horizontal"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:background&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"#0000aa"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"yellow"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:gravity&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"center_horizontal"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:background&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"#aaaa00"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;LinearLayout&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:orientation&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"vertical"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"row one"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:textSize&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"15pt"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"row two"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:textSize&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"15pt"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"row three"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:textSize&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"15pt"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;TextView&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:text&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"row four"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:textSize&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"15pt"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_width&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"fill_parent"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_height&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"wrap_content"&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="atn"&gt;android:layout_weight&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="atv"&gt;"1"&lt;/span&gt;&lt;span class="tag"&gt;/&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;위와 같이 수정하셨다면 이제 한번 실행을 해볼까요?&lt;br /&gt;&lt;br /&gt;클래스파일의 수정은 뭐 필요 없습니다. 기본적으로 생성된 코드로 수정된 사항을 확인할 수 있으니까요.&lt;br /&gt;&lt;br /&gt;실행을 하시면 다음과 같은 결과를 보실 수 있으실 겁니다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XIHjw5gRAC.png" style="width:322px;height:429px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XIHjw5gRAC.png')" /&gt;&lt;/div&gt;&lt;br /&gt;그럼 다음에는 이 소스코드에 대해서 자세하진 않지만 나름 노력하여 설명을 하도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1570128066450063054?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1570128066450063054/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-linearlayout.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1570128066450063054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1570128066450063054'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-linearlayout.html' title='Hello LinearLayout'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-7281550888178044950</id><published>2010-01-26T06:52:00.000+09:00</published><updated>2011-01-29T22:24:54.250+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='벤쿠버'/><category scheme='http://www.blogger.com/atom/ns#' term='올림픽'/><category scheme='http://www.blogger.com/atom/ns#' term='캐나다'/><title type='text'>Vancouver Olympics</title><content type='html'>점점 올림픽이 다가오고 있다는걸 느끼게 되는것 같네요.&lt;br /&gt;&lt;br /&gt;버스에는 금메달을 기원하는 문구가 보이기 시작하고&lt;br /&gt;&lt;br /&gt;스카이트레인 역에 달려있는 TV들에도 올림픽 광고가 보이기 시작....&lt;br /&gt;&lt;br /&gt;Granville Street 에는 관광객들을 위해서인지 도로자체를 막고 이쁘게 꾸며놨네요...&lt;br /&gt;&lt;br /&gt;나중에 시간되면 가서 사진좀 찍고 다시 포스트를 해야겠어요 ㅋㅋ&lt;br /&gt;&lt;br /&gt;현지에서 느껴보는 올림픽의 기운이란.....&lt;br /&gt;&lt;br /&gt;올림픽 관련 기념품도 좀 사볼까??? 이런 생각도 해봅니다.&lt;br /&gt;&lt;br /&gt;아무튼 특정종목만 너무 관심가지지 말고!!! 올림픽에 참가하는 모든 선수분들 화이팅!!&lt;br /&gt;&lt;br /&gt;좋은성적 거두셨으면 하는 바램 이렇게 몇자 적어봅니다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-7281550888178044950?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/7281550888178044950/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/vancouver-olympics.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/7281550888178044950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/7281550888178044950'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/vancouver-olympics.html' title='Vancouver Olympics'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1585674555935973909</id><published>2010-01-23T08:17:00.000+09:00</published><updated>2011-01-29T22:24:54.223+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod Touch'/><title type='text'>아이팟 터치?</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XcQXREBFyP.jpg" style="width:451px;height:300px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XcQXREBFyP.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;오늘 점심시간에 심심해서 그냥 예전에 다니던 학원으로 놀러갔는데..... 거기서 간만에 보는 Yujiro&lt;br /&gt;&lt;br /&gt;ㅋㅋㅋ 간단히 인사 한번 나누고 안부나 물어볼려고 하는데..... 갑자기 이녀석의 한마디&lt;br /&gt;&lt;br /&gt;Help me, Josh~ (참고로 내 영어이름은 Joshua 다 줄여서 Josh)&lt;br /&gt;&lt;br /&gt;갑자기 도움을 청하길래 무슨 일 있냐고 물어보는데.......... 갑자기 지난 Boxing Day 때 아이팟 터치를 &lt;br /&gt;&lt;br /&gt;샀더랜다... 젠장 망할.... 돈 도 많지......&lt;br /&gt;&lt;br /&gt;그런데 정작 중요한건 뭐가 뭔지 잘 모르겠다는거 ㅡ,ㅡ;;; 그래서 자기한테 어떻게 사용하면 되는지&lt;br /&gt;&lt;br /&gt;가르쳐 달랜다..... 머 나도 알아야지..... 한번도 안써봤는데.....&lt;br /&gt;&lt;br /&gt;그래도 넌 Geek(컴퓨터에 미친놈) 이니까 잘 할 수 있을거다라는데...... 이번 주말에 집으로 찾아&lt;br /&gt;&lt;br /&gt;온단다.... 아놔~~ 그래서 지금 아이팟에 대한 정보를 수집중.&lt;br /&gt;&lt;br /&gt;원래 전자기기 라는게 몰라도 사용해보면서 알아가는거 아닌가?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1585674555935973909?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1585674555935973909/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%95%84%EC%9D%B4%ED%8C%9F-%ED%84%B0%EC%B9%98.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1585674555935973909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1585674555935973909'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%95%84%EC%9D%B4%ED%8C%9F-%ED%84%B0%EC%B9%98.html' title='아이팟 터치?'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-2738874829714912356</id><published>2010-01-23T04:01:00.000+09:00</published><updated>2011-01-29T22:24:54.197+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><title type='text'>오늘도 출근~</title><content type='html'>그렇게 크게 할 일 이 없는데도 출근하는게 이젠 좀 지겹다 ㅡ,ㅡ;;&lt;br /&gt;&lt;br /&gt;무급 인턴쉽이라서 그런지 성취감도 그렇게 크진 않다...... 나중에 Reference Letter 와 Certification 을&lt;br /&gt;&lt;br /&gt;받게 되면 좀 성취감이 들려나??&lt;br /&gt;&lt;br /&gt;3주 뒤면 이 인턴쉽도 끝이 나는구나.... ㅎㅎ 3주 뒤가 기다려진다.&lt;br /&gt;&lt;br /&gt;오늘은 일 마치고 쌀을 받으러 간다. 집에 쌀이 다 떨어져서 며칠째 라면과 까르보나라 로 버티고 있다.&lt;br /&gt;&lt;br /&gt;이기적인 몸뚱아리 면 먹으면 밥이 땡기고 밥 먹으면 면이 땡기니...... 머 어쩌라는 건지... ㅡ_-a&lt;br /&gt;&lt;br /&gt;오늘은 강좌 중심 보다는 뉴스 중심으로 포스팅을 할 생각이다.&lt;br /&gt;&lt;br /&gt;괜찮은 뉴스 거리가 있다면 말이지만...... ㅎㅎㅎ&lt;br /&gt;&lt;br /&gt;머 뉴스라기 보다는 이건 내 잡설인데...... 지금은 그런 경우가 별로 없지만 (모토로이 때문일까?)&lt;br /&gt;&lt;br /&gt;예전에 보면 아이폰과 옴니아2를 비교하는 글들이 참 많았다.... &lt;br /&gt;&lt;br /&gt;그런 글들을 볼때마다 머리속에 드는 생각 도대체 왜 저 둘을 비교하지?? 비교거리가 되기나 하나?&lt;br /&gt;&lt;br /&gt;그렇다. 비교를 해도 왜 옴니아2와 비교하는 걸까? 2009 최악의 기기로 선정된 옴니아2(어떤 뉴스에선 2009 최고의 기기로 선정됐다더라)&lt;br /&gt;&lt;br /&gt;돈을 준다면 모를까 내 돈 주고 사고싶지 않은 기기..... 머 사용하시는 분들한테는 죄송한 마음이지만&lt;br /&gt;&lt;br /&gt;이건 머 개인적인 거니까요....&lt;br /&gt;&lt;br /&gt;머 이래저래 주제도 없는 글이 이어지고 있네.....&lt;br /&gt;&lt;br /&gt;머리속은 별 시덥잖은 생각들로만 가득차있으니 이렇게 글로 뱉어내는 수밖에...... (그런다고 사라지겠니??)&lt;br /&gt;&lt;br /&gt;아무튼 오늘도 6시간만 버티자 ㅎㅎ&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-2738874829714912356?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/2738874829714912356/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%98%A4%EB%8A%98%EB%8F%84-%EC%B6%9C%EA%B7%BC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2738874829714912356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/2738874829714912356'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%98%A4%EB%8A%98%EB%8F%84-%EC%B6%9C%EA%B7%BC.html' title='오늘도 출근~'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6676716254475328184</id><published>2010-01-23T03:33:00.000+09:00</published><updated>2011-01-29T22:24:54.167+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KT'/><category scheme='http://www.blogger.com/atom/ns#' term='IT NEws?'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='개통'/><category scheme='http://www.blogger.com/atom/ns#' term='넥서스원'/><category scheme='http://www.blogger.com/atom/ns#' term='전파인증'/><category scheme='http://www.blogger.com/atom/ns#' term='Nexus One'/><title type='text'>국내 첫 넥서스원 개통자 탄생!!</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XLf3cggAIp.gif" style="width:552px;height:258px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XLf3cggAIp.gif')" /&gt;&lt;/div&gt;&lt;br /&gt;국내 첫 넥서스원 개통자가 나왔습니다. &lt;br /&gt;&lt;br /&gt;개통자분은 넥서스원을 해외에서 구입하신 후 개인전파인증 하신 후에 올레KT 트윗에 문의를 했다는군요.&lt;br /&gt;&lt;br /&gt;이후 KT 측은 아이폰과 마찬가지로 개인전파인증을 마친 단말은 적극 지원할 예정이라는 트윗을 올렸습니다.&lt;br /&gt;&lt;br /&gt;그렇다면 이제 해외에서만 출시된 스마트폰을 개인전파인증으로 KT에서 개통이 되겠군요.&lt;br /&gt;&lt;br /&gt;ㅎㅎㅎ 모토로이만 생각할게 아니고 해외구매도 이제 한번 생각해 봐야 겠네요&lt;br /&gt;&lt;br /&gt;아무튼 조금씩이지만 국내 스마트폰 시장이 바뀌어 가는 것 같긴 합니다.&lt;br /&gt;&lt;br /&gt;이통사들은 현 이익만을 바라지 말고 이렇게 소비자들도 생각하면서 운영해갔으면 하네요&lt;br /&gt;&lt;br /&gt;-이미지 출처 올레 KT 트위터 &lt;span style="text-decoration: underline;"&gt;&lt;a target="_blank" href="http://twitter.com/ollehkt"&gt;http://twitter.com/ollehkt&lt;/a&gt; &lt;/span&gt;-&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6676716254475328184?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6676716254475328184/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EA%B5%AD%EB%82%B4-%EC%B2%AB-%EB%84%A5%EC%84%9C%EC%8A%A4%EC%9B%90-%EA%B0%9C%ED%86%B5%EC%9E%90-%ED%83%84%EC%83%9D.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6676716254475328184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6676716254475328184'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EA%B5%AD%EB%82%B4-%EC%B2%AB-%EB%84%A5%EC%84%9C%EC%8A%A4%EC%9B%90-%EA%B0%9C%ED%86%B5%EC%9E%90-%ED%83%84%EC%83%9D.html' title='국내 첫 넥서스원 개통자 탄생!!'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-5738817547033435576</id><published>2010-01-22T15:11:00.000+09:00</published><updated>2011-01-29T22:24:54.121+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hello Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Activity'/><category scheme='http://www.blogger.com/atom/ns#' term='context'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='view'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>Hello Android 살펴보기</title><content type='html'>앞서 작성해 보았던 Hello Android 를 한 번 살펴보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;먼저 새로운 Code를 추가하기전부터 보도록 하죠.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(244, 244, 244);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="kwd"&gt;package&lt;/span&gt;&lt;span class="pln"&gt; com&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;example&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;helloandroid&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd"&gt;import&lt;/span&gt;&lt;span class="pln"&gt; android&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;app&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Activity&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd"&gt;import&lt;/span&gt;&lt;span class="pln"&gt; android&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;os&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Bundle&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;HelloAndroid&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;extends&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Activity&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;/** Called when the activity is first created. */&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="lit"&gt;@Override&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;void&lt;/span&gt;&lt;span class="pln"&gt; onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Bundle&lt;/span&gt;&lt;span class="pln"&gt; savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;super&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setContentView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;R&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;layout&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;main&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;저희가 생성한 클래스는 기본적으로 Activity 클래스를 상속받습니다. Activity 클래스는 action 을 수행하는 하나의 독립된 어플리케이션이라고 할 수 있습니다.&lt;br /&gt;&lt;br /&gt;저희가 나중에 만들게된 어플들은 다수의 Activity 로 만들어질수 있지만 사용자는 한번에 하나의 Activity 와 소통이 가능합니다. &lt;br /&gt;&lt;br /&gt;다음으로 보실것은 onCreate 메소드 입니다. 이 메소드는 해당 액티비티가 실행이 될 경우 호출이 되는 메소드 입니다. 머 모든 초기화와 UI 의 생성이 여기에 위치해 있다고 보시면 됩니다.&lt;br /&gt;그렇다고 해서 Activity 가 꼭 UI를 요구하지는 않지만, 머 주로 그렇다는 거죠.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(187, 187, 187); padding: 10px; background-color: rgb(221, 221, 221);"&gt;&lt;pre class="prettyprint"&gt;&lt;span class="kwd"&gt;package&lt;/span&gt;&lt;span class="pln"&gt; com&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;android&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;helloandroid&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd"&gt;import&lt;/span&gt;&lt;span class="pln"&gt; android&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;app&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Activity&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd"&gt;import&lt;/span&gt;&lt;span class="pln"&gt; android&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;os&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Bundle&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span class="kwd"&gt;import&lt;/span&gt;&lt;span class="pln"&gt; android&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;widget&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;TextView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;/strong&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;HelloAndroid&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;extends&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Activity&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;/** Called when the activity is first created. */&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="lit"&gt;@Override&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;void&lt;/span&gt;&lt;span class="pln"&gt; onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Bundle&lt;/span&gt;&lt;span class="pln"&gt; savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="kwd"&gt;super&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;onCreate&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;savedInstanceState&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span class="typ"&gt;TextView&lt;/span&gt;&lt;span class="pln"&gt; tv &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TextView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;this&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tv&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setText&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"Hello, Android"&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setContentView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;tv&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;/strong&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;안드로이드의 UI 는 View 라고 불리는 객체들의 체계로 구성됩니다. View는 Layout 위에 각종 구성요소(이미지, 버튼, 텍스트)같은 것들을 그릴 수 있습니다. 이러한 각각의 객체들은 View의 하위 클래스 들이고, 위와 같이 텍스트를 마음대로 주무르는 하위 클래스가 TextView 입니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;위와 같이 수정된 코드에서 저희는 생성자를 통해서 TextView 인 tv 를 생성하였습니다. TextView 생성자는 Context를 인자값으로 보내는데 위에서 보면 this 를 보내고 있습니다. 그 이유는 Activity 클래스는 Context 클래스로부터 상속을 받습니다. 그렇다면 여러분이 만든 클래스는 Activity 클래스의 하위 클래스이고 Acitivity 클래스는 Context 클래스의 하위 클래스이므로 여러분의 클래스 또한 Context 인것입니다. &lt;br /&gt;&lt;br /&gt;다음으로 setText 메소드를 이용해서 tv 에 텍스트 값을 넣어줍니다.&lt;br /&gt;&lt;br /&gt;마지막은 setContentView 메소드에 텍스트뷰인 tv 값을 인자값으로 던져주어 액티비티 위에 텍스트 값을 보여줍니다. &lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;어느정도 이해가 되셨는지 잘 모르겠습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;저도 안드로이드 개발자 사이트에서 공부하고 있는 상태이므로 그렇게 확실하게는 전달하지 못하는 것&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;같기도 하군요 ㅠ.ㅠ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그래도 열심히 하고 있단 것만 알아주시길 ㅎㅎ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다음에도 안드로이드 관련된 글로 찾아뵙도록 하죠.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-5738817547033435576?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/5738817547033435576/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-android-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5738817547033435576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/5738817547033435576'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-android-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0.html' title='Hello Android 살펴보기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-566140588657786670</id><published>2010-01-22T14:41:00.000+09:00</published><updated>2011-01-29T22:24:54.084+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='단축키'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='자바'/><category scheme='http://www.blogger.com/atom/ns#' term='Shortcut'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><category scheme='http://www.blogger.com/atom/ns#' term='이클립스'/><title type='text'>Eclipse 에서 쉽게 import 하기</title><content type='html'>제공되는 각종 패키지들을 사용하기 위해선 import 를 해야 합니다.&lt;br /&gt;&lt;br /&gt;하지만 막상 쓸려고 하면 어떤 패키지를 import 해야 할 지 모르는 경우가 있습니다.&lt;br /&gt;&lt;br /&gt;자주쓰는 경우라면 쉽게 외울 수 있지만, 그렇지 않은 경우는 직접 찾아야 하는 번거로움이 있죠&lt;br /&gt;&lt;br /&gt;주로 이클립스를 사용하셔서 JAVA Code 를 작성하시는 분들이라면 이미 알고 있겠죠?&lt;br /&gt;&lt;br /&gt;하지만 저처럼 잘 몰랐던 분들도 있으시리라 생각해 이렇게 팁을 작성합니다 ㅎㅎ&lt;br /&gt;&lt;br /&gt;그러면 그 번거로움을 해결하기 위해 간단한 단축키를 알려드리겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Ctrl + Shift + O&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;이 단축키를 사용하시면 해당되는 패키지들이 자동으로 Import 됩니다.&lt;br /&gt;&lt;br /&gt;한번 테스트 해보시길 ^^&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-566140588657786670?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/566140588657786670/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/eclipse-%EC%97%90%EC%84%9C-%EC%89%BD%EA%B2%8C-import-%ED%95%98%EA%B8%B0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/566140588657786670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/566140588657786670'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/eclipse-%EC%97%90%EC%84%9C-%EC%89%BD%EA%B2%8C-import-%ED%95%98%EA%B8%B0.html' title='Eclipse 에서 쉽게 import 하기'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-1186064001521829298</id><published>2010-01-22T09:47:00.000+09:00</published><updated>2011-01-29T22:24:54.049+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hello World!!'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='프로그래밍'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><title type='text'>Hello Android?</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;모든 프로그래밍의 시작은 역시 화면에 Hello World를 찍어보는게 아닐까?&lt;br /&gt;&lt;br /&gt;그래서 안드로이드 프로그래밍도 마찬가지로 Hello World를 먼저 찍어보겠습니다.&lt;br /&gt;&lt;br /&gt;그러면 맨 먼저 이클립스를 실행해야 겠죠? (아직 개발환경 설정이 되지 않으신 분은 이전 포스트&lt;h2&gt;&lt;a href="../../3" rel="bookmark"&gt;&lt;span class="entry-title"&gt;안드로이드 시작하기(설치)&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt; 를 참고해주세요&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQvJGJTThK.jpg" style="width:336px;height:349px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XQvJGJTThK.jpg')" /&gt;&lt;/div&gt;이클립스를 실행하셔서 메뉴의 &lt;br /&gt;File -&amp;gt; New -&amp;gt; Others 로 들어가주세요.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XAtVqjgJHh.jpg" style="width:300px;height:286px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XAtVqjgJHh.jpg')" /&gt;&lt;/div&gt;새로운 프로젝트를 생성하기 위해 옆의 그림과 같이 Android 카테고리의 Android Project를 선택하셔서 Next 를 클릭해주시면 다음으로 넘어갑니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XfDNanUXoo.jpg" style="width:302px;height:440px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XfDNanUXoo.jpg')" /&gt;&lt;/div&gt;자 이제 프로젝트에 대한 정보를 넣어주어야 합니다.&lt;br /&gt;&lt;br /&gt;Project Name 프로젝트의 이름&lt;br /&gt;Contents 이곳에서 새로운 프로젝트인지 기존의 프로젝트를 가져와서 쓸 것인지를 결정합니다.&lt;br /&gt;Build Target 안드로이드의 버전을 선택하시면 됩니다. 저는 제일 최신 버전인 2.1을 선택&lt;br /&gt;Application name 에는 이 프로그램의 이름을 적어주시면 됩니다.&lt;br /&gt;Package name 에도 역시 패키지 이름을 정해넣어주시면 됩니다. [ex. com.example.helloworld]&lt;br /&gt;Create Activity 에는 액티비티의 이름을 적어주시면 됩니다.&lt;br /&gt;Min SDK Version 은 Build Target 에서 Target을 선택하시면 자동으로 기입이 되니 신경쓰지 않으셔도 됩니다.&lt;br /&gt;&lt;br /&gt;대개 프로젝트이름과 어플리케이션 이름 액티비티의 이름은 동일하게 사용합니다.&lt;br /&gt;&lt;br /&gt;이제 Finish 를 클릭하시면 새로운 프로젝트 생성~~ 두둥!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQMXiZRiUs.jpg" style="width:233px;height:335px;" alt=""  /&gt;&lt;/div&gt;새로운 프로젝트를 생성하시면 왼쪽 프로젝트 관리자 부&lt;br /&gt;&lt;br /&gt;분에 여러분의 프로젝트가 생성이 됩니다. 각 부분에 대&lt;br /&gt;&lt;br /&gt;해서는 다음에 설명을 드리기로 하고 간단하게 소스부터 &lt;br /&gt;&lt;br /&gt;볼까요. src 밑의 com.example.helloworld 를 더블클릭 &lt;br /&gt;&lt;br /&gt;하시면 기존에 많이 보시던 java 파일을 볼수가 있습니&lt;br /&gt;&lt;br /&gt;다. 요놈을 더블클릭 하면 소스창이 오른쪽에 뜨는 것을 &lt;br /&gt;&lt;br /&gt;확인 하실 수 있습니다.&lt;br /&gt;&lt;br /&gt;간단하게 소스부터 확인해 볼까요?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(255, 255, 255);"&gt;&lt;br /&gt;package com.mic.helloworld;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;&lt;br /&gt;public class HelloWorld extends Activity &lt;br /&gt;{&lt;br /&gt; &amp;nbsp;&amp;nbsp; /** Called when the activity is first created. */&lt;br /&gt; &amp;nbsp;&amp;nbsp; @Override&lt;br /&gt; &amp;nbsp;&amp;nbsp; public void onCreate(Bundle savedInstanceState) &lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; setContentView(R.layout.main);&lt;br /&gt; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;기존의 소스는 이렇습니다. 이제 몇줄만 추가해볼까요?&lt;br /&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 10px; background-color: rgb(244, 244, 244);"&gt;&lt;br /&gt;package com.mic.helloworld;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;span class="pln"&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span class="kwd"&gt;import&lt;/span&gt;&lt;span class="pln"&gt; android&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;widget&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;TextView&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;/strong&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public class HelloWorld extends Activity &lt;br /&gt;{&lt;br /&gt; &amp;nbsp;&amp;nbsp; /** Called when the activity is first created. */&lt;br /&gt; &amp;nbsp;&amp;nbsp; @Override&lt;br /&gt; &amp;nbsp;&amp;nbsp; public void onCreate(Bundle savedInstanceState) &lt;br /&gt;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;strong&gt;&lt;span class="typ"&gt;     TextView&lt;/span&gt;&lt;span class="pln"&gt; tv &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TextView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;this&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;tv&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;setText&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"Hello, Android"&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;setContentView&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;tv&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;   }&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;추가된 부분과 바뀐 부분이 보이시나요?&lt;br /&gt;&lt;br /&gt;이제 코드도 작성되었으니 한번 실행을 해보아야 겠죠?&lt;br /&gt;&lt;br /&gt;아래 그림과 같이 Run Configuration 을 실행시켜 줍니다.&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XS1c8JB9hb.jpg" style="width:266px;height:176px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XS1c8JB9hb.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xaaa5aFB4w.jpg" style="width:468px;height:330px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/Xaaa5aFB4w.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;실행 설정에서 Browse 를 클릭하시면 자신이 현재 만들어 놓은 프로젝트가 보입니다. &lt;br /&gt;&lt;br /&gt;여기서 방금 함께 만들어보면 Hello android 프로젝트를 선택하신후 Run 을 실행하시면 됩니다.&lt;br /&gt;&lt;br /&gt;안드로이드 에뮬레이터의 실행은 Virtual OS를 띄워서 실행하는 것이므로 실행하는데 있어 시간이 꽤 &lt;br /&gt;&lt;br /&gt;걸릴 수 있습니다. 혹시 뻗어버렸나? 하고 끄지 마시고 차분히 기다려 주시길.......&lt;br /&gt;&lt;br /&gt;저도 노트북으로 하는데 한번 실행시킬때마다 기다리는게 ㅠ.ㅠ&lt;br /&gt;&lt;br /&gt;차분히 기다리시면 다음과 같은 실행화면을 보실 수 있습니다. ^^&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock dual center" style="text-align: center; clear: both;"&gt;&lt;table cellspacing="5" cellpadding="0" border="0" style="margin:0 auto;"&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XSaVZajIXe.png" style="width:275pxpx;height:412pxpx;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XSaVZajIXe.png')" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XPEFZtkSFV.png" style="width:275pxpx;height:412pxpx;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XPEFZtkSFV.png')" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;다음과 같은 실행화면이 나오면 성공!!!&lt;br /&gt;&lt;br /&gt;다음에는 소스코드에 대한 분석을 해보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;부족한 글 읽어주셔서 감사합니다 ^^&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-1186064001521829298?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/1186064001521829298/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-android.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1186064001521829298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/1186064001521829298'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/hello-android.html' title='Hello Android?'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6935483851980163493</id><published>2010-01-22T03:03:00.000+09:00</published><updated>2011-01-29T22:24:54.018+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT NEws?'/><category scheme='http://www.blogger.com/atom/ns#' term='SKT'/><category scheme='http://www.blogger.com/atom/ns#' term='TAC'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='공모전'/><category scheme='http://www.blogger.com/atom/ns#' term='TStore'/><category scheme='http://www.blogger.com/atom/ns#' term='개발'/><title type='text'>SKT 안드로이드 어플리케이션 공모전</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;1~2차 TAC(Tstore Application Competition)이 종료되고 벌써 3차 TAC이 시작되었습니다.&lt;br /&gt;&lt;br /&gt;먼저 공지 포스터 부터 확인 ㄱㄱ싱!&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQt1Lx2tKv.gif" style="width:550px;height:763px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XQt1Lx2tKv.gif')" /&gt;&lt;/div&gt;&lt;br /&gt;지금은 TAC에 접수하는 것을 목표로 잡았습니다. 처음 개발이니 완성이 목표죠 ㅎㅎ&lt;br /&gt;&lt;br /&gt;그나저나 수상상금이 기발하네요 ㅋㅋㅋ&lt;br /&gt;&lt;br /&gt;상금한번 눈여겨 보시길 어이쿠 소리 나오실겁니다.&lt;br /&gt;&lt;br /&gt;일단 참가신청은 한국 돌아가서 개발팀을 정리한 후에 하도록 하고 3월중에 개최될 컨퍼런스에도 참가&lt;br /&gt;&lt;br /&gt;하고 싶은 마음이 굴뚝 같군요 ㅎㅎ&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6935483851980163493?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6935483851980163493/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/skt-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EA%B3%B5%EB%AA%A8%EC%A0%84.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6935483851980163493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6935483851980163493'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/skt-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EA%B3%B5%EB%AA%A8%EC%A0%84.html' title='SKT 안드로이드 어플리케이션 공모전'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-6298075209602244426</id><published>2010-01-22T02:05:00.000+09:00</published><updated>2011-01-29T22:24:53.897+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='개발환경'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='sdk'/><category scheme='http://www.blogger.com/atom/ns#' term='Android?'/><title type='text'>안드로이드 시작하기(설치)</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XXpuLM1NbC.jpg" style="width:205px;height:247px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XXpuLM1NbC.jpg')" /&gt;&lt;/div&gt;안드로이드를 공부하리라 결심하면서 가장 먼저 한 일은 역시 정보수집 이었습니다. 멀 알아야지 시작을 할테니까 ㅋㅋ&lt;br /&gt;&lt;br /&gt;현재 캐나다이기 때문에 서적은 구입할수 없었고(구할려고 하면 구할 수 있다. 다만 캐나다는 서적이 한국에 비해 비싸다) 도서관 홈페이지를 통해 검색해 보았으나 안드로관련 서적은 없는 상태 ㅠ.ㅠ&lt;br /&gt;&lt;br /&gt;여기저기 웹페이지, 블로그, 카페 등을 돌아다니면서 공부를 해야했습니다. ㅠ.ㅠ (여기서, 댓글은 못달았지만 많은 정보 주신 카페분들, 블로거분들에게 감사의 인사를 꾸벅 -_-)&lt;br /&gt;&lt;br /&gt;공부를 시작하면 역시 이론공부보다는 실전!! 이라고 생각하는 나이기에 ㅡ,ㅡ;;; 일단 개발환경 설치부터 들어갔습니다.&lt;br /&gt;&lt;br /&gt;안드로이드 개발환경을 구축하기 위해선 다음과 같은 과정이 필요!!&lt;br /&gt;&lt;br /&gt;&lt;ol style="list-style-type: decimal;"&gt;&lt;li&gt;이클립스 설치&lt;/li&gt;&lt;li&gt;JDK 설치&lt;/li&gt;&lt;li&gt;이클립스 플러그인 설치&lt;/li&gt;&lt;li&gt;안드로이드 SDK 설치&lt;/li&gt;&lt;li&gt;AVD 생성 (나중을 위해 Virtual SD CARD 도 생성)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;먼저 이클립스부터 설치해보도록 하죠.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/Xetb9TXvmY.jpg" style="width:504px;height:69px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/Xetb9TXvmY.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;안드로이드 개발은 자바를 기반으로 합니다. 그렇기에 자바용 개발툴을 그대로 사용할 수 있습니다. 개발시 유용한 기능 제공하는 플러그인을 지원하는 이클립스를 설치!!&lt;br /&gt;&lt;br /&gt;이클립스는 &lt;a target="_blank" href="http://www.eclipse.org"&gt;이클립스 홈페이지&lt;/a&gt;에서 다운가능합니다. 사이트를 들어가면 다운로드 항목에서 &lt;span class="packageTitle"&gt;Eclipse IDE for Java Developers&lt;/span&gt;를 다운받도록 하면 됩니다. 압축을 원하는 폴더에 해제하고 나면 이클립스 설치는 끝이납니다. &lt;br /&gt;&lt;br /&gt;개발툴이 있어도 컴파일을 할 수 없으면 말짱 도루묵!! 자바를 컴파일 하기 위해 JDK를 설치해보도록 하죠.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQ8dNNiyAe.jpg" style="width:95px;height:95px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XQ8dNNiyAe.jpg')" /&gt;&lt;/div&gt;JDK 역시 &lt;a title="[http://java.sun.com]로 이동합니다." href="http://java.sun.com/" target="_blank"&gt;Sun 홈페이지에서&lt;/a&gt; 다운로드 항목에서 Java SE로 들어가신 후 Java SE Development Kit (JDK)를 다운로드 하신 후에 설치를 해주시면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;다음으로 이클립스 플러그인인 ADT(Android Development Toolkit)를 설치하도록 합시다.&lt;br /&gt;&lt;br /&gt;이클립스 메뉴에서 Help 의 Install New Software를 선택하신 후, Add 를 선택하셔서 Location 에 http://dl-ssl.google.com/android/eclipse 를 Add 합니다.&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/MYHOME/LOCALS%7E1/Temp/moz-screenshot-2.png" alt=""&gt;&lt;img src="file:///C:/DOCUME%7E1/MYHOME/LOCALS%7E1/Temp/moz-screenshot-3.png" alt=""&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XY3RihSH91.jpg" style="width:550px;height:468px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XY3RihSH91.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;Developer Tools 를 펼치면 DDMS 와 ADT가 있습니다 체크하신후 Next&lt;br /&gt;이 이후부터는 Next 와 Finish 클릭만으로 설치하시면 됩니다. (뭔가 대충 ㅡ,ㅡ;;;)&lt;br /&gt;설치하신후에 이클립스를 다시 시작한다고 하니 갑자기 꺼진다고 놀라지 마세요.&lt;br /&gt;간혹 영어라서 읽어보지 않고 호들갑 떠시면 곤란합니다 ㅋ&lt;br /&gt;&lt;br /&gt;이제는 SDK 경로를 지정해주고 업데이트를 해보도록 하죠&lt;br /&gt;&lt;br /&gt;SDK 경로 지정은 이클립스 메뉴의 Window의 Preferences로 들어가셔서 보시면 왼쪽 메뉴에 Android를 클릭합니다. SDK 로케이션에 SDK가 설치된 경로를 지정해주시면 됩니다. 아래의 그림을 참고해주세요.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XYjmOXCRgC.jpg" style="width:550px;height:462px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XYjmOXCRgC.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;다음으로 SDK 를 업데이트 하기 위해 SDK and AVD Manager를 열어보도록 합시다. 이클립스의 툴바에 보시면 아래그림과 같은 핸드폰모양의 아이콘을 클릭하시면 됩니다.&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XJbSa5w8Gs.jpg" style="width:550px;height:404px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XJbSa5w8Gs.jpg')" /&gt;&lt;/div&gt; Manager 의 왼쪽에서 Available Packages를 선택하시면 업데이트 가능한 목록이 나옵니다. 체크를 하신후에 Install Selected를 클릭하셔서 진행하시면 됩니다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XGkgabgCpc.jpg" style="width:550px;height:352px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XGkgabgCpc.jpg')" /&gt;&lt;/div&gt;설치하기 까지 다소 시간이 걸릴 수 있으니 느긋하게 기다려주세요 ㅎㅎ&lt;br /&gt;&lt;br /&gt;이제 마지막으로 AVD 와 Virtual SD Card 를 생성해보도록 하죠.&lt;br /&gt;&lt;br /&gt;다시 한번 SDK and AVD Manager 를 열도록 합니다. 이번에는 Virtual Devices 항목을 선택해서 새롭게 생성하기 위해 New를 클릭!!&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XZz7dE13cv.jpg" style="width:399px;height:554px;" alt=""  /&gt;&lt;/div&gt;Name 에는 AVD의 이름을 Target 에는 사용할 SDK의 버전을 선택하시면 됩니다.&lt;br /&gt;요즘에는 SD Card 생성을 커맨드 명령으로 내렸는데 이제는 이렇게 이클립스에서 바로 생성이 가능합니다. 원하는 사이즈의 용량을 적으시면 됩니다.&lt;br /&gt;&lt;br /&gt;Hardware 부분에는 AVD의 특성을 넣어줄 수 있습니다. SD Card 지원여부도 New 를 선택해서 지원해주시면 됩니다.&lt;br /&gt;&lt;br /&gt;모든 설정이 끝나면 Create AVD를 클릭하셔서 마무리 하시면 됩니다.&lt;br /&gt;&lt;br /&gt;여기까지가 기본적인 안드로이드 개발환경 설정하는 방법입니다.&lt;br /&gt;첫 포스팅이라서 그렇게 좋은 자료가 되지 못 할 수도 있겠지요? ㅎㅎ&lt;br /&gt;&lt;br /&gt;그래도 찾아오시는 분들이 이자료를 통해서 쉽게쉽게 배워가셨으면 합니다. 이제 실질적인 코딩에 들어가보아야죠 ㅎㅎㅎ&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-6298075209602244426?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/6298075209602244426/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%EC%84%A4%EC%B9%98.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6298075209602244426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/6298075209602244426'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%EC%84%A4%EC%B9%98.html' title='안드로이드 시작하기(설치)'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-575979742520060585</id><published>2010-01-21T15:47:00.000+09:00</published><updated>2011-01-29T22:24:53.964+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xt720'/><category scheme='http://www.blogger.com/atom/ns#' term='IT NEws?'/><category scheme='http://www.blogger.com/atom/ns#' term='모토로이'/><category scheme='http://www.blogger.com/atom/ns#' term='부산'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드'/><category scheme='http://www.blogger.com/atom/ns#' term='안드로이드폰'/><category scheme='http://www.blogger.com/atom/ns#' term='모토로라'/><category scheme='http://www.blogger.com/atom/ns#' term='스펙'/><title type='text'>Motorola MOTOROI 출시임박!</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div style="text-align: left;"&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XHGEx7wVum.jpg" style="width:337px;height:256px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/6/67465/attach/XHGEx7wVum.jpg')" /&gt;&lt;/div&gt;Motorola 에서 Google의 OS를 탑재한 한국형 드로이드라고도 불리는 모토로이가 지난 18일 발표회를 통해 공식적으로 우리앞에 모습을 보였습니다.&lt;br /&gt;&lt;br /&gt;한국에서 처음으로 출시하는 안드로이드폰이라서 기대를 한몸에 받고 있다지요? ㅎㅎ&lt;br /&gt;&lt;br /&gt;저도 기대했던 한사람 이지만 쿼티가 빠져버린 슬픔은 어쩔 수 가 없네요 ㅠ.ㅠ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;이미 여러번 뉴스나 다른 블로그 또는 카페를 통해 스펙에 대한 정보를 들으셨겠지만 스펙을 다시 한 번 체크!!&lt;br /&gt;&lt;br /&gt;무게가 140g 이랍니다 무거운건가요? ㅋ &lt;br /&gt;&lt;br /&gt;풀터치형식으로 정전식을 사용합니다. 쿼티가 빠진만큼 슬림해졌지만 쿼티의 매력을 느껴보지 못하는게 아쉽네요&lt;br /&gt;&lt;br /&gt;액정은 3.7" (16:9) / 480x854 (Wvga) 16M color TFT_LCD. 요새 화두가 되는 AMOLED는 아니지만 그렇게 화질을 신경쓰지 않는 저로서는 크게 신경쓸 부분은 아니네요.&lt;br /&gt;&lt;br /&gt;네트워크는 WCDMA / GSM (900,1800,1900)을 지원&lt;br /&gt;&lt;br /&gt;CPU는 TI OMAP3430 (클럭 최대 600Mhz) 600Mhz로도 충분하다고 말하였다는데 실사용을 안해봐서 어떤지는 모르겠군요.&lt;br /&gt;&lt;br /&gt;메모리 : 512M Flash / 256M RAM&lt;br /&gt;&lt;br /&gt;외장 메모리 지원 : 8gb 기본 제공 - 최대 32gb 호환&lt;br /&gt;&lt;br /&gt;배터리 : 표준형 1390으로 연속통화시 약 270분, 대기모드로는 약 300시간 사용이 가능하다는군요. 이것도 직접 써보면 어떨지 알 수 있겠죠. 그래도 아이폰처럼 내장 배터리가 아니라서 배터리에 대한 걱정은 크게 없을 듯 하네요.&lt;br /&gt;&lt;br /&gt;기본 브라우저 : Webkit Full HTML5 Browser (추후 FLASH lite &amp;amp; 10지원 예정)&lt;br /&gt;&lt;br /&gt;OS는 안드로이드 2.0을 탑재하였고 3월중으로 2.1로 무상업데이트를 제공한다고 합니다.&lt;br /&gt;&lt;br /&gt;이것때문에 말이 많았었죠? DRM!!! 이놈이 해제되어 출시되었습니다. SK가 아이폰때문에 많은 타격을 받았나 봅니다. 통메도 제외하고 DRM도 해제해서 출시하니까요. ㅋㅋ&lt;br /&gt;&lt;br /&gt;카메라는 800만화소 카메라와 제논 플래쉬, 720p HD캠코더(1280x720x24fpsavi,mp4,3gp,asf,wmv,skm)를 탑재하였고 ISO800 지원 ,HP Image PiPe 지원, 손떨림 보정, 얼굴인식, GEO-tagging , Face-tagging, 파노라마 촬영, 멀티샷 등을 지원한답니다. 솔직히 스마트폰에 고화질 카메라가 있으면 뭐하나 싶은 생각도 들지만 좋은게 들어가면 좋긴 하겠죠?? 하지만 높은화소의 카메라에 신경쓰지 말고 좀 더 질 좋은 서비스에 신경을 썻으면 하는 바램이군요.&lt;br /&gt;&lt;br /&gt;지상파 DMB지원 지금은 모르겠지만 예전에는 지하철에서 지상파 DMB가 나오질 않아서 그닥 쓸모는 없더군요. 지하철에서도 수신이 가능하다면 꽤 좋은 기능중의 하나입니다. ㅠ.ㅠ&lt;br /&gt;&lt;br /&gt;Wi-fi를 지원하여 무선랜으로 인터넷 접속이 가능합니다. 이번해에는 SK가 Wi-fi 망에 투자를 많이 한다니 기대를 해봐야겠죠? 부산도 신경써 주세요 ㅠ.ㅠ &lt;br /&gt;&lt;br /&gt;Micro USB 2.0 HS&lt;br /&gt;3.5mm Headset 주로 mp3용으로 나오는 사이즈인데 스마트폰에서도 사용가능하니 따로 살 필요가 없겠군요. 이휘~&lt;br /&gt;&lt;br /&gt;머 그 외 기능으로는&lt;br /&gt;&lt;br /&gt;블루투스 : 2.1지원 + EDR&lt;br /&gt;&lt;br /&gt;GPS : aGPS / sGPS / E-Compass / Google Maps&lt;br /&gt;&lt;br /&gt;센서 : 조도센서 / 근접센서 / 가속 센서 지원&lt;br /&gt;&lt;br /&gt;기타 통화 : 스피커폰, 전화번호부,단축다이얼,진동 등 MP3&amp;nbsp; 벨소리 지정 가능&lt;br /&gt;&lt;br /&gt;720p HDMI 출력 (케이블 기본 제공)&lt;br /&gt;&lt;br /&gt;최대 6개 동시 애플리캐이션 멀티테스킹 가능 &lt;br /&gt;SKT T-map 지원 (올인원 요금제 사용시 평생 무료 제공 예정)&lt;br /&gt;타 스마트폰과 달리 WAP NATE 지원, JUNE 지원, &lt;br /&gt;NATE 벨소리 다운로드 가능 예정 &lt;br /&gt;T-store 지원&lt;br /&gt;&lt;br /&gt;기본 지원 비디오 코덱 : MPEG4 / Xvid / H.264 / WMV9&lt;br /&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/6/67465/attach/XQxM4TD5aX.jpg" style="width:500px;height:391px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;다용도 멀티 DOCK Station 제공&lt;br /&gt;&lt;br /&gt;2월초쯤에 출시예정이라는데........ 한국의 첫번째 안드로이드폰으로서 성공을 거둘수 있을지 아니면&lt;br /&gt;단순한 이슈로서 막을 내릴지 상당히 기대가 된다.&lt;br /&gt;개인적으로 안드로이드를 공부하고 있는 학생의 입장에서 첫번째 안드로이드폰으로써 성공을 거두어 주었으면 하는 바램이 크다.&lt;br /&gt;&lt;br /&gt;마지막으로 motoroi 동영상으로 마무리!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/K4okpS9dt4M&amp;amp;hl=ko_KR&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/K4okpS9dt4M&amp;amp;hl=ko_KR&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-575979742520060585?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/575979742520060585/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/motorola-motoroi-%EC%B6%9C%EC%8B%9C%EC%9E%84%EB%B0%95.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/575979742520060585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/575979742520060585'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/motorola-motoroi-%EC%B6%9C%EC%8B%9C%EC%9E%84%EB%B0%95.html' title='Motorola MOTOROI 출시임박!'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-955469058843897825.post-3581363254756457731</id><published>2010-01-21T04:20:00.000+09:00</published><updated>2011-01-29T22:24:53.867+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='What r u doing?'/><title type='text'>First Writing</title><content type='html'>역시 제목은 영어로 쓰면 좀............................ 멋진가? ㅋㅋ&lt;br /&gt;&lt;br /&gt;첫번째 글을 남겨봅니다.&lt;br /&gt;&lt;br /&gt;첫번째 글이 안드로 관련이 아니라서 좀 아쉽긴 하다만............ 현재 인턴쉽 회사에서 일을 하고&lt;br /&gt;&lt;br /&gt;있는 중이라............................. (일이라고 해봤자 별거 없지만 ㅠ.ㅠ)&lt;br /&gt;&lt;br /&gt;이제 한국 돌아갈 날이 한달남짓 남았네요.....&lt;br /&gt;&lt;br /&gt;한국에 있는 아는 모든 분들이 그립기 시작합니다.&lt;br /&gt;&lt;br /&gt;머 음식은 그렇게 그립진 않고요 ㅋㅋㅋㅋ 입맛이 서양체질이다 보니 ㅋㅋㅋㅋ&lt;br /&gt;&lt;br /&gt;암튼 오늘도 이렇게 하루하루가 흘러 돌아갈날은 다가오고&lt;br /&gt;&lt;br /&gt;마음은 싱숭생숭 앞날은 캄캄&lt;br /&gt;&lt;br /&gt;주저리주저리......&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/955469058843897825-3581363254756457731?l=darkroid-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darkroid-textcube.blogspot.com/feeds/3581363254756457731/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/first-writing.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3581363254756457731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/955469058843897825/posts/default/3581363254756457731'/><link rel='alternate' type='text/html' href='http://darkroid-textcube.blogspot.com/2010/01/first-writing.html' title='First Writing'/><author><name>CoreaDark</name><uri>http://www.blogger.com/profile/16365937812363653565</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/__dNnugje8BY/S0-IbrC9geI/AAAAAAAAAAM/vaIBO5zXz0Y/S220/snowboard.jpg'/></author><thr:total>0</thr:total></entry></feed>
