Bucket Place/Android 22

Deep linking, Part 1. Android

1. 여는글 요즘 많이 대두가 되고 있는 Deep linking에 대해서 알아보도록 합시다. 그 첫번째 시간으로 안드로이드에서 Deep linking을 하는 방법에 대해서 알아보도록 합시다. 2. 단계1: Deep linking 추가하기 Deep linking에 의해서 실행될 Activity를 선택하고, Manifest파일에서 해당 Activity 하위에 다음의 Intent를 추가하면 됩니다. 이외에 스키마를 잘 조정하면 자신만의 deep linking 주소를 생성할 수도 있습니다. 3. 단계2: 앱과 웹을 연결 ㄱ. 구글 개발자 콘솔에서 연결할 어플리케이션을 선택합니다. ㄴ. 왼쪽 탭에서 Services & APIs 메뉴를 선택합니다. ㄷ. 하단부에 APP INDEXING FROM GOOGLE SEAR..

[Android] Custom Radio Button / Multi-line Radio Button

1. 들어가면서 오랜만입니다. 오랜만에 약간의 여유시간이 생겨서 이렇게 포스팅을 하게 되었습니다. 요즘 주된 작업이 안드로이드개발이라서 주제를 안드로이드로 잡았습니다. 특히, 오늘은 안드로이드의 기본 컴퍼넌트들 중의 하나인 라디오버튼을 커스텀 하는 방법을 알아보려고 합니다. 기본적으로 라디오 버튼을 커스텀하는 방법에 대해서 알아보고, 라디오 버튼을 묶어주는 라디오 그룹의 제한 사항을 알아보도록 하겠습니다.. 2. 커스텀 라디오 버튼(Radio button custom) 기본적으로 라디오 버튼을 생성하는 코드는 아래와 같습니다. 이는 체크박스에서도 그대로 적용이 가능합니다. 기본적으로 생성된 라디오 버튼의 모습을 살펴보면 아래와 같습니다. 이 버튼을 살펴보면 사람들이 무엇을 하고 싶어할까요? 1) 글자 크..

[Android] Actionbar 메뉴 클릭 이벤트 / activity + fragment

1. 들어가면서 개발 일정에 밀리고 밀려서 점점 공을 들여서 글을 쓰는 빈도가 적어지고 있다. 살짝 반성중... 오늘은 Actionbar menu item(액션바 메뉴 아이템)을 컨트롤하는 방법에 대해서 알아보겠다. 액션바에 있는 메뉴가 Activity전체에 대해서 똑같이 움직이길 바랄때도 있을 것이고, 특정 Fragment마다 다르게 움직이길 바랄 수도 있다. 예를 들어서, 현재 액티비티 전체에서 검색은 공통적으로 움직이게 하고 싶지만, 공유는 각각 프레그먼트마다 다르게 움직이길 바랄 수 있다. 어떻게 하면 이 것이 가능할가? 이 글은 프레그먼트에 대한 개념이 잡혀있어야지 이해하기가 쉬울 것이라고 생각한다. 아래에 나와 있는 동작 로직 및 순서를 보면 그 해답이 보이기 시작할 것이다. 2. 프레그먼트에..

[Android] WebView fatal signal 11 (sigsegv) / glEndTilingQCOM: 0x502(Hardware Acceleration)

이번 글은 글의 형식에 제한받지 않고, 대략적인 정리 형태로 작성해보겠다. 일단, 웹뷰를 사용하다보면 어플리케이션이 갑자기 죽는 경우를 발견할 것이다. 그것도 대책없이 "fatal signal 11"이라는 단순명료한 에러메세지와 함께...특히, AVD나 Genymotion을 이용하여 테스트를 할때에는 발견되지 않는 에러이다. 이 에러를 해결하기 위해서 다양한 논의가 진행되고 있다.각각의 사람들은 예상되는 문제를 제기하고, 그에 대한 해결법을 이야기하였다. 나도 이 문제를 해결하기 위해서 수많은 구글링을 통해서 다양한 옵션을 적용해보았다. 그럼, 여러 사람들이 이야기하는 문제점과 각각에 대한 해결법을 생각알아보자.(물론, 이것은 여러분에게 해결책이 되지 않을 수 있다. 내가 해결한 방법은 맨아래서 다시 이..

[Android] Web-view를 위한 기본적인 세팅들 & Lint tool

1. Web-View에 대한 기본적인 세팅 - Web-view를 사용하기 위해서 기본적으로 뷰를 불러왔을때 세팅해줘야 하는 값들이 있다. 1) javascript 실행여부 2) default URL(실행시 켜지는 URL 설정) 3) 웹뷰를 실행할 때 사용할 브라우져 설정 ( 예제에서는 사용자가 지정한 브라우져가 실행되게 되어있다.) // web-view settings mWebView.getSettings().setJavaScriptEnabled(true);// java-script ok mWebView.loadUrl([YOUR_SITE_URL]); // to set first url mWebView.setWebViewClient(new WebViewClient());// web-view settings..

[Android] ViewPager Problem in Fragment

[현재의 일반적인 안드로이드 코딩] Fragment를 지원하지만, Fragment 안에 Fragment가 들어 가지 못하는 버전이 있다.(진저브레드~아이스크림센드위치까지...) 현실적으로 키켓에 맞춰서 코딩을 하면 사용자수가 한 10%로 한정되기 때문에 이에 대한 대응을 해줘야 한다. Activity의 페이지 전환을 Fragment로 갈아치우는 형식으로 만드는 것이 대세인 세상이 되고 있다. [Viewpager Problem in Fragment] Fragment에서 ViewPager를 사용하려고 하면 다음과 같은 오류가 발생한다.가끔씩 Viewpager에서 스왑핑시 화면이 사라지는 것을 볼 것이다. (ViewPager 프로그먼트 사라짐) 영어로 검색한다면 viewpager fragment disappe..

[Android] SQLite 데이터베이스 사용하기

들어가면서... 안녕하세요. 오늘은 안드로이드에 내장으로 들어있는 SQLite 사용법에 대해서 알아보도록 하겠습니다. SQLite는 MySQL, Oracle 10g, 11g 등과 같은 RDBMS입니다. 문법 또한 거의 95%이상 동일하다고 보시면 됩니다. 제가 SQLite를 안드로이드에서 처음 사용해본 것은 한 3년 전 이었던것 같습니다. 그때는 아무것도 모르고 SQL문을 모두 적어서 사용했었는데, 내장되있는 훌륭한 함수가 많은 것을 알게되었죠 ' ' / SQLite를 사용하는 방법은 단순합니다. 데이터베이스를 컨트롤 해줄 SQLiteOpenHelper 클래스를 생성해주고, 데이터를 저장할 클래스를 만들어 줍니다. 목표 오늘의 목표는 간단한 SQLiteOpenHelper 클래스를 정의하고 이를 사용하여 ..

[Android] ActionBar

들어가면서 안녕하세요. Bucket Place 모바일 개발자 Cloud Travel입니다. 오늘은 ActionBar사용에 대해서 세세하게 알아보려고 합니다. Honycom(API 11) 사용이 가능하게 되고, 현재는 안드로이드 개발에서 일반적으로 모든 어플리케이션이 포함하고 있는 부분이 ActionBar입니다. ActionBar는 기존에 있던 메뉴의 기능을 확장하여 화면 상단에 붙여서 사용할 수 있게 해줍니다. 또한, ActionBar의 하위 호완성을 위해서 sherlock에서 제공해주는 라이버러리를 사용했었지만, 사용이 일반화가 된 현시점에서 하위 호완성을 위해 구글 자체적으로 android-support-v7-appcompat 라이브러리를 제공하기 시작했습니다. 목표 오늘의 목표는 다음의 화면중 1번..