본문 바로가기

반응형

안드로이드

Intent 를 이용하여 POST 방식의 주소에 파라메터를 함께 전달하는 방법 ACTION_VIEW 를 이용해서 프로그램에서 외부 웹브라우저를 이용하여 웹을 연동할 때 바로 POST 방식으로 파라메터를 던지는 경우 사용할 수 있는 방법이다. 땡규~ Ziteng Chen The Android Browser support 'viewing' javascript, for example the following code can launch the Browser app to show an alert dialog: String finalUrl = "javascript:alert('hello')"; Intent browserIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(finalUrl)); startActivity(brows.. 더보기
proguard 설정 후 정상적으로 작동하지 않는 경우 type parameter 가 자꾸 없다고 나올때 이번에 안드로이드 프로젝트를 진행하면서 Netty 라이브러리를 사용하였습니다. Netty 로그를 보니 4.1 베타버전부터는 안드로이드 4.0 이상의 버전을 정식으로 지원한다고 하네요. 그래서 기존에 4.0버전에서 4.1 베타버전으로 변경 후 프로가드 설정에서 Netty 에 대한 설정을 다음과 같이 하고 진행하였습니다. # ignore netty lib warning -dontwarn io.netty.** # netty 4.0 -keep class io.netty.** { *; } -keep interface io.netty.** { *; } # Slf4j for android -keep class org.slf4j.** { *; } -keep interface org.slf4j.** { *; } # Jz.. 더보기
ADT 23 버전 업데이트로 인해 annotation.jar android dependencies 오류가 발생할 때 해결방법 23.0.2 버전이 배포되었습니다. 23버전까지만 업데이트 하셨던 분들은 23.0.2 버전으로 업데이트 하시면 아래와 같은 설정을 할 필요가 없습니다. 이번 ADT 23 버전으로 업데이트하면서 annotation.jar 파일이 사라져버려서 생기는 오류입니다. 아래 파일을 받으셔서 ADT 가 설치된 폴더 /tools/support/ 위의 폴더에 저장하시면 됩니다. 해당 파일도 함께 첨부하였습니다. 더보기
Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Please check logcat output for more details. Launch canceled! 정상적으로 apk 가 생성되고, 테스트 기기에 apk를 설치하는 도중에 이런 에러가 발생하였습니다. 구글링 결과 AndroidManifest.xml 파일내의 package 명칭을 영문소문자만 사용해야 한다는 규칙을 어긴 경우 자주 볼 수 있다고 하네요. 하지만 나의 프로젝트는 정상적으로 영문자와 '.' 기호만 사용하여 패키지를 적어 놓아서 위와 같은 경우가 아니었습니다. 저의 경우는 몇몇 서비스와 리시버가 별도의 프로세스로 동작하도록 분리하여 놓았습니다. 프로세스 네이밍에 문제가 있었습니다.. 더보기
연결 종료 전 기기쪽에서 연결이 먼저 끊어진 경우 이번에 블루투스 프린터를 제어하는 일종의 안드로이드 라이브러리(?)를 하나 만드는 중인데요. 안드로이드 타겟버전은 API 14 (아이스크림센드위치 4.0)으로 작업중이고, 블루투스 프린터는 1-N의 접속밖에 처리하지 못하는 블루투스 모듈이 들어간 것으로 확인하였습니다. 이번에 가장 골머리 앓은 내용은 안드로이드 기기쪽에서 연결 이후, 연결 해제를 둘다 처리하면 간편한데, 간혹 기기의 전원문제나 기타 등등의 이유로 기기가 멈추거나 전원이 꺼진 것을 바로 체크하지 못하는 것을 확인하였습니다. 안드로이드에서 제공하는 블루투스 어댑터, 디바이스, 소켓을 이용해봐도 전원이 꺼진 기기가 아직도 연결되어 있고, OutputStream을 통한 데이터 전송도 아무 오류없이 전달되는 것처럼 보입니다만, 눈앞에 전원이 꺼진.. 더보기
새로 변경된 gcm, google play service lib 를 이용하여 gcm 수신방법 구현하기 오랜만에 안드로이드 관련 글을 쓰네요.. 우분투에 푹 빠져 근 2주일을 살았습니다. 이제 기존 윈도우 만큼은 아니더라도 거의 불편함을 느끼지 않고 사용하고 있습니다. 자. 오늘은 기존 gcm 라이브러리가 deprecated 되었고 gcm 라이브러리는 google play service 라이브러리에 포함되어 배포되고 있습니다. 이번 글은 developer.android.com 의 Set Up Google Play Serivces SDK 라는 부분을 참고하여 작성하고 있습니다. 그리고 중요한 것중 하나가 gcm 과 관련된 WakefulBroadcastReceiver 가 v4 라이브러리에 포함되어 있으므로 꼭 android-support-v4.jar 라이브러리는 추가 해주어야 한다는 것 입니다. 포함되었다고 .. 더보기
우분투기반에서 eclipse device 에 ???? 로 기기가 정상적으로 잡히지 않는 경우 해결방법 연결되는 기기가 어떤 기기인지 인식을 정확하게 하지 못해서 일어나는 증상으로 udev 가 접속될 때 vendorId, productId등을 명시해서 접속한 장비가 어떤 회사의 제품인지 알려주면 됩니다. 안드로이드 개발에 있어서 필수입니다. 안드로이드 개발환경을 구성하는 글은 ioriy2k 라는 블로그를 운영하시는 분의 글로 대신합니다.http://ioriy2k.pe.kr/archives/6147 위 글을 보시면 trouble shooting 글중에 하나가 제목과 관련된 해결방안을 제시한 것인데 제품항목이 다양하지 않아서 검색해보았습니다. git 허브에 잘 정리해놓은 분이 이미 계서서 git 사이트도 링크를 걸어둡니다. https://github.com/M0Rf30/android-udev-rules/blo.. 더보기
Fragment 에서 startActivityForResult() 사용하여 onActivityResult() 로 이벤트 전달이 안되는 경우 Fragment 에서 startActivityForResult() 메소드를 사용하여 다른 엑티비티를 실행 후 결과값을 전달받는데 startActivityForResult()를 실행했던 Fragment가 아니라 부모 Activity 나 다른 Fragment에서 해당 이벤트를 처리하고 싶은 경우가 있다. 이런 경우라던지 단순히 다른 Fragment 나 부모 Activity에서 onActivityResult() 를 override 했는데 이벤트를 타지 않는다고 투덜댈 수 있다. 하지만 Fragment 에 스펙을 찬찬히 살펴보면 Fragment 자체도 Fragment.startActivityForResult() 라는 메소드를 가지고 있다. Activitiy.startActivityForResult()를 가지고 .. 더보기

반응형