2011년 1월 16일 일요일

안드로이드 어플에 Facebook을 적용하는 방법

1. Android Application에 Facebook android SDK를 적용하는 방법 (참고 https://github.com/facebook/facebook-android-sdk)
[환경설정]
  가. GitHub로부터 facebook-android-sdk를 git를 사용하여 가져온다.
    1) 방법 git clone git://github.com/facebook/facebook-android-sdk.git
    2) 참고 : git는 리눅스 환경에서 사용되는 것이므로 Wondows OS 환경에서는 msysgit를 다운로드하여 사용한다.
      (http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.3.1-preview20101002.exe&can=2&q=)
      (http://code.google.com/p/msysgit/downloads/list)
      (참조 : http://hiddenid.tistory.com/2)
    3) 디렉토리 구조
      가) 상위(1st) 디렉토리 : facebook-android-sdk
      나) 하위(2nd) 디렉토리 : examples (simple, stream), facebook, tests
      다) facebook : 기본적인 facebook SDK library source files
        (1) AyncFacebookRunner.java :
        (2) DialogError.java
        (3) Facebook.java
        (4) FacebookError.java
        (5) FbDialog.java
        (6) Util.java
      라) examples/simple : Login, upload Photo, Request, post Wall
        위의 facebook을 library로 이용
      마) examples/stream : Login, 자신의 friend의 timeline을 보여준다.
        위의 facebook을 library로 이용
      바) tests : Login test(잘됨, 여러가지 facebook 기능의 동작을 보여줌), UI test(x), Logout test(x)

  나. Facebook-android-sdk를 적용하는 Application을 만들고 싶을 때
    1) 만드는 Application에 Facebook Android SDK library에 관한 dependency를 추가
      가) File -> Properties를 선택하고, Properties 다이얼로그상에서 Android section을 open
      나) 밑의 Library section에서 추가 버튼을 클릭하고, Facebook SDK project를 선택
        (1) default.properties 파일이 다음의 내용이 추가됨
             android.library.reference.1=../../Gyeonggi/facebook-android-sdk/facebook/
    2) Facebook은 서버와 통신을 하므로 Android manifest 파일에서 네트워크 접속에 대한 권한 부여
      <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    3) Facebook에 Application 등록
      가) 새로운 Facebook application을 생성 (장소 http://www.facebook.com/developers/createapp.php) (주)
      나) application 이름과 그림을 설정 (application이 인증될 때, 보이게 됨)
      다) 과금을 위한 계정 필요 : 휴대폰 인증을 통해 등록 확인 (휴대폰 번호 또는 카드번호)
      라) 인증 키 등과 같은 정보가 발행됨 (OAuth 절차에서 사용)

2010년 12월 14일 화요일

"한국인이 좋아하는 명시" version upgrade

광고와 도움말을 추가하여 version 1.1을 release 합니다.

어플을 등록하기 위해서는 준비해야 할 일이 많음을 실감합니다.
Icon에 대한 준비, 마켓에서 광고를 위한 준비, 광고(Admob)의 가입, PayPal에의 가입
등록을 위한 certification 등

certication은 아래 절차를 참조하여 따라하면 됩니다.
디렉토리는 c:\program files\java\jdk.1.6.0_18\bin\에서 수행 합니다.

추후 부족한 부분은 보완해 가겠습니다.

준비해야 할 사항
- 정밀한 Icon : 512*512 pixels
- Screenshots : 2개 이상 (메인 화면 외)
- Promotional Graphic 과 문장 : 광고 그림(180*120)과 문장
- Feature Graphic : 기능 목록(설명) - 1024*500
- 제목
- 설명
- 변경이력
- Application Type
- Category
- Web site
- E-mail
- phone number

2010년 12월 9일 목요일

나의 첫 안드로이드 마켙 등록 어플 (한국인이 좋아하는 명시)

오늘 처음으로 안드로이드 마켙에 어플을 등록 하였습니다.
협업을 하는 박재성씨의 도움을 받아 어플 개발을 시작했고, 경기앱센터에서 교육을 받으면서 같이 작업을 한 정동식학생, 이준형학생의 도움을 받았습니다.
비록 무료어플로 등록을 했지만, 처음에도 무료로 사람들에게 광고를 하는 의미가 있습니다.
같이 했던 사람들에게 감사를 드리며, 앞으로도 좋은 어플을 개발하고 사람들에게 유익한 어플을 제공해서 수익도 같이 얻었으면 좋겠습니다. 그리고 같이 일하는 사람도 얻을 수 있기를 희망해 봅니다.

Android APK signing 과 내보내기

안드로이드 마켙에 어플을 등록하기 위해 인증을 받는 과정을 실었다.

[참고: http://www.androidpub.com/100165]

개인 서명 인증서 만들기

안드로이드 마켓에 배포를 하기 위해서는 애플리케이션에 서명을 해주어야 한다. 자신이 인증하는 애플리케이션임을 서명을 통해서 알리는 것이다.
그러기 위해서는 개인 키를 포함하는 암호화된 서명 파일이 있는 keystore가 필요하고 이를 JDK에서 제공하는 jarsigner 로 공개키로 서명하게 된다.
이클립스에서 Android SDK를 통해서 애플리케이션을 실행할 때마다 자동으로 디버그 서명을 만들고 이 서명이 애플리케이션이 사용될 때마다 서명되기 때문에 눈에 보이지는 않지만 항상 애플리케이션을 서명되고 있다.
  • 디버그 서명 위치: ~/.android/debug.keystore

애플리케이션 서명과 구글API 키 인증 시나리오

keytool로 키 쌍을 생성하면 사용자 홈 디렉토리의 특정한 곳에 keystore로서 저장된다. 비밀 키는 키 저장소에 암호화 되어 보호되며 이 비밀 키로 애플리케이션을 서명하게 된다. - 특정 조직의 경우 공인 인증서 이용 -
구글 API를 이용하려면 API용 키가 필요한데 이 때 인증 서명서의 finger print(MD5)가 필요하다
안드로이드는 공개 키를 이용하여 서명 인증서를 해독하여 사용하는데 애플리케이션이 설치 될 때만 서명 인증서를 검사하기 때문에 설치 후에는 인증서나 키가 만료되도 실행이 가능하다.

개인 인증서의 효용

본인이 개발한 애플리케이션임을 알리고 관리를 위해서는 가능하면 하나의 인증서로 관리하는 것이 편리할 것이다.
  • 업그레이드 간편화
  • 여러 애플리케이션을 하나의 프로세스로 실행
  • 코드, 데이터 공유

서명 인증서 만들기

key store 생성

  1. keytool -genkey -v -keystore myandroid.keystore -alias mykeystore -keyalg RSA -validity 10000
  • 키 쌍을 만들며 myandroid.keystore에 저장 며 이 키는 mykeystore 라는 이름으로 접근이 가능하다. 키를 만드는 알고리즘은 RSA이고 10000일(27년)간 유효하다.

finger print 확인

keytool -list 로 SDK의 인증서의 MD5 지문을 확인 할 수 있다.

  1. keytool -list -alias mykeystore -keystore myandroid.keystore
  2. keystore 암호를 입력하십시오: 


애플리케이션 서명


1_ 먼저 서명이 안된 애플리케이션(.apk)를 만든다: Eclipse에서 프로젝트 선택후 컨텍스트 메뉴(오른쪽 마우스 클릭)에서 Android Tools -> Export Unsigned Application Package..
2_ 개인키 저장소에 있는 키(비밀키)로 서명한다
  1. jarsigner -verbos -keystore mykey.keystore Myandroid.apk mykeyalias

전자책 e-pub viewer인 FBReader를 올렸습니다.

아직 마우스를 연결하지 않아 동작은 할 수 없지만
Open Source인 FBReader e-pub viewer를 올렸습니다.
 
 

내가 만든 AM300 (전자종이 개발 키트) 동작 (2/2)

2번째 파일 입니다.
이제 터치 센서만 동작하면 어느 정도 동작은 검증이 된 것 입니다.
 
 

내가 만든 AM300 (전자종이 개발 키트) 동작 (1/2)

이제 동영상으로 동작을 감상해 볼 수 있습니다.
버튼 몇 개를 추가 했더니, 이제 E-INK사에서 판매하는 AM300 개발용키트의 동작을 그대로 흉내낼 수 있군요.
CPU는 그것보다 더욱 빠르니까 정말 잘 동작하네요.

동영상을 올려 보았는데, 잘 나오는지 모르겠네요. 네이버에는 처음 올려서...
파일이 커서 두개로 잘라 올립니다.