본문 바로가기

분노=프로그래밍

ADT 23.0.2 ResourceNotFoundException 문제 롤리로이드(Android L) 정식 버전이 업데이트 되었다. 회사 담당 업무가 안드로이드이기 때문에 신속하게 Eclipse에서 SDK 21(Android L) 다운과 동시에 오랜만에 ADT 버전도 업데이트! ADT 업데이트하고 어플리케이션 빌드 타겟을 SDK 21로 바꿨을 뿐인데 ResourceNotFoundException이 발생한다. 소스 수정한 거 없는데.. =_=...천하의 구글도 setText 안에 들어갈 인자를 String으로 형변환하라는 쓸모없는 얘기만 가득하다.난.. Context.getString에서 오류난다고..ART(Android RunTime) 지원문제로 빌드하는 방식이 바껴서 영향이 가는건가 오만가지 잡생각이 다 들었지만.. 결국 문제는.. 하아. 문제 해결 방법- 오류 내용 : .. 더보기
[AudioRecord 오류]Unable to retrieve AudioRecord object, can't record 오류 메시지 : Unable to retrieve AudioRecord object, can't record.앱이 죽지는 않으나 녹음 데이터를 저장한 파일을 재생하면 음성출력에 공백이 있거나, 찌지직 거리는 소리가 남. 상황 : 구글링으로 누군가 구현한 샘플 소스를 이용해서 구현한 후 하드한 테스트를 거쳤더니 상기와 같은 오류 로그가 발생했다.(*하드한 테스트 = 녹음 시작/종료 빠른속도로 번갈아가면서 실행. 초당 3~4연타는 하는 듯) 간헐적으로 NullpointerException이 떨어지면서 앱이 죽기도. 수없이 구글링했지만, native(c) 쪽에서 객체 생성 중 오류가 발생했을 때 오류를 떨구는 안드로이드 OS상의 로그만 검색될 뿐해결책을 찾지 못함. 추측 : AudioRecord Referen.. 더보기
파일 복사(Spring FileCopyUtils 사용) org.springframework.util.FileCopyUtils 사용 스프링 페이지 유틸에서 성능문제가 있다고 해서 소스 확인해봤는데 다행히 파일 유틸은성능때문에 노심초사했던 bufferedInputStream도 Wrapping처리 되어있었기에 그냥 가져다 씀. 소스를 까보니 내부에서 오류 발생 시 catch에서 따로 로그라거나 throws 같은 처리가 없이 그냥공백 공간이라서 찝찝해서 validation체크만 열심히 추가된 듯. 더보기
GCM 이용하기 3/3 Google Cloud Messging For Android(3/3) 거의 다 왔다. 정말이다. 하단에 추가된 GCM을 이용한 메시지 발송 샘플을 구현하면 실제 메시지를 발송할 수 있으며, 이를 커스터마이즈하여 실제 프로젝트에서도 사용가능하다. 1.GCM을 이용한 Message 발송하기import java.net.URLEncoder; import com.google.android.gcm.server.Message; import com.google.android.gcm.server.Result; import com.google.android.gcm.server.Sender; /** * GCM 메시지 발송을 위한 샘플 구현 소스이다. * 하단의 내용을 커스터마이즈하여 실제 서버단에서 발송모듈로 구현 가능하다.. 더보기
GCM 이용하기 2/3 Google Cloud Messaging for Android 앞서 Google Cloud Messaging이 무엇인지에 대해 알아보았다. 이제부터는 실제 구현한 샘플 소스를 통해 어떻게 사용할 수 있는지 알아보도록 한다. GCM 메시지 발송을 하기 위해선 Registration Id를 필요로 하므로 GCM 적용을 통해 RegistrationId 발급 및 메시지 처리를 구현한 어플리케이션에 소스를 첨부하니 참고 바란다. 구현 순서는 다음과 같다. 1.어플리케이션 프로젝트 내 GCM ID 발급 요청 프로세스 2.GCM Cloud Message를 처리하기 위해 GCMBaseIntentService를 상속한 GCMIntentService의 구현 1. MainActivity.java - 어플리케이션 내 GCM .. 더보기
GCM 이용하기 1/3 Google Cloud Messaging for Android(1/3) Google Cloud Messging이란 Google에서 제공하는 메시지 발송 서비스로서자신이 개발한 어플리케이션을 사용하는 사용자들에게 메시지를 발송할 수 있는구글에서 제공하는 서비스 시스템이다. 본 주제는 크게 3개로 나뉘어 포스팅 되며, 포스팅 순서는 다음과 같다. 1.Google Cloud Messaging for Android 개요2.구현 - GCM 적용 Sample Application 구현3.구현 - Sample Application에 메시지 발송을 위한 Sample 구현 그럼 이제부터 GCM이란 무엇인지 먼저 알아보도록 하자. 1. GCM이란? Google Cloud Messaging(이하 GCM으로 통칭)은 Goog.. 더보기
jdbc, dbcp 차이? 오늘 일과중에 예전에 학원에서 같이 교육받았던 동생한테서 연락이 와서 이런 저런 얘기를 나누다가 요즘은 뭐 배우고 있냐고 물었더니, JDBC랑 DBCP를 배웠는데 갑자기 DBCP가 더 빠르다고 말한다. 왠지 어감이 JDBC와 DBCP의 관계를 오해하는 것 같아, 이 글을 포스팅 하게 되었다. JDBC와 DBCP의 정의JDBC : Java Data Base Connectivity. 한글로 번역하면, 자바 데이터 베이스 연결. 정의는 DataBase와 연결하기 위한 Java Interface이다.DBCP : DataBase Connection Pool. 역시 간단하게 정리하면 DataBase와 Connection을 맺고 있는 객체를 관리하기 위한 Connection Pool 일반적인 JDBC의 프로세스는 다.. 더보기
ios 회전 시 뷰의 리사이즈 문제 지난 8월 ios 라이브러리 유지보수중 겪은 문제이다. 제공하는 라이브러리는 적용하는 개발자에게 뷰를 제공하며 뷰를 터치하면 새로운 뷰 컨트롤러와 그 안에 존재하는 웹뷰를 띄우게 된다.(하단 그림 참조) 유지보수했던 앱 구조 고객사의 요청으로 회전에 따른 뷰를 구현하고 있었는데 다음과 같은 문제가 발생했다. VerticalOrientation(정상) HorizonOrientation(비정상:하단 흰색부분이공백임) SDK 내부 구조는 UIViewController.view 에 mainView 라는 웹뷰를 가지고 있음. 스크린샷 및 시뮬레이팅 결과 좌표가 깨진다고 추측되어 다음과 같이 수정. 기존 -(void)resizeView{ self.view.frame = CGRectMake(.... mainView... 더보기
BigData 세미나 준비자료 회사에서 세미나 준비로 작성한 빅데이터 ppt입니다. -사용 시 출처를 밝혀주시면 감사하겠습니다. 더보기
duplicate symbols for architecture i386 ErrorMsg : duplicate symbols for architecture i386 사실 i386, armv6, armv7는 중요하지 않다.(적어도 내 경우는 그랬음.) i386 - 시뮬레이터용 armv6 - 아이팟(apple 구 기기들) armv7 - 아이폰 3gs부터 해당했던가. 자세한 건 구글링 의 의미인데, 어디서 나든 에러는 에러 아닌가 -_-; 컴파일 옵션은 Other Linker Flags에 -ObjC -all_load -lxml2 였으며 첨부 라이브러리는 Facebook 3.0 SDK를 사용하고 있엇다. 수많은 에러메시지를 요약하자면 duplicate sumbol _OBJC_CLASS_$_ 메시지에 SBJSON, SBJsonBase, SBJsonParser, SBJsonWriter .. 더보기