Nano Blog - 오병우

앱 개발시 Facebook SDK를 사용할 때 페이스북 앱이 설치되어 있지 않으면 인터넷을 통해 인증되고 정상 동작하지만, 페이스북 앱이 깔려 있으면 로그인 화면이 페이스북 앱의 로그인 화면이 나오면서 인증이 되지 않는 증상으로 난감했다.


결론부터 말하자면 Facebook 개발자 홈페이지에 등록한 안드로이드 앱의 Key Hash 때문이다.


개발자 홈페이지에 debug용 및 앱 업로드용 Key Hashes를 모두 등록해 두어야 한다.



1. 먼저 자신의 Debug용 Key Store가 어디에 있는지 파악해야 한다.

C:\Users\에 현재 계정의 아이디로 폴더가 지정되므로 탐색기로 들어가서 .android 폴더가 있는지와 .android 폴더 내에 debug.keystore 파일이 있는지 확인해야 한다.

예를 들어, 현재 사용하는 계정이 Administrator라면 탐색기로 

C:\Users\Administrator\.android 폴더에 debug.keystore 파일이 있는지 확인한다.


2. Keytool을 사용하여 인증서를 익스포트해야 한다.

keytool.exe 파일은 자바 런타임을 설치하면 깔린다. 자바 런타임 버전에 따라 숫자가 달라진다.

예를 들어, 자바 런타임이 7버전이라면 C:\Program Files\Java\jre7\bin 폴더에 keytool.exe 파일이 설치된다.


커맨드 창(cmd)을 실행하여 (1)번에서 확인한 Debug용 Key Store를 지정한다. alias로는 androiddebugkey를 지정한다.


"C:\Program Files\Java\jre7\bin\keytool" -exportcert -alias androiddebugkey -keystore C:\Users\Administrator\.android\debug.keystore


위와 같이 실행하면 암호를 물어본다. 여기서는 android를 입력한다.


제대로 되었다면 이상한 문자들이 나타날 것이고 (삑삑 소리도 들리고...), 잘못 되었다면 눈으로 알아볼 수 있는 문자(오류를 설명하는 테스트)들이 나타난다.


3. 암호화 하여 Key Hash를 만든다.

이 때 openssl이 설치되어 있어야 한다. 밑의 명령어를 cmd 창에서 실행해 보고 안된다면 openssl을 설치하고 수행해야 한다.


"C:\Program Files\Java\jre7\bin\keytool" -exportcert -alias androiddebugkey -keystore C:\Users\Administrator\.android\debug.keystore | openssl sha1 -binary


마찬가지로 이상한 문자들이 나타나면 성공!!!


4. Base64로 인코딩한다.


"C:\Program Files\Java\jre7\bin\keytool" -exportcert -alias androiddebugkey -keystore C:\Users\Administrator\.android\debug.keystore | openssl sha1 -binary | openssl base64


5. cmd 창에서 마우스 오른쪽 버튼을 눌러서 "표시"를 선택하고 커서로 출력 스트링을 선택하고 Enter를 누른다.


6. 페이스북 개발자 홈페이지의 Key Hashes에 Ctrl+V로 붙여넣기하고 맨 맽에 오른쪽에 있는 "변경 내용 저장" 버튼을 누른다.


------------------------------------------

주의할 점은, 앱 업로드용으로는 다른 별도의 Key Store를 사용하므로 그 키스토어에 대한 Key Hash를 추가로 지정해 주어야 한다.

------------------------------------------

그리고, 페이스북 개발자 홈페이지에서 Status & Review에서 general public?을 "예"로 해두어야 한다.

또한, 설정에서 Single Sign On에서도 "예"로 설정해 두었다.



항상 this, getActivity(), getApplicationContext() 쓸 때 혼동이 오네요.


싱글톤 객체 만들 때의 예제와 각 Context별 사용과 관련된 좋은 블로그 글이 있어서 링크를 걸어둡니다.


http://www.kmshack.kr/354

한 눈에 볼 수 있어서 좋으네요~


http://androiddrawables.com/


http://androiddrawableexplorer.appspot.com/



시스템에 있는 것을 활용하는 것은 양날의 칼 같습니다. 쉽게 쓸 수 있고 공통성이 있지만, 버전 업되면서 언제 바뀔지 (심지어는 없어질지) 모르죠..



위의 링크 중간 쯤에 내려가 보면 Download the Action Bar Icon Pack 링크가 있습니다.


Android SDK 설치 디렉토리에서 접근할 수도 있습니다.

[설치 디렉토리]\adt-bundle-windows-x86_64-20130729\sdk\platforms\android-18\data\res\drawable-hdpi

Android의 공식 API 가이드

http://developer.android.com/intl/ko/guide/topics/ui/drag-drop.html



다음은 android.view.View.OnDragListener 를 사용한 예제

조금 이상하게 동작하는 것 같으나, 소스가 간단하니 조금만 수정하면 될 듯...


http://www.techrepublic.com/blog/software-engineer/try-androids-useful-drag-and-drop-api/



Drag & Drop으로 순서를 바꾸려면 ImageView를 별도의 LinearLayout으로 각각 묶고... 다음을 Drop에 추가하면 된다.


View swapped = to.getChildAt(0);

to.removeView(swapped);

from.addView(swapped);



만약 원래 예제 처럼 빈 곳에 넣으려면 또 조금 수정하면 될 듯.

유용한 코드들이 많네요~


http://www.technotalkative.com/category/android/listview/

URL에서 이미지를 여러 개 받아와야 할 때 매우 유용한 소스입니다.


https://github.com/thest1/LazyList/


ImageLoader imageLoader=new ImageLoader(this); imageLoader.DisplayImage("http://127.0.0.1/image.php", imageView);


라이센스는 MIT license.

잘 정리된 블로그라고 생각됩니다.


http://blog.naver.com/PostView.nhn?blogId=mirazi9&logNo=140138890762


댓글에 보니 다음의 문장은 off로 해 두는 것이 보안에 좋다고 합니다~

register_globals = On

강추!!!


웹에서 UI를 통해 간단히 리소스(아이콘, 테마, 위젯 등)를 만들어서 다운로드 받을 수 있는 사이트


http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

공식 사이트에서 디자인을 위한 데이터를 다운로드 할 수 있습니다.


http://developer.android.com/design/downloads/index.html



http://developer.android.com/design/style/iconography.html


홈 페이지 내에서 액션바 아이콘 팩도 다운로드 받을 수 있습니다. (AI 파일)

한국소프트웨어 산업협회


2013년 노임단가

http://www.sw.or.kr/notice/view.asp?masteridx=1&idx=7223


2012년 기준 표준 용역비 산출 기준

http://blog.naver.com/aguplus?Redirect=Log&logNo=30173894961


위의 산출식에 2013년 특급기술자를 적용해 보면, 월별 직접인건비가 7,500,591원이고, 제경비가 110%로 8,250,650원이며, 기술료는 (7,500,591 + 8,250,650) * 20% = 3,150,248원이어서 이를 모두 합치면 18,901,489원으로 산정된다.

간접비 15%는 2,835,223원이므로 합하면 21,736,712원 (1달)


2달이면 37,802,978원, 여기에 간접비 15%면 5,670,446이고, 이를 더하면 43,473,424원


구글 검색 결과

Bluetooth Serial Port Profile


소스 설명 잘되어 있는 듯

http://goldenking.tistory.com/10


http://blog.naver.com/oh4zzang/40111958220


http://hardroid.net/profiles/blogs/bluetooth


소스 코드 첨부

http://gangsanilee.tistory.com/1252



임베디드 보드 & 소스코드

http://blog.naver.com/PostView.nhn?blogId=free2824&logNo=60108857440&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

Core Audio

http://www.slideshare.net/mobile/invalidname/core-audioios6portland


Audio Unit Hosting

https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/AudioUnitHostingGuideForiOS.pdf

아이콘 제작 응용 프로그램 

원래 $499라고 하는데 무료라고 함

기본 아이콘들이 많아 사용하기 좋을 듯...


http://www.syncfusion.com/downloads/metrostudio

'전공 관련 자료' 카테고리의 다른 글

색의 조합 추천 팔레트 사이트  (0) 2014.03.24
윈도우 소스코드 라인수  (0) 2014.03.07
APMSetup7 한글 문제 해결  (0) 2013.11.22
SW 개발 노임단가  (0) 2013.11.14
Linear Algebra by Prof. Gilbert Starng (MIT)  (0) 2012.05.14

안드로이드와는 달리 iOS는 MFi 인증을 얻어야만 블루투스 통신이 가능하다고 함

블루투스 4.0이라고 불리는 BLE를 사용하면 해결이 될듯 함

속도는 줄이고 대신 전원을 오래쓰도록 한 것임


검색해 보니 블루투스 4.0을 지원하는 동글들이 판매 중임

- 퓨전 inote BT-T06, anyclear BM42, 유니콘 XU-400B, [노벨뷰]NVV511, 아이노트 BU-4096 등


프로그래밍

http://weblog.invasivecode.com/post/39707371281/core-bluetooth-for-ios-6-core-bluetooth-was


공식

https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/AboutCoreBluetooth/Introduction.html


iOS 시뮬레이터에서 테스트하는 방법

https://developer.apple.com/library/ios/technotes/tn2295/_index.html



BLE 호환성을 검사해 주는 앱인듯...

https://itunes.apple.com/us/app/lightblue-bluetooth-low-energy/id557428110?mt=8



찾다보니 Bluegiga의 BLE112 칩이 자주 검색 되는 듯... 이 칩은 MFi 인증을 받은 것인가...


안드로이드처럼 SPP(Serial Port Profile)를 지원할 계획은 아주 없는 건지...ㅠ.ㅠ

Android에서 WiFi로 고프로의 영상을 받을 수 있는 듯...


VLC로 접근할 수 있으니 어디서든 볼 수 있을 것으로 생각됨.


https://github.com/moohtwo/Android-GoPro-Streaming

https://github.com/moohtwo/Android-GoPro-Streaming/blob/master/Gopro/src/com/mooh/gopro/GoproActivity.java


------------------------

이건 H/W 인터페이스로 USB를 통해 시리얼 통신으로 카메라 제어하는 듯...

http://www.appliedlogiceng.com/index_files/Page1039.htm


명령어들은 ATC 이런것 들이어서 모뎀과 비슷한 듯...


------------------------

Unofficial firmware tools

https://github.com/evilwombat/gopro-fw-tools


------------------------

built-in USB command mode도 있나 보네요...

https://github.com/evilwombat/gopro-usb-tools

지난번 포스팅 에서는 미디 노트를 단순히 AUSampler를 통해 출력하는 예제를 만들어 보았다. 지난번 예제에 코드를 추가하여 완성할 것이니 지난번 예제를 먼저 볼 것!

(지난 예제: http://bwoh.tistory.com/36)


이번에는 지난 예제에 .aupreset 파일을 추가하여 악기를 로딩하고 그 악기 소리를 내보는 예제를 만들어 본다.

LoadPresetDemo에 있는 Vibraphone.aupreset 파일을 추가하였다.

시퀀서(Sequencer)를 만들기 위해서는 여러 악기를 사용하는 것이 필수이므로 악기를 로딩하는 부분을 설명한다.


다음은 ViewDidLoad 함수이다. 지난번 예제에 코드를 추가한다. 

다음은 악기를 로딩하는 함수이다. 지난번 예제에 이 부분을 추가한다. 이 글의 밑에 있는 참고 문헌 부분에 있는 악기 로딩 설명을 참조할 것!



<References>


Apple에서 제공하는 데모 (매우 간단하니 소스 코드 필독!!!)

LoadPresetDemo

http://developer.apple.com/library/ios/#samplecode/LoadPresetDemo/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011214-Intro-DontLinkElementID_2


Audio Unit Hosting Guide (iOS)

PDF 파일

https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/AudioUnitHostingGuideForiOS.pdf

Web Page

https://developer.apple.com/library/ios/#documentation/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009492-CH1-SW1


Audio Unit Sampler (AUSampler) 악기 로딩 설명

http://developer.apple.com/library/mac/#technotes/tn2283/_index.html


Audio Unit Programming Guide (OS X)

http://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/AudioUnitProgrammingGuide/Introduction/Introduction.html