'개발 이야기'에 해당되는 글 31건

  1. 2010/04/13 안드로이드 이야기 (2010/04/13)
  2. 2010/03/22 안드로이드 이야기 (2010-03-22)
  3. 2010/02/21 이클립스 코드 흉내내기
  4. 2010/01/03 이클립스에서 안드로이드 소스 코드 보기
  5. 2009/12/26 [eclipse] Smart Compare 플러그인
  6. 2009/12/06 [Mac] Hex Color Picker
  7. 2009/12/06 이클립스 플러그인 개발 시작하기 (2)
  8. 2009/12/06 me2DAY for Android 릴리스 (2009/06/11) (4)
  9. 2009/12/06 me2DAY for Android 진행(2009/05/06)
  10. 2009/12/06 me2DAY for Android 릴리스 (2009/04/25)

안드로이드 이야기 (2010/04/13)

무언가 할 얘기가 많았지만 당장 생각나는 내용만 정리한다.

 

1) 인텔리제이(IntelliJ)로 이전하는 데 성공했다.

기본 키맵을 Max OS X 10.5+로 바꾸니 이클립스에 적응돼서 어색하던 부분도 대부분 해결된다. 맥에서 익숙한 단축키들이 대부분 적용되기에 쾌적하게 이용할 수 있다. Eclipse용 키맵도 제공하지만, 윈도 단축키를 기반으로 단축키가 설정되어 있어서 맥 사용자는 오히려 불편하다.

 안드로이드 개발에는 인텔리제이를 강력 추천한다.

 

2) 비율을 정확히 고정시키고 싶을 때는

자체 테이블을 그리거나 할 때 TableLayout을 사용하면 알아서 늘어나고 줄어드는 컬럼 때문에 정신건강에 좋지 않다. 이럴 때는 LinearLayout을 이용해서 android:layout_width를 0px로 변경하고, weight로 비율을 고정하면 늘어나고 줄어들지 않게 고정시킬 수 있다. 정확히 나뉜 컬럼이 필요하거나 할 때는 이 방법을 이용한다. 단, 이렇게 나뉘는 영역에는 당연하겠지만 margin이 포함되지 않으니 margin을 함부로 사용하면 어그러진다. padding을 잘 활용해야 한다.

 

  1. android:layout_width="0px"
    android:layout_height="wrap_content"
  2. android:layout_weight="0.25"

 

3) Footer를 삽입하는 가장 효과적인 방법은?

RelativeLayout으로 부모와의 관계를 지정하면 된다. 화면의 상단 부분은 무슨 레이아웃을 써도 고정시키기 어렵지 않은데, 아래부분은 LinearLayout 등으로 고정시키기 쉽지 않고 그리 권장할 만한 방식은 아니다. RelativeLayout을 절대값을 이용하는 방식과 비슷하게 생각하고 무시하면 안 된다. 개인적으로는 LinearLayout과 함께 가장 많이 사용한다.

  1. android:id="@+id/footer"
  2. android:layout_alignParentBottom="true"

 

4) Style의 활용

XML 코드에서는 아무래도 복사하고 붙여넣는 행위에 대한 죄책감이 적은데, 이것도 분명 코드의 중복이다. 그리고 HTML 엘리먼트에 스타일 속성들 넣어서 사용하면 저질스러운 행동이라고 알면서, 유달리 XML에 관대하다. 안드로이드의 XML 레이아웃은 HTML과 유사해서 CSS로 스타일을 정의하듯이 Style 파일로 관련 스타일을 관리할 수 있다.

  사실 XML에 스타일 바로 정의해서 사용하는 경우도 잦긴하다. 그래도 반복적으로 사용하는 것들은 추출해서 사용하자.

 

5) 컬렉션에 큰 자료구조 넣지 말자

모토로이나 넥서스원 급의 기기에서 아무런 문제가 없다고 해서 문제가 없는 게 아니다. 당장 에뮬레이터를 띄워서 큰 컬렉션을 사용하는 부분을 돌려보면 Out of Memory로 뻗어버리는 경우가 잦다. 모바일 기기에서 메모리에 큰 자료구조를 잡아서 사용하는 방식자체가 문제지만 자바에서 습관적으로 사용하던 방식대로 사용하면 안 된다.

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

안드로이드 이야기 (2010-03-22)

1) 안드로이드 개발환경으로는 IntelliJ IDEA가 좋은 것 같다.

 이클립스 플러그인 개발자로서의 자존심을 버리고 개발환경을 IntelliJ로 옮겨 왔다 (아직은 평가판으로 평가 중). 아무리 생각해도 Mac용 이클립스는 여전히 무언가 이상하고, 안드로이드 개발 환경은 이상하게 느리다. IntelliJ는 UI 디자이너를 제공하지는 않지만 어차피 만족스러운 수준이 아닌지라 XML을 편집하게 되는데, XML 편집 기능 만큼은 IntelliJ가 최고다. IntelliJ는 버전 4일 때 정도 써본 것 같은데 아직은 많이 어색하다.

  근데 이클립스나 IntelliJ나 자체 Logcat 뷰어에서는 UTF-8을 지원하지 않아서 한글이 깨진다. 당장은 adb logcat으로 보는 편이 좋다 (윈도에서는 명령 프롬프트의 인코딩을 변경해야 한다). 결과는 grep으로 원하는 정보만 잡아서 보자.

 

2) ViewFlipper로 원하는 페이지 이동하기

 Swing의 CardLayout이나 SWT의 PageBook과 비슷한 역할을 수행하는  ViewFlipper는 자칫 이전 페이지/다음 페이지 전환 밖에는 허용하지 않는 것으로 볼 수 있다. showNext()와 showPrevious()와는 다르게 setDisplayedChild()라는 이름으로 원하는 인덱스의 페이지로 이동하는 기능을 제공한다. 이름만으로는 찾기 쉽지 않다. 항상 의심되면 직접 소스를 열어서 확인해보자.

 

3) 프로그래밍적으로 TextView의 텍스트 색상 변경하기

 text.setTextColor(R.color.color1)과 같은 방식으로 색상을 변경할 수 없으니 속지 말아야 한다. text.setTextColor(getResources().getColor(R.color.color1))와 같은 방식으로 색상을 변경한다. 동적으로 색상을 변경할 필요가 없다면 프로그래밍적으로 색상 변경을 하지 않는 편이 좋다. 대신 XML에 선언적으로 정의하는 방식을 이용하자.

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

이클립스 코드 흉내내기

  "이클립스 플러그인 개발"을 주제로 월간 마이크로소프트웨어 2009년 7월호에 실렸던 글을 공개합니다. 6월호에 실렸던 이클립스 플러그인 개발 시작하기는 플러그인 개발을 처음 시작할 때 필요한 내용을 소개했고, 7월호에서는 『이클립스 코드 흉내내기 - 히스토리 기능 확장』라는 제목으로 기존 이클립스의 코드를 참고해서 흉내내고 확장하는 주제를 다뤘습니다.

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

이클립스에서 안드로이드 소스 코드 보기

안드로이드 SDK는 기본적으로 소스 코드와 함께 배포되지 않고 있기에 이클립스 안에서 사용하는 API의 코드를 볼 수 없습니다. 개발 과정에 직접 소스를 보면서 작업하려면 적어도 애플리케이션 개발자가 직접 사용하는 자바 API 수준에서는 함께 배포하면 좋을텐데 말이지요. 이클립스를 깊게 사용하는 분이라면 알고 있을 라이브러리에 소스를 링크해주는 기능도 android.jar 파일에 대해서는 꺼져있습니다.

 이 문제를 다루고 있는 이슈가 등록되어 있으니 불편함을 느꼈다면, 여기서 알아볼 번거로운 작업을 피할 수 있도록 되길 바라며 왼쪽 상단의 별표를 체크하기 바랍니다.

SafariScreenSnapz003.png

 

방법 1

검색하면 몇 가지 방법이 나오는데 그 중에서 가장 쉽게 설명하고 있는 글을 참조해서 소개합니다. 컴퓨터에 Git이 설치돼 있어야 합니다.

 

  1. > git clone git://android.git.kernel.org/platform/frameworks/base.git android-sources
  2. > cd android-sources
  3. > git branch -r
  4.   origin/HEAD -> origin/master
      origin/cdma-import
      origin/cupcake
      origin/cupcake-release
      origin/donut
      origin/donut-plus-aosp
      origin/donut-release
      origin/eclair
      origin/master
      origin/release-1.0

 

자신이 소스를 연결하려는 브랜치나 태그를 체크아웃 받습니다. 저는 안드로이드 2.0을 이용하고 있으니 origin/eclair를 체크아웃 받았습니다.

  1. > git checkout origin/eclair

 

마지막으로 SDK가 설치된 경로에 체크아웃 받은 안드로이드 소스를 심볼릭 링크로 연결해줍니다.

  1. > cd <안드로이드 SDK 경로>/platforms/android-2.0.1
    > ln -s <소스 코드 경로>/android-sources sources

 

이제 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인해봅니다.

EclipseScreenSnapz006.png

 

방법 2

이클립스에서 소스 좀 보려고 Git까지 공부해서 설치하기 싫다면, 누군가 이미 올려둔 소스로 연결하는 방법이 있습니다. 이 문제에 대한 이슈 페이지 하단에 가면 rjgruet라는 사용자가 올려둔 2.0 소스 코드의 압축본이 있습니다. 다만 이런 링크는 언제라도 깨질 수 있습니다.

  이제 안드로이드 SDK 설치 경로로 가서 하위에 sources 폴더를 만들고, 내려 받은 파일을 해당 폴더에 압축 해제합니다. 그리고 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인하면 됩니다.

 

 

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[eclipse] Smart Compare 플러그인

이클립스에서 이름으로 파일을 찾아서 비교해주는 Smart Compare 플러그인을 공개합니다. 개인적인 용도로 만들어서 사용하다 정리해서 공개합니다.

 

필요한 이유?

 동일한 프로젝트의 두 브랜치에서 동시에 작업하고 생각해보세요. 둘 중 하나의 최신 내용이라도 버전 관리 시스템에 들어있다면 저장소의 리소스와 비교하는 게 가장 빠릅니다. 그런데 둘 다 동시에 작업하고 있고 작업 중인 내용을 서로 비교해야 한다면 어떻게 하나요?

 개인적으로는 두 브랜치의 소스 트리를 쭉 펼쳐놓고 해당 리소스를 서로 찾은 다음 Compare With > Each Other를 이용해서 비교했습니다. 바로 그림1과 같이 두 리소스를 비교할 수 있지만, 패키지 구조가 복잡해지고 소스 트리가 길어지면 두 리소스를 비교하는 간단한 작업도 엄청 귀찮아 집니다.

s1.png

그림1. 기존의 리소스 비교 방식

 

Smart Compare 플러그인은 ...

 이름으로 비교 대상을 검색해서 비교하기에 복잡한 소스 트리를 뒤지지 않아도 됩니다. 그림2와 같이 비교 대상을 이름으로 검색하고 비교하려는 리소스를 2개(상호비교)나 3개(기반 리소스와 다른 두 리소스의 비교) 선택하면 바로 그림3과 같이 Compare 편집기를 실행해주는 간단한 플러그인입니다.

 Ctrl + Shift + = 단축키를 누르거나 툴바의 아이콘(Open Type 아이콘 옆에 추가됩니다)을 누르면 대상을 검색하는 창이 뜨고, 여기서 이름으로 검색하고 선택한 대상에 대해 비교해주는 편집기를 실행해주는 간단한 사용방식입니다.

처음 만들었을 때는 이름이 같은 두 브랜치간의 리소스를 비교하기 위해서 만들었지만 서로 다른 이름을 가진 리소스를 비교할 필요도 있기에 "이름으로 검색 > 더블 클릭 선택 (이미 검색된 목록에 추가) > 다른 리소스를 이름으로 검색 > 더블클릭 > 검색창 지우기 > 등록된 대상 선택"의 방식으로 이름이 다른 리소스를 비교하는 기능도 추가해 두었습니다. 이 부분은 좀 더 편리하게 비교할 수 있도록 개선할 생각입니다.

 

s2.png

그림2. 이름으로 비교 대상을 찾는 Smart Compare 기능

 

s3.png

그림3. Smart Compare로 실행시킨 Compare 편집기

 

설치하기

 이클립스를 실행한 후 Help > Install New Software ...를 선택합니다. 여기서 그림4와 같이 새로운 업데이트 사이트로 http://update.pragmatic.kr을 추가합니다. 추가한 업데이트 사이트를 선택하면 그림5와 같이 세 개의 플러그인을 볼 수 있습니다. 세 개의 플러그인을 볼 수 있습니다. 세 번째 Smart Compare Feature를 선탠해서 설치합니다. 위의 두 플러그인은 Multi-File History 플러그인과 Open External 플러그인으로 이번 플러그인을 올리면서 기존의 잘못된 업데이트 사이트 구조도 정비했습니다.

 

s4.png

그림4. 업데이트 사이트 추가하기

 

s5.png

그림5. Smart Compare 플러그인 설치하기

 

소스코드

제가 만들어서 공개하는 모든 이클립스 유틸리티 프로젝트의 소스 코드는 구글 코드 호스팅을 통해서 공개하고 있습니다. 이클립스 플러그인 개발 공부에 필요하다면 소스를 받아서 이용하세요.

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[Mac] Hex Color Picker

맥에서 기본으로 제공하는 색상 선택기(Color Picker)에서 한 가지 아쉬운 점이 있다면 HEX값을 표시해주지 않는 다는 점인데 이를 위한 라이브러리로 Hex Color Picker가 있다. ~/Library/ColorPickers에 다운 받은 파일을 복사하면 이후 색상 선택기가 동작하는 모든 애플리케이션에서 선택한 색상의 HEX 값을 복사할 수 있다.

 

ColorPicker.app002.jpg

추가적으로 한 줄짜리 애플스크립트(AppleScript) 애플리케이션을 만들면 독립적으로 동작하는 가벼운 색상 선택기를 얻을 수 있다. UI 개발자라면 필요한 가볍고 유용한 애플리케이션이 된다.

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

이클립스 플러그인 개발 시작하기

월간 마이크로소프트웨어에 2009.6 - 2009.7 2회에 걸쳐서 이클립스 플러그인 개발을 주제로 글을 썼습니다. Open External 플러그인Multi-File History 플러그인을 만들면서 얻은 경험을 공유하고자 했는데 글 쓰기가 생각만큼 쉽지는 않더군요.

 

 뭐 이렇게 해서 나온 글은 마이크로스프트웨어 측의 동의를 얻어 먼저 6월호에 실린 『이클립스 플러그인 개발 시작하기』를 공개합니다. 7월호 분량은 다음달에 공개하도록 하겠습니다. 부디 이클립스 플러그인 개발 관련 자료를 찾는 분들에게 도움이 됐으면 합니다. 개인적으로도 계획만 해둔 플러그인이 꽤 있는데 에너지를 투자하지 못하고 있네요. :)

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 2

me2DAY for Android 릴리스 (2009/06/11)

 소셜 네트워크 서비스 미투데이의 안드로이드용 매시업 애플리케이션인 me2DAY for Android의 두 번째 버전을 릴리스 합니다. 이후 존칭은 생략합니다.

 

라이선스

 개인 사용자가 안드로이드 마켓을 통해 직접 설치하는 것만 무료이다. 조금이라도 상업적인 성격이 포함된 이용은 허용하지 않는다. 추후 유료화될 수 있으며(계획은 없음) 유료화 이후에 이전 버전에 대한 업데이트를 지원하지 않을 수도 있다.

 

설치하기

 me2DAY for Android는 안드로이드 마켓에서 다운로드 받아서 설치할 수 있다. me2day로 검색해서 설치하면 된다. me2DAY for Android는 1.5 펌웨어 이상 버전을 지원한다. 따라서, 사용하는 안드로이드 폰의 펌웨어 버전이 1.5보다 낮다면 마켓에서 검색되지 않을 수도 있다.

  이전 버전은 보호된 애플리케이션으로 등록해두어서 개발폰에서 검색되지 않는 문제가 있기에 애플리케이션을 새로 등록했다. 따라서, 이전 버전 사용자는 자동 업데이트 기능을 이용하지 못하고 새로 설치해야 한다.

00_market.png

 

요약

 기존에 지원하던 세 가지 종류의 글쓰기 기능은 첫 번째 릴리스 문서를 참조한다.

추가사항
  • 글 쓰기 기능

    • 위치 정보 기록하기 (설정 가능)
    • 글 쓰기 종류 추가 - 책 바코드 스캔해서 ISBN 포스팅하기 (me2book 연동)
  • 글 보기 기능

    • 내글보기/친구들은/친구의 친구들은
    • 포스팅 상세 보기

      • 댓글 보기
      • me2photo 보기
      • 포스팅 위치 정보 존재 시 구글 맵에서 위치보기
  • 댓글쓰기/미투하기
변경사항
  • 애플리케이션 이름을 me2ANDROID에서 me2DAY for Android로 변경
  • 글 쓰기 메뉴 통합 메뉴로 변경
  • 앨범 사진 불러오기 성능 향상
  • 아이콘 선택 시 사용자가 등록한 아이콘 보여주기

 

상세 정보

 애플리케이션 이름 변경을 반영했고, 글 보기 기능에 대한 메뉴를 추가하였다.

01_welcome.png

 

글 쓰기 통합 메뉴/사용자 등록 아이콘 보여주기

 글 쓰기 기능은 추후 비디오/오디오 지원도 고려해서 통합 메뉴를 구성했다. 기존의 글 쓰기 기능에서 "책 정보 스캔해서 올리기" 메뉴가 추가되었다. 책 정보 메뉴 스캔 기능에 대해서는 아래서 설명한다. 글을 작성할 때 기존 아이콘 선택 방식에서 실제 사용자 등록 아이콘을 보여주는 방식으로 변경했다.

02_write_menu.png 03_icons.png

 

위치정보 기록하기

 위치정보 기록하기가 설정에 추가되었고 설정을 켠 상태에서는 글 작성 시 위치정보도 함께 기록한다. 이때, GPS는 켜져있어야 하고 상단의 GPS 표시기가 깜빡임을 멈추고 제대로 위치를 인식한 상태여야 한다.

04_gps_1.png  05_gps_2.png

 

책 바코드 스캔해서 me2book 정보 쓰기

 책의 바코드 정보를 스캔해서 올리기 위해서는 먼저 안드로이드 마켓에서 Barcode Scanner 애플리케이션을 다운로드 받아설치한다. 이후 아래 그림과 같이 책의 바코드를 인신한 후 포스팅하면 me2book 정보가 등록된다. (개인적으로는 이번 릴리스에서 두 가지 참신한 기능 중 하나라고 생각한다.)

06_me2book_1.png 07_me2book_2.png

08_me2book_3.png

 

글보기

 글 보기 기능은 자신의 미투데이 보기와 친구들의 글 보기 기능을 지원한다. 친구의 글 보기, 친구의 친구들은 기능을 제공하기에 자신과 직접 연결되어 있지 않은 사람들의 글도 볼 수 있다.

   09_mymetoo.png 10_friends.png

 

글 상세 보기/댓글쓰기/미투하기

 글 상세보기 화면에서는 달려있는 댓글을 보고 새로운 댓글을 달거나 metoo를 할 수 있다.

11_detail_1.png 14_detail_4.png

14_detail_5.png

 

미투포토/구글 맵 위치보기

 글 상세보기 화면에서 제공하는 기능으로 만약 해당 글에 미투포토가 등록돼있다면 썸네일을 클릭하여 큰 사진을 볼 수 있다. 또, 해당 글에 위치 정보가 기록되어 있다면 지도 아이콘을 클릭하여 포스팅한 위치를 구글맵에서 확인할 수 있다.

12_detail_2.png 13_detail_3.png

 

시연 동영상

 동영상 화질이 나쁜편이라 동작을 제대로 확인하기 곤란하다고 판단해서 에뮬레이터에서의 동작을 녹화했다. 카메라 관련된 몇 가지 기능을 소개하지 못하지만 더 알아보기 쉬워졌다.

 

다음 버전 지원 예정 기능

링크 열기 등 부족한 점이 많지만 다음 버전에 지원하려고 계획한 기능은 다음과 같다. 이외에도 필요하다고 느끼는 기능을 추가할 예정이다.

  • 미투데이 알리미 API를 이용한 댓글 등 알림 기능
  • 미투포토에 올리는 사진 해상도 선택 기능
  • 음성 올리기/ 비디오 올리기 (비디오 올리기는 API가 아직 지원되지 않고 있기에 지원되는대로 추가할 예정)

 

apk 파일 추가

안드로이드 마켓을 이용하지 못한다는 요청에 apk 파일을 추가한다. 다운로드 받아서 "adb install 파일명"으로 설치할 수 있다.

이 글은 스프링노트에서 작성되었습니다.

Trackback 3 Comment 4

me2DAY for Android 진행(2009/05/06)

미리 밝혀두지만 이 포스팅은 개인적인 압박용 포스팅입니다.

 

me2ANDROID를 릴리스한 이후 안드로이드 마켓에 등록했습니다. 개발폰용 펌웨어가 아닌 1.5 정식 펌웨어(또는 보호된 앱을 검색할 수 있도록 해둔 커스텀 펌)를 설치한 안드로이드 폰으로 마켓에서 me2android(소문자로 검색. 대문자 검색 오류 있는 듯)나 me2day로 검색하면 설치할 수 있습니다.

 

개발중인 버전에서는 me2ANDROID라는 이름이 아이콘 이름에서 잘려 보이기도 해서 애플리케이션 이름을 me2DAY for Android으로 변경하고, 아이콘에는 me2DAY로 보이도록 수정했습니다. 다음 릴리스부터 me2DAY for Android로 릴리스하겠습니다. 개발폰에서 검색되지 않는 현상해결 등에 대해서도 다음 릴리스와 함께 수정하겠습니다.

 

현재는 글보기 기능을 추가하고 있습니다. Balsamiq Mockup을 이용해 스케치한 UI 화면입니다.

me2android_post.png

 

현재 개발 진도는 Mockup의 왼쪽 화면의 상당부분을 구현한 정도입니다. Kenu님의 daysago를 이용해 지나온 시간 레이블을 구성했습니다. 배우면서 기능을 추가하고 있기에 조금 더딥니다.

post.png

 

다음 릴리스가 언제라고 예고할 수 없는 상황이지만, 글보기 기능은 5월안에 릴리스하도록 노력 중입니다. 개인적으로는 국내에 안드로이드 폰이 나올때쯤 생각하고 있는 기능을 모두 추가하는 것을 목표로 하고 있습니다. 그때쯤 되면 누군가 사용해 주겠지요?

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

me2DAY for Android 릴리스 (2009/04/25)

소셜 네트워크 서비스 미투데이의 안드로이드폰 전용 애플리케이션 me2ANDROID를 공개합니다.

 

주요 기능

이번 릴리스에서는 세 가지 종류의 글 작성 기능만 제공합니다.

  1. 새로운 글 쓰기: 아이콘 선택하기, 댓글 닫기, SMS 받기 지원
  2. 사진 찍어 올리기: 새로운 사진을 찍어 me2photo로 올리는 기능
  3. 앨범 사진 올리기: 카메라를 통해 찍은 사진을 선택해서 me2photo로 올리는 기능

 

me2ANDROID만의 고유한 기능을 포함해 이후 계획도 있지만, 다른 기능보다 먼저 글을 보는 기능을 추가할 계획입니다.

다음 릴리스에는 아래 내용을 포함하려고 합니다.

  1. 내글 보기
  2. 친구글 보기
  3. 위치 정보 포함해서 포스팅하기
  4. 앨범 사진 보기 성능 개선

 

라이선스

개인 사용자가 직접 내려받아 설치하고 사용하는 것만 무료입니다. 이외에 조금이라도 상업적인 성격이 포함된 이용은 허용하지 않습니다. 예를 들어, 특정 업체의 안드로이드폰에 기본 애플리케이션으로 배포할 수 없습니다. 개인적인 사용 이외의 용도는 문의하세요.

 

설치하기

me2ANDROID는 1.5 펌웨어 (컵케익) 이상을 지원합니다. 현재 me2ANDROID라는 이름으로 마켓에 등록되어 있습니다. 마켓에서 me2day 또는 me2android(대문자 검색 문제 있음)로 검색해서 설치하면 됩니다. 단, 현재 버전은 보호된 앱으로 마켓에 등록해놔서 개발폰에서는 검색되지 않습니다. 다음 릴리스에 마켓에 다시 등록(한 번 보호된 앱으로 올리면 해제가 안되니, 자동 업데이트는 안될지라도)할 예정입니다.

 

시작하기

정상적으로 설치가 완료되면 아이콘을 클랙해 me2ANDROID를 실행합니다. 사용하려면 먼저 자신의 미투데이 사용자 아이디와 me2API 사용자 키를 설정합니다.

1_start.png 2_welcome.png

3-preference-menu.png 4-preference.png

 

글쓰기

본문을 입력하고 올리기 버튼을 클릭하면 미투데이에 글이 올라갑니다. 태그 입력, 아이콘 선택, 댓글 닫기, SMS 받기 기능은 선택사항입니다. 사용자 지정 아이콘은 모바일 기기이다 보나 매번 아이콘을 가져와 보여주는 방식이 느리기도 하고 자신이 지정한 아이콘 순서는 알고 있으리라는 판단에 '지정1'형식의 아이콘으로 제공합니다.

  예제 화면에서는 모두 영문 키보드만 사용했지만 한글 키보드가 필요하다면 접촉식 한글 키보드를 이용하면 됩니다. 현재 정식 버전이 공개되어 있지 않은 안드로이드 1.5 컵케익은 펌웨어 버전에 따라서 카메라나 마켓 등을 이용할 수 없기에 한글 키보드를 설치할 수는 없지만 안정적인 펌웨어를 사용하고 있기에 영문 입력만 예로 보여주고 있습니다. SDK 1.5 pre의 에뮬레이터 환경에서는 한글 키보드가 정상적으로 설치되며 시험해 볼 수 있습니다.

 

1_post_empty.png 2_post_writing.png

3_post_icon.png 4_post_progress.png

5_post_result.jpg

 

사진 올리기

메뉴에서 새 사진 올리기를 선택하면 카메라가 동작하며 새로운 사진을 찍을 수 있습니다. 사진을 찍고 마음에 들면 왼쪽 상단의 썸네일을 클릭해서 me2photo로 올릴 수 있습니다.

 

1_camera.png

 

앨범사진 올리기 메뉴를 선택하면 SD카드에 저장된 사진 목록에서 사진을 선택해서 me2photo로 올릴 수 있습니다. 앨범 사진을 불러오는 게 조금 느린데 다음 릴리스에 개선할 예정입니다.

2_album.png

 

사진 올리기 기능에서 아이콘은 사진으로 고정됩니다. 사진 파일을 올릴 때 진행상태도 표시합니다.

3_post_me2photo.png 4_me2photo_progress.png

 

5_me2photo_success.jpg

 

가로보기

가로보기(landscape)에 최적화된 화면도 제공합니다.

4_landscape.png

2_post_land.png

 

정보

간단한 소개와 사용권 그리고 이 페이지에 대한 주소가 포함됩니다.

1_about.png

 

응용하기

먼저 안드로이드 마켓에서 사진 편집 애플리케이션인 PicSay를 내려받습니다. 카메라로 찍은 사진을 PicSay로 편집하고, 위에서 소개한 앨범 사진 올리기 기능을 통해 미투데이에 업로드 합니다. 단순한 사진보다 더 많은 정보를 표현할 수 있습니다. 참 쉽지요?

1_start(1).png 2_welcome(1).png

 

7_3_effect.png 7_4_post.png

7_5_success.jpg

 

시연 동영상

이렇다할 동영상 캡쳐 장비가 없어(새로 산 카메라의 동영상 기능이 포토부스의 화질보다 나쁘다니) 맥의 포토부스를 이용했습니다. 화질도 나쁘고, 좌우가 바뀌어 있지만 동작을 확인하는 용도로 봐주세요.

 

외부 자원

  • me2day-api 프로젝트의 자바 API를 수정해서 이용합니다. (추가 기능은 패치 보냈습니다.^^)
  • 사용된 이미지는 CC 라이선스에 따라 저작자를 밝힙니다. 구름 이미지구겨진 종이 이미지는 플리커 사용자 D. Sharon Pruit의 저작물이며, 무지개 이미지는 플리커 사용자 Elisabeth의 저작물입니다.
  • 사진 찍기 기능은 아파치 라이선스를 따르는 안드로이드 기본 카메라 애플리케이션의 코드를 활용했습니다.

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0
prev 1 2 3 4 next