스마트폰 어플리케이션 구조는  한개의 화면당 하나의 액티비티(Activity) 로 구성됩니다.

하나의 액티비티에는 하나의 화면 레이아웃이 존재하고 버튼, 라벨 등 화면에 어떻게 보여야 하는지에  대한 정보를 가지고 있습니다.

액티비티는 자신의 라이프사이클이 존재합니다. 생성되고 시작되고 중지되고 종료되고 폐기되는 순서로 가는데 중지되었을때 재기동하기도 하고 종료되었을때 다시시작하기도 합니다.

 ( onCreate(), onStart(), onStop(), onDestroy(), onResume(), onReStart() )

라이프사이클별로 화면처리시에 필요한 이벤트나 프로시져를 작성합니다.

다른 화면이 생성되면 즉 다른 액티비티가 호출되면 기존 액티비티는 중지되거나 종료된다. 이때 기존 액티비티의 상태정보는

저장되어 있다가( savedInstanceState 변수 ) 재기동, 재시작될때 그 정보를 가져와서 다시 보여줍니다.

다른 액티비티를 생성할때 필요한 컴포넌트가 인텐트(Intent) 이다. 메시지를 전달하는 도구라고 생각하면 될듯 합니다.

명시적 인덴트는 특정 액티비티를 호출할때 사용합니다.

암시적 인덴트는 필요한 기능을 정의하여 그 기준에 합당한 액티비티를 호출할때 사용합니다.

인덴트는 데이타를 액티비티간에서 받을수 있습니다.

( startActivityForResult() 함수 호출하고 onActivityResult() 함수에 받은 데이타 처리로직을 넣어주면 됩니다. )

액티비티에서 데이타를 저장하여 돌려줄수도 있습니다.

( 전달된 인덴트 getIntent() 에  키, 값형태로 putExtra(키,값) 함수를 사용하여 저장 됩니다. 

그리고 setResult(RESULT_OK,intent) 로 마무리 하면 됩니다 )

스마트폰에서 취소버튼을 클릭하여 이전화면으로 이동하는 경우가 있습니다.

이때는 task 라는 액티비티 스택(Activity Stack) 이라고도 하는데 이 공간에 Root Activity 를 기준으로 해서 

호출된 액티비티가 쌓이다가 취소 버튼을 클릭하면 이전 액티비티로 넘어가도록 되어 있습니다.


앱 어플리케이션을 작성순서

1. 프로젝트명 과 액티비티( Root Activity ) 이름, 패키지명( 보통 도메인 네임을 사용하여 유일성을 보장 )을 정합니다.

2. 필요한 화면을 구성합니다. 화면수 만큼 액티비티를 만들 필요가 있습니다.

3. 액티비티별로 화면 레이아웃을 XML파일로 작성합니다.

4. AndroidManifest.xml 파일에 작성된 액티비티 명을 등록해서 연결시켜 줍니다.

5. 각 액티비티의 라이프사이클 이벤트별로 필요한 기능을 작성하면 됩니다.


블로그 이미지

희망잡이

,

철조망에 핀 장미꽃

생각 2012. 5. 16. 09:35




오늘은 장미꽃으로 글을 적어 볼려고 합니다.

어제 저녁 퇴근길에 회사주차장 옆 철조망에 핀 장미꽃이 이뻐서 사진을 찍어 보았습니다.

세월의 흔적에 벗겨진 페인트로 점점 초라해져 가는 철조망

그 위에 활짝 핀 장미꽃이 대조적으로 보입니다.

장미꽃을 보면서 참 이쁘다는 생각과 함께 사랑하는 사람의 얼굴을 그 위에 그려 보곤 합니다.

참 이쁜 그림이 그려집니다.

뒷산 너머로 넘어간 저녁 햇살의 파스텔 톤으로 배경색을 칠하면 더 예쁠듯 합니다.



블로그 이미지

희망잡이

,




구글사에서 세상보기 앱에서 볼수 있는 컨텐츠를 편집하고 제작하기 위한 도구를 제공하고 있습니다.

유투브에 올린 동영상 플레이리스트를 지정하여 새로운 동영상도 확인하고 볼수 있습니다.

옆에 있는 사진은 제가 제작한 컨텐츠를 기반으로 Producer를 이용해서 제작한 화면 입니다. 아래 내용대로 따라하시면 여러분의 앱에서 확인할 수 있어요

세상보기 앱을 설치하시고

라이브러리 추가로 들어가서 검색화면에서 motiveflow 로 찾으시면 됩니다.

라이브러리에 추가된 것을 확인할수 있을겁니다.

화면 구성은 제가 관리하고 있는 블로그, 유투브에서 관리하는 글로스연주회 동영상 리스트, 기타 동영상 으로 구성하였습니다.

구글사에서 제공하는 무료 도구를 활용해서 여러분의 지식과 끼를 발산해 보시기 바랍니다.

글은 쓰면 쓸수록 빛이 난다고 합니다.^^


블로그 이미지

희망잡이

,

마음풍경

생각 2012. 5. 14. 15:57




이 판화는 오늘 이철수 님의 사이트에 올라온 판화입니다.

지금 대중매체를 통해서 회자되고 있는 굵직한 소식에 대한 속시원한 말이 아닐까 싶습니다.

회원들에게 매일 나뭇잎편지를 이메일로 보내 준다고 합니다.

세상살아가는 이야기를 판화로 만들어서 글 몇자 가미하여 생각을 전달한다고 하니

언능 가입하고 싶어 졌습니다.

내 전자우체통에 상업적인 이메일로 쌓여서 멜 정리한다고 가끔씩 들어가곤합니다.

나뭇잎편지가 내 우체통에 새싹같은 존재가 되었으면 하는 바램입니다.

내일이 기다려 집니다.

이철수 판화가 사이트 : http://www.mokpan.com/


블로그 이미지

희망잡이

,




동구 밖 과수원길 아카시아 꽃이 활짝 폈네

하얀 꽃 이파리 눈송이처럼 날리네

향긋한 꽃냄새가 실바람 타고 솔솔

둘이서 말이 없네, 얼굴 마주 보고 쌩긋

아카시아 꽃 하얗게 핀, 먼 옛날의 과수원길

<박화목 작사, 김공선 작곡의 ‘과수원길’>

나도 모르게 흥얼흥얼거리게 되는 어릴때 많이 불렀던 동요입니다.

벗꽃이 지고 라일락 향기가 사라져갈때 쯤 초저녁에 산책을 하다보면 내 주위에서 맴돌고 있는 그 향기에 빠져들곤 합니다.

그 향기에 심취할려고 하면 어느새 사라져 버리는...

아래 내용에 대해서는 여전히 논란이 되겠지만 마이클 센델이 말했듯이 그 목적에 따라서

정의는 달라지게 되겠지요.


1. 아카시아 나무의 이름이 틀리다?

흔히 '아카시아'로 잘못 알고 있는 '아까시나무'는 콩과의 낙엽 교목으로 북아메리카가 원산지이다. 

흰꽃은 5~6월에 피는데 어린가지의 잎겨드랑이에 달린다. 한편 '아카시아'는 열대지방에서 주로 자라며 가을에도 잎이 떨어지지 않는 상록수다.


2. 아까시 나무는 일제시대에 일본사람들이 우리산을 망치게 하기 위해 심었다?

많은 사람들이 아까시나무를 쓸모 없는 나무로 여기고, 

일제시대에 일본 사람들이 우리나라 산을 망치기 위해 심었다는 반감까지 가지고 있지만 

아까시나무는 연료와 목재로 이용하기 위해 일제시대에 들여왔을 뿐이며 

6·25 전쟁 이후가 되어서야 산림녹화용으로 대량으로 심게 되었다고 합니다.


3. 아까시 나무는 산을 황폐화시키고 다른 나무들이 살지 못하게 한다?

아까시나무가 어릴때는 뿌리의 독으로 다른 수종의 나무는 자라지 못하게 하지만 

일단 숲을 이룬다음에는 자신은 사라지고 다른 수종에게 자리를 내어준다고 합니다. 

즉 숲을 풍요롭게 만든다음 자리를 내준다고 할까요?

아까시 나무의 꽃을 이용한 양봉 또한 아까시 나무의 효용가치이기기 합니다.

[출처] 아까시나무|작성자 상록수

블로그 이미지

희망잡이

,




Blog은 무료로 작성할수 있는 사이트가 많습니다. 저는 티스토리 블로그를 이용하고 있습니다


1. 블로그를 개설하고 글을 작성하면 개인출판이 시작됩니다

사람들이 블로그에 들어와서 글을 읽고 공감했을때 새로운 글이 등록될때 마다 보고 싶을것입니다

이처럼 블로그의 새글을 구독하고 싶을때 필요한 것이 RSS 입니다

RSS( Really Simple Syndication or Rich Site Summary ) 라는 것은 

개인이 올린 블로그 정보를 특정공간( 구글 리더 등 )에 가져와서 볼 수 있도록  기능을 제공합니다

RSS 기능이 부여된 다큐먼트를 FEED, WEB FEED, CHANNEL 이라고 부릅니다

그리고 RSS FEED 를 읽을수 있는 소프트웨어를 RSS READER, FEED READER 라고 합니다

구글이 FEEDBURNER 사를 인수해서 개인에게 무료로 이용할 수 있도록 한것이 FEEDBURNER 입니다


2. FEEDBURNER 에 가입해서 본인의 BLOG에 RSS FEED 기능을 부여합니다

사람들이 블로그를 자신이 선호하는 RSS 리더에 등록하기를 원할 것입니다

이때 해당 블로그에 RSS FEED 아이콘을 배치하여 쉽게 등록할수 있도록 할수 있습니다

Tip : FEEDBURNER 사이트에 자신이 등록한 블로그정보에서 publicize tab 으로 이동합니다

       왼쪽 메뉴에 있는 chicklet chooser 를 클릭합니다

       원하는 아이콘을 선택해서 그 아이콘에 해당하는 코드를 복사합니다

       자신의 블로그의 html 코드편집기로 들어가서 적당한 위치에 해당 코드를 붙여놓습니다

여기까지 작업을 끝냈으면 자신이 선호하는 RSS READER에서 해당 블로그의 RSS FEED 를 가져올수 있습니다


3. 구글리더 (GOOGLE READER)

RSS FEED 사이트를 등록할 수 있고 등록한 블로그의 내용을 조회할 수 있습니다


4. 세상보기 (GOOGLE CURRENTS )

구글리더에 등록된 사이트나 다른 RSS FEED 기능이 제공되는 사이트를 등록가능하고 내용을 조회할수 있습니다


5. 구글프로듀서( Google Currents producer )

아이폰, 안드로이드, 아이패드 화면 크기에 맞게 화면을 꾸며서 세상보기에 등록이 가능합니다

스마트폰 별로 화면 미리보기 기능이 제공되어서 화면구성을 어떻게 해야 될지 쉽게 파악할수 있어요.

블로그 피드, 동영상 피드, 소셜 네트워크 피드, 이것을 연계한 테이블 레이아웃 등

사용자는 컨텐츠만 만들고 세상보기는 보여주는 창구역할을 함으로써 시너지효과를 낼수 있으리라 봅니다.




블로그 이미지

희망잡이

,

QM3 Car!

스크랩 2012. 5. 10. 09:27



이런차를 우리나라 도로에서 볼수 있어야 합니다. 그래야 비슷비슷한 차모양새에서 벗어나 다양함을 볼수 있지 않을까요?

우람한 근육에 부드러운 바디감을 가진 느낌~

괜찮다는 느낌이 드네요. 차값만 착하다면 구입해서 내 애마로 만들고 싶습니다. ^^



블로그 이미지

희망잡이

,



파워빌더 소스(PBL)을 GitHub와 연계하니깐 Binary 파일로 인식하여 소스내용을 볼수 가 없습니다.

그래서 파워빌도 소스(PBL) 을 텍스트 소스파일(srd,srw 등)로 변환하고 변환된 파일을 GitHub에 업로드 하는걸로

프로세스를 잡았습니다.

매번 소스를 변경할때 소스파일로 변환하는 번거로움이 있어서 한번에 소스파일로 변환해주는 툴을 찾아보았는데

pbldump 라는 도구가 있더라고요.

보통 소스를 여러개 폴더로 나누어서 관리하기때문에 일괄적으로 변환하기 위해서는 Ant 자동화도구를 사용해야

할것 같아서 연계하기로 하였습니다.

여기서 고민이 생겼는데요? 1. Ant로 변경프로세스를 코딩할건지 2. 자바로 코딩하여 Ant에서 실행할건지...

자바로 코딩하고 Ant로 실행을  구현해 보고자 한다.

1. 자바 실행파일 작성

파일필터(FileFilter) 클래스를 상속받아서 특정 확장자를 가진 파일만 가져올 수 있는 클래스를 작성한다.

작성된 파일필터 클래스를 생성자의 인자로 하여 특정폴더 및 하위폴더에서 파일리스트를 가져오는 클래스를 만든다.

가져온 파일중에 isDirectory() 로 디렉토를 체크하여 recursive 루틴을 타도록 코딩하고

파일을 경우에 RegExp 패턴을 사용한 Validator 클래스를 작성하여 원하는 파일인지를 체크한다.

IMAGE_PATTERN =  "([^\\s]+(\\.(?i)(pbl|png))$)";

pbldump.exe파일을 호출하도록 command 배열을 작성한다.

Process oProcess = new ProcessBuilder(commands).start();

위 두 클래스를 이용하여 Ant에서 호출하여 실행할수 있는 클래스를 작성한다.

public class GeneratePbldump extends Task {

public void execute() {

2. Ant 배치작업 파일에서 xml 파일을 작성하여 실행한다.

<taskdef name="pbldump" 문장을 추가하여 target 기입한다.


블로그 이미지

희망잡이

,