Programming/Android 56

[Android] 여러개 Intent를 묶어서 보내기.

앱을 만들 때, 제조사 또는 버전의 차이로 인해 인텐트 호출후 원하는 리스트가 표시되지 않을 때가 있다. 특히 카메라와 갤러리의 경우가 그렇다. 대부분의 개발자들은 호출 한번으로 카메라와 갤러리를 모두 보여주고 싶은데, 검색능력부족(?)으로 인해, 결국 따로 만드는 경우가 태반이다. 카메라와 갤러리를 동시에 호출할 수 있는 소스를 첨부한다. 먼저 인텐트들을 담을 리스트와와 카메라호출을 위한 인텐트, 그리고 패키지 검색을 위한 패키지 매니저, 마지막으로 카메라 패키지 정보를 담을 변수를 선언한다. final List cameraIntents = new ArrayList(); final Intent captureIntent = new Intent(android.provider.MediaStore.ACTION..

Programming/Android 2014.05.29

[Android] Android에서 "Unknown error merging manifest"

Android ADT 19(맞나??ㅎㅎ) 이상부터 Manifest.xml Merge 기능이 추가되었다. 메인이 되는 프로젝트의 project.properties 파일에 manifestmerger.enabled=true 를 추가해주면 된다. 하지만!!! Manifest의 내용이 중복될 경우, 중복되었다는 메시지를 보여주지만, 가끔 말도안되는 에러를 보여줄 때가 있다. 그중 하나가... "Unknown error merging manifest" 라는 메시지 인데..... 정말 엄청난 삽질을하다가.. 어느 블로거에 의해서 문제를 해결하게 되었다. 메인 프로젝트의 android : targetSdkVersion이 라이브러리 프로젝트의 targetSdkVersion 보다 낮으면 오류가 표시되므로 라이브러리의 ta..

Programming/Android 2014.02.20

[Android] XML drawable 을 코드로 만들기(xml selector를 java code로 변환)

StateListDrawable states = new StateListDrawable(); states.addState(new int[] {android.R.attr.state_pressed}, getResources().getDrawable(R.drawable.pressed)); states.addState(new int[] {android.R.attr.state_focused}, getResources().getDrawable(R.drawable.focused)); states.addState(new int[] { }, getResources().getDrawable(R.drawable.normal)); imageView.setImageDrawable(states); //YOUR IMAGE HERE..

Programming/Android 2014.02.20

[Android] WebView 에서 getGeoLocation이 동작하지 않을 때( getGeoLocation is not working on Android Webview) onGeolocationPermissionsShowPrompt

웹뷰를 사용하다가 보면 getGeoLocation을 사용할때가 있다. 아이폰에서는 전혀 문제 없이 동작하는데 안드로이드! 이놈에서만 위치정보를 받지 못한다. 인터넷을 무쟈게 검색후.. 해답 발견. WebChromeClient의 아래 Method를 overriding하여 구성해줘야하는데 코드는 다음과 같다. @Override public void onGeolocationPermissionsShowPrompt(String origin, Callback callback) { final String myOrigin = origin; final GeolocationPermissions.Callback myCallback = callback; CommonDialogs dialog = new CommonDialogs..

Programming/Android 2014.02.18

[Android] 다이얼로그(Dialog) 닫기 방지. 닫히지 않게 하기.

다이얼로그로 로그인 화면이나, 비밀번호 입력창 등을 만들기도 한다. 가장 많이 사용 하는 것이 AlertDialog.Builder 를 사용할텐데, 기존에 제공하는 리스너들을 Overriding 해서 사용할 경우 Ok, Cancel 버튼 클릭시 원하지 않게 창이 닫기게 된다. 아래의 방지코드를 넣게 되면 창이 닫기지 않게 된다. dialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface arg0) { Button positiveButton = ( (AlertDialog) arg0 ).getButton(AlertDialog.BUTTON_POSITIVE); //Or Alert..

Programming/Android 2013.12.17